Следующая новость
Предыдущая новость

Эволюция ботов. Как владельцы ботнетов скрывают свои сети и обходят ограничения

06.10.2017 13:57

В мире существуют разные боты. Например, боты, которые бороздят просторы морей, или просто стоят на месте — как, например, буддистские боты (если что, это такая религиозная постройка). Но если ты читаешь ][, то наверняка догадался, что речь пойдет не про вышеописанных ботов и даже не про ископаемые бабушкины чеботы, а про автономно действующие вредоносные программы, способные выполнять поступающие извне команды и объединяться в ботнеты.

Одним из первых крупнейших ботнетов принято считать сеть, созданную в 2004 году с помощью почтового червя Beagle. Этот червь имел собственную реализацию протокола SMTP, с помощью которой рассылал себя по электронной почте. Заодно в нем был руткит-модуль, который позволял ему скрывать свое присутствие на зараженной машине.

С тех пор человечество пережило множество нашествий бот-сетей различного калибра. Ушел в историю и Rustock, спамивший с пулеметной скоростью в 192 письма за минуту, и Conficker, заразивший 10,5 млн машин по всему миру. Это, к слову, был первый в истории ботнет, за любые сведения о создателях которого парни из Microsoft предложили награду в 250 000 долларов. «Wanted, dead or alive», как пел когда-то старик Бон Джови.

Немного об авторе

Как ты знаешь, в ][ пишут не журналисты, а IT-спецы. Павел Шалин — один из таких. Он работает аналитиком в компании Dr.Web, и при этом ухитряется плодотворно писать под псевдонимом «Валентин Холмогоров», и не только на тему малвари и хакерства, но и довольно популярную фантастику. Из книг Павла, написанных на близкие любому хакеру темы, мы бы тебе посоветовали прочесть «Бумажное небо» и «PRO Вирусы».

Первые бот-сети были примитивными. Они имели простую звездообразную структуру, в центре которой располагался управляющий сервер (Command and Control Server, C&C), а на вершинах лучей звезды — инфицированные хосты. Команды и конфиги передавались ботам по стандартным протоколам, например, через старый добрый IRC. В этом случае трой подключался к определенному каналу и начинал слушать команды, которые ботовод отправлял прямо в чат. Самое слабое место такой архитектуры очевидно: достаточно грохнуть центральный сервер, и сеть становится неуправляемой, а отдать ботам команду на смену C&C уже не получится.

Следующим этапом эволюции ботнетов стало появление алгоритмов динамической генерации имен управляющих серверов — DomainGenerationAlgorithm, или, сокращенно, DGA. Суть этой технологии проста. Бот содержит код, который генерирует доменные имена по специальному алгоритму. В результате получается домен, состоящий, например, из определенной последовательности символов латинского алфавита и цифр. Их легко отличить — зарегистрировать такой домен психически здоровому человеку в голову попросту не придет.

На этом домене и поднимается управляющий сервер. Если этот сервак однажды прикажет долго жить, нужно лишь зарегистрировать следующий и запустить на нем админку. В свою очередь, бот, не получив отклика от своего C&C, генерирует несколько новых адресов и начинает опрашивать их по очереди, пока не найдет работающий.

Живучесть ботнета, таким образом, заметно повышается, да и ботовод получает уникальную возможность сберечь пару шекелей: некоторые регистраторы в погоне за прибылью позволяют своим клиентам регистрировать домены сейчас, а платить за это потом. Если деньги не поступают, домен через какое-то время просто отрубается. Используя этот лайфхак, некоторые особо прижимистые ботоводы меняют C&C раз в пару недель, экономя себе копеечку на пиво.

Некоторые ботоводы параллельно использовали сразу несколько управляющих серверов на отдельных доменах, разбивая свой ботнет на подсети. Вот так, например, выглядит дизассемблированный фрагмент модуля DGAвируса Win32.Rmnet (для генерации доменных имен используется алгоритм LCG, линейный конгруэнтный метод).

Продолжение статьи доступно только подписчикам

Cтатьи из последних выпусков журнала можно покупать отдельно только через два месяца после публикации. Чтобы читать эту статью, необходимо купить подписку.

Подпишись на журнал «Хакер» по выгодной цене!

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта, включая эту статью. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов. Подробнее о подписке

1 год

4590 р.

Экономия 1400 рублей!

1 месяц

490 р.

25-30 статей в месяц

Уже подписан?

Источник

Последние новости