Вертикаль власти

eto'o

Хакер, номер #080, стр. 080-124-1

Пишем умную систему управления ботнетом

Ты, конечно же, читал в нашем журнале статьи о создании собственного ботнета. Мудрые авторы в кодинге рассказали тебе всю правду о том, как можно написать элитного трояна, которому нипочем ни файрволы, ни Касперский со своим антивирусом, ни даже опытный и внимательный пользователь. Ушлые дядьки во взломе поведали тебе, как можно впарить такого трояна и заразить пару тысяч машин. Сейчас же пришло время разобраться с тем, как написать продвинутую систему для управления ботами. Ведь какими бы умными и мощными не были твои бойцы, без достойного и авторитетного командира и сильной армии не получится.

[concept]

Прежде всего, я объясню, о каких именно ботнетах мы говорим. Ты не раз слышал и даже читал в нашем журнале, что боты управляются по IRC - к примеру, в июньском номере Форб писал о беспалевной настройке ircd, а в июле Крис рассказывал, как можно увести IRC-ботнет. Действительно, до недавнего времени существенная часть ботнетов управлялась по IRC. Главная причина этому заключается отнюдь не в удобстве такого подхода, а в том прискорбном факте, что чуть ли не единственный, доступный нахаляву бот Agobot с его сотнями переделок, использует именно такую концепцию.

Устаревшую концепцию, которая естественным образом отмирает, уступая дорогу более прогрессивным технологиям. Сейчас после ряда публикаций в «кодинге» и «взломе», по идее у тебя не должно быть проблемы соорудить собственного бота, который будет получать команды и управляться через HTTP. Концепция здесь следующая. Бот подключается к web-серверу, отправляет элементарный GET-запрос на получение определенного файла и в качестве ответа получает некоторую команду, которую и начинает выполнять. На практике оказывается чрезвычайно удобно вместо статичного текстового файла с командой использовать программу, написанную на одном из языков, пригодных для использования в web-среде, которая будет производить регистрацию ботов и выводить им команды. При этом с точки зрения клиентов ситуация ничуть не меняется: все также запрашивается GET /file и получается команда. Боту и невдомек, что на сервере выполняется специальная программа, которая регистрирует обращение, заносит информацию в системный журнал и генерирует приказ.

[plus-plus]

Какие плюсы у такого подхода? Их много, считай сам:

* Легкость организации. Привести такую систему в состояние готовности, если есть рабочий скрипт - дело, самое большое, пяти минут. Тебе не потребуется настраивать никакой дополнительный софт, не придется возиться с настройками, поднять систему можно на любом хосте, где можно выполнять web-программы.

* Стабильность и безопасность. В самом деле, замаскировать такой сервис - дело элементарное. Скажу тебе по секрету, можно сделать так, что снаружи ничего заметить будет просто нереально.

* Благодаря conn-back концепции, клиенты с «серыми» адресами будут также в обойме. Установить на них socks-сервер конечно не получится, но в качестве DDoS-бота заюзать можно.

* Возможность индивидуальной работы. Становится реальным, при использовании некоторой идентифицирующей клиентов информации (ip-адрес, уникальный fingerprint системы или иной параметр), варьировать выполняемые команды. К примеру, захваченные машины из США и Европы разумно использовать для socks-сервиса, в то время как российские машинки использовать для кардинга нельзя и поэтому из них получатся хорошие DDoS-боты или спам-релеи. Более того, если подключить к своему ботнету несколько мощных серверов на крупных каналах, то разумно для них организовывать собственное задание, а не использовать в общей мясорубке.

Содержание  Вперед на стр. 080-124-2
ttfb: 3.4058094024658 ms