Скрыть объявление
Для безопасных сделок с продавцами рекомендуем пользоваться Гарант сервисом

Обзор о методах коммуникации ботнетов.

Тема в разделе "Прочие", создана пользователем hackdays, 13/12/13.

  1. hackdays

    hackdays Очень активный ползователь

    Сообщения:
    159
    Симпатии:
    0
    Данный документ носит лишь исследовательский характер и не является призывом к совершению
    неправомерных поступков, нарушающих законодательство вашей страны!


    Существует достаточное количество способов для поддержания связи с ботнетом.
    У каждого способа
    имеются свои плюсы и минусы. Конечно же, нет универсального. Рано или поздно, исследователи
    доберутся до вашего url/командного центра и начнут "ломиться"(писать абузы и т.д) на сервер.

    Разве что только есть методы, которые бы усложнили жизнь исследователям.
    В данной статье я постараюсь как можно более подробно рассмотреть все пункты, а также привести
    пример собственной реализации(в самом конце).


    Технология "сервер-клиент".
    В теле бота размещается url командного центра, в последствии с которым он связывается.

    Для защищённости используется:
    - Шифрование url.
    - Шифрование траффика между сервером и клиентом.
    - Работа с https протоколом.

    Плюсы:
    - Невозможно анализировать траффик.
    - URL зашифрован.

    Минусы:
    - URL легко можно узнать, отреверсив сэмпл(зависит от навыков исследователя).

    Usability: 80% public ботов используют данную технологию.


    Технология "FastFlux".
    FastFlux используется в основном для скрытия основных управляющих серверов. Основная идея данного
    метода заключается в том, что множество IP-адресов может быть связано лишь с одним доменом. Это
    достигается за счёт смены DNS записей у домена.
    Более подробно: http://www.honeynet.org/node/132
    http://www.honeynet.org/node/138

    Плюсы:
    - Очень сложно отключить и выявить fastflux сеть.
    - В качестве командного центра может выступать обычный белый сервер.

    Usability: используется в основном в проектах с большим бюджетом(и соотв. окупаемостью), а также
    техническими возможностями.
    Proof: securelist.com/ru/analysis/208050533/Ekonomika_botnetov


    Технология "P2P".
    P2P - децентрализованная сеть. В ней отсутствуют серверы, т.е каждый бот является одновременно и
    клиентом и сервером.
    Более подробно: http://ru.wikipedia.org/wiki/Одноранговая_сеть

    Плюсы:
    - В случае если, источник выдаёт лишь часть ip-адресов, то выявить весь ботнет исследователям
    не предоставляется возможным.

    Минусы:
    - Требуются источники для получения списков ip-адресов.

    Usability: из ранее встречавшихся, запомнились - Bredolab, TDL, Palevo.


    Технология "генератор доменов".
    В качестве отправной точки используется, к примеру, текущая дата и на её основе генерируется
    доменное имя, к которому и подключается бот.

    Плюсы:
    - В любое время можно зарегистрировать доменное имя и продолжить управление.

    Минусы:
    - Исследователи могут отреверсить сам алгоритм генерации и накупить доменов наперёд.
    - Даже если всевозможные комбинации доменов были уже зарегистрированы хозяином ботнета, это
    не спасёт от реверсинга самого алгоритма.
    - Большая активность запросов может быть обнаружена всякими эвристическими анализаторами.

    Usability: из ранее встречавшихся, запомнились - TDL, Sinowal, Kido, Zeus, Storm.


    Технология "скан ip диапазона".
    Ботом сканируется заданная часть ip диапазона для нахождения командного центра.

    Минусы:
    - При обнаружении определённой активности, ip адрес сервера может быть легко выявлен.


    Технология "солнышко".
    Придумал я сам, возможно кто-то до меня уже дошёл до подобного, не суть!
    Основной замысел данного метода заключается в том, что в боте изначально содержится список из
    100~200 url, по которым он в случайном порядке отправляет/принимает информацию и только 1~N сайтов из этого списка явл-ся командными центрами.
    url - в данном контексте, - это действующие/фейковые веб-сайты.

    В случае, если связь с сервером односторонняя(т.е бот пересылает что-то и от сервера ответа не
    ждёт), то установить адрес командного центра достаточно-таки сложно.

    Если же связь с сервером двусторонняя, командный центр обнаружить также сложно.

    Продемонстрирую это на примере:
    - Сервер хочет выдать задание боту, т.е один url из списка начинает что-то выдавать(картинка,
    html код, просто файл, либо список с новыми url адресами). Как вы уже успели понять, иссле-
    дователь, благодаря мониторингу содержимого, выдаваемого списком URL может вычислить истин-
    ный адрес, да не тут-то было!

    А что, если в списке будут новостные порталы, блоги, с тоннами ротирующейся рекламы, счётч-
    иков, баннерами, кто знает, возможно в этой рекламе находится зашифрованное сообщение,
    легко идентифицируемое ботом.

    [​IMG]

    Плюсы:
    - Данная идея применительна не только к http протоколу, но и к jabber/icq/mra/etc.

    - Практически стопроцентная недетектируемость, в комбинации с вышеперечисленными методами
    даёт неубиваемый ботнет.

    - Отпадают всяческие эвристические анализаторы: бот имитирует заходы на настоящие сайты, соб-
    людая между заходами на сайт паузы.
    - В списке можно запрятать несколько адресов командных центров.

    Минусы:
    - Метод требует обфускации алгоритма работы кода, чтобы исследователи не поняли с содержимым
    какого url ведётся работа.

    Это не статья, а небольшой обзор.
     

Поделиться этой страницей