Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #72, ДЕКАБРЬ 2004 г.

Жизнь по сценарию

Докучаев Дмитрий aka Forb

Хакер, номер #072, стр. 072-064-4


Перекидываем почту

Представь ситуацию: ты завладел ящиком какого-нибудь богатого иностранца и желаешь ознакомиться с его почтовой корреспонденцией. Но для того чтобы почитать входящие письма, необходимо найти хороший прокси-сервер и каким-то образом их сохранить. Предлагаю тебе радикальный метод разрешения всех проблем: используй скрипт, скачивающий все письма с одного ящика с последующей их отсылкой на другой. Сценарий поможет тебе решить все проблемы сразу. Ясен пень, что запускать перловый скрипт нужно с далекого буржуйского шелла.

Способности редиректора

sub usage {

print "Usage: $0 [options]...\n";

print "Options are:

-f: Hostname of pop3 server

-u: Username for login

-p: Password for login

-t: Hostname of smtp server

-s: Default subject (if none)

-m: Md5 authorization (disabled by default)

-d: Delete ALL messages after redirecting

-h: This help\n";

exit

}

Процедура usage() сразу раскрывает все возможности сценария. Во-первых, скрипт умеет принимать параметры smtp и pop3 сервера прямо из командной строки. Во-вторых, редиректор может авторизоваться защищенным методом, в результате которого все сниферы пойдут лесом. И в-третьих, сценарий способен удалить все сообщения после их отсылки на хакерский ящик. Эту фичу следует юзать с особой осторожностью.

Надо заметить, что мое творение использует в работе модуль Net::POP3. Он не поставляется по дефолту, поэтому требует дополнительной установки. Чтобы заинсталлить пакет, выполни команду perl -MCPAN -e install Net::POP3.

Отлавливаем пароли

Если ты думаешь, что я буду рекламировать самопальный снифер, ты ошибаешься. Случается, что хакер перехватывает конфигурационный файл какого-нибудь FTP- или почтового клиента. Теперь его задача - отловить пароль на почту либо файловый архив. Для выполнения задуманного можно прибегнуть к программам типа openpass или recover, но не факт, что они дадут желаемый результат. Для альтернативного решения задачи можно применить мой скрипт, прослушивающий порт и полностью эмулирующий сервис. При этом сценарий общается с клиентом, выполняя функцию рабочего сервиса.

В комплекте со сценарием идут два текстовых файла. В первом изложены ответы на команды при работе с FTP, а во втором - при POP3 аутентификации. В зависимости от протокола, создай файл rfc.txt и положи его в каталог со скриптом. Затем запускай сценарий из командного интерпретатора (чтобы окошко не закрылось раньше времени) и трави клиента на локальный хост. Глупая программа, ничего не подозревая, соединится с фэйковым сервисом и передаст ему драгоценный пароль. Ты сразу же увидишь его в выводе сценария.

Эмуляция сервиса

le($client=$sock-> accept()) { # Когда соединение произошло

while(1) { # Организуем бесконечный цикл

$rfc[$i]=~s/\n/\r\n/; # Добавляем символ перевода каретки в фейковый ответ сервиса

$client-> send("$rfc[$i]"); # И шлем его клиенту

Назад на стр. 072-064-3  Содержание  Вперед на стр. 072-064-5