Ботнет: «был твой — стал мой» или как ботнеты работают

Work Add comments

Любопытная статья исследователей из университета “University of California Santa Barbara” PDF тут.

Исследователи перехватили контроль над ботнетом Torpig и ковыряли его 10 дней, пока владелцы не накатили обновление и не вернули управление себе. За это время стало понятно какого вида информацию он собирает, как он это делает, как защищается от перехвата управления и на какое поведение юзеров он рассчитан.

Авторы утверждают что Torpig это одно из самых продвинутых crimeware на сегодняшний день. У него самая лучшая программная архитектура, самые остроумные способы воровства данных, самая лучшая топология управления. Также Torpig наносит самый большой финансовый ущерб.
Оценка экономической эффективности $3-300 млн в год. Из упражнений спамеров, ботнеты похоже становятся серьёзным бизнесом.

Работает это всё следующим образом

Инсталяция

Взламываются популярные сайты и вставляется ссылка на специальный JavaScript. Браузер скачивает и выполняет вредоносный JavaScript, код в котором пытается залинковать свою dll в проводник (explorer.exe) используя известные уязвимости самого браузера, его плагинов или ActiveX объектов. Уязвимости перебираются по кругу пока одна из них не сработает. Дальше все операции выполняются как будто бы самим explorer.exe - вполне себе уважаемым процессом. Теперь загружается драйвер ядра, который подменяет оригинальный disk.sys на себя и затирает Master Boot Record (MBR)
Всё, шаг №1 выполнен - руткит Mebroot поставлен. Фокус тут в том, что после перезагрузки Mebroot выполняется самым первым, раньше чем загрузится OS и остается практически невидимым для антивирусного ПО.

Сам по себе Mebroot ничего плохого не делает, но это только платформа для других модулей которые и делают всяческие гадости. Итак, сразу после перезагрузки, каждые два часа Mebroot соединятеся с Mebroot C&C server и качает модули, например Torpig. Все соединения шифруются. Теперь и шаг №2 выполнен - Torpig установлен.

Torpig вставляет линкует свою dll в Service Control Manager (services.exe), проводник и 29 другиз популярных программ, например браузеры - IE, Firefox, Opera, FTP клиенты - CuteFTP, LeechFTP, e-mail клиенты - Thunderbird, Outlook, Eudora, мессенжеры - Skype, ICQ и такое прочее. Теперь Torpig может просматривать все данные которые эти программы манипулируют, выделять интересные куски, например логины с паролями. Каждые 20 минут Torpig закачивает всё что он там насобирал на сервер.

Топология управления

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

Именно так авторы статьи и перехватили управление. На 10 дней.

К чести оригинальных программистов ботнета следует заметить, что эти 10 дней не прошли даром. Они поменяли алгоритм генерации доменных имен, усложнили и внесли недетерменизм. Это сразу сделало перехват управления экономически не выгодным, например новая версия Conficker генерирует 50,000 доменных имен в день, если все их регистрировать это выливается в большие расходы - $91 - $182 млн.

Остроумные способы воровства данных

Тут старый добрый фишинг поднятый на новый уровень. В своём конфигурационном файле Torpig читает имена банковских сайтов. Если юзер посещает такой сайт, Torpig вставляет HTML форму прямо в страницу сайта. Это происходит прямо в DOM-e браузера. Определить это очень трудно - URL сайта верный, стили и картинки соблюдены, и даже SSL тут не спасёт. Все сертификаты верны. Пользователя просят якобы подтвердить свою личность введя номер карты, налоговый номер и прочее.

За 10 дней, Torpig наворовал 300ооо логинов с паролями, 1600 номеров кредитных карт и 8300 логинов в онлайн банкинг. Всего в забеге участвовало 180ооо инфицированных хостов.

Похожие записи:

7 Responses to “Ботнет: «был твой — стал мой» или как ботнеты работают”

  1. 0_0 Says:

    0______________________0

  2. Александр Says:

    Идея воровства кредитных карточек — единственная и самая заманчивая информация про ботнеты. Но ведь их максимальная экономическая мощь состоит в том, imho, что они могут направлять пользователей на определённые ресурсы в настолько большом количестве, как и google со своих топовых позиций. Эт я даже не про DDoS говорю, а о простом человеческом траффике..

  3. олег Says:

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

  4. Igor Katkov Says:

    @олег если подменен disk.sys - то боржоми пить уже поздно. Сколько не проверяй что хочешь - всё сойдётся.

  5. Роман Says:

    Выход - установить виртуальную машину, сделать снепшот и при отработке сессии - возвращатся на снепшот.
    Или в интернет ходить исключительно из Ubuntu Live CD образа.

  6. Andrey Says:

    Как же они подменяют disk.sys на 64-битной системе? Там все драйвера должны быть подписаны.

  7. Alexander Says:

    >> Как же они подменяют disk.sys на 64-битной системе

    Во-первых, подписывание можно зарезать, если грузиться до ядра.

    Во-вторых, Authenticode - не такая уж дорогая вещь (даже 10килобаксовый при оборотах в миллионы вполне окупается)

    В-третьих, можно пропатчить драйвер после загрузки, опять же, если грузиться до ядра. А при перепроверке ничего не мешает откатывать патч на время проверки и накатывать обратно.

Leave a Reply

Entries RSS Comments RSS Log in Admin