Возвращение ботнета Kelihos/Hlux с новыми техниками

Прошло четыре месяца с тех пор, как Microsoft и «Лаборатория Касперского» объявили о прекращении работы ботнета Kelihos/Hlux. Использовавшийся в ходе этого отключения метод sinkhole-маршрутизатора имеет преимущества, так как с его помощью можно обезвредить ботнет достаточно быстро без взятия под контроль главных командных серверов. Однако, как стало ясно позже, этого не достаточно, если хозяева ботнета остаются на свободе.

Вскоре после того, как был взят под контроль Kelihos/Hlux, мы наткнулись на новые самплы, которые очень напоминали исходную версию бота. Проведя сравнительный анализ, мы нашли все отличия новой версии от исходной. Здесь будет представлено краткое резюме этого исследования.

Начнем с самого нижнего уровня, с криптования и упаковки сообщений Kelihos/Hlux в коммуникационном протоколе, которые представлены в виде древовидной структуры:

Старый Hlux Новый Hlux
1 Blowfish с ключом 1 Blowfish с новым ключом 1
2 3DES с ключом 2 Распаковка с помощью Zlib
3 Blowfish с ключом 3 3DES с новым ключом 2
4 Распаковка с помощью Zlib Blowfish с новым ключом 3

Чтобы закриптовать сообщение, все представленные операции должны быть выполнены в обратном порядке. Хорошо известно, что текстовые строки запаковываются достаточно эффективно, в отличие от «сырых» бинарных данных. Исходное дерево может содержать много строк, таких как, например, е-мейлы, шаблоны спам-писем и т.д. Таким образом, использование упаковки с помощью zlib после того, как дерево уже закриптовано, не имеет особого смысла: размер пакета увеличивается, и это не дает никаких преимуществ. Создается ощущение, что кто-то заполучил исходные коды бота и просто захотел, чтобы последующие боты выглядели иначе, для чего и сделал перестановку этапов криптования.

Во-вторых, ключи криптования в данных алгоритмах изменились, что было достаточно предсказуемо. Кроме того, изменились ключи RSA, которые используются для подписи некоторых структур дерева, содержащих список IP контроллеров и URL для обновления, и соответствующие открытые RSA ключи, которые зашиты в ботах.

  Старый Hlux Новый Hlux
Controllers’ IP RSA ключ 1 New RSA ключ 1
Update/Exec urls1 RSA ключ 1 New RSA ключ 1
Update/Exec urls2 RSA ключ 2 New RSA ключ 2

Как вы можете видеть, в дереве используются два разных ключа RSA, и это наводит на мысль, что они принадлежат двум разным группам, контролирующим ботнет.

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

Таким было дерево старой версии Hlux, полученное после декриптовки пакета:

А так выглядит дерево новой версии:

Еще одно новшество заключается в более тщательном подходе формирования пакетов: теперь каждый пакет (как входящий, так и исходящий) в своем заголовке содержит подсчитанную контрольную сумму данных.

Наши исследования выявили, что новая версия появилась, по крайней мере, 28 сентября, то есть сразу же после того, как Microsoft и «Лаборатория Касперского» объявили о нейтрализации первоначального ботнета Hlux/Kelihos.

Что касается списка контроллеров, то в новой версии они остались почти неизменными и едва менялись с течением времени.

В настоящее время ботнет продолжает получать заказы от спамеров и рассылать спам на разных языках:

Основные выводы из этой истории следующие:

  1. Не представляется возможным без каких-либо дополнительных действий нейтрализовать ботнет, захватив машины-контроллеры либо заменив контроллеры злоумышленников на свои. Ботнет-мастер знает список IP активных роутеров и все еще может подключиться к ним напрямую и обновить боты, также как и список контроллеров.
  2. Все еще возможно нейтрализовать ботнет посредством sinkhole, однако для этого надо использовать приемы, несколько отличные от тех, что использовались раннее.
  3. Все еще возможно выпустить свои утилиты для нейтрализации ботнета. В этом случае ботнет-мастерам нужно заново заразить машины, чтобы отстроить новый ботнет.
  4. Мы считаем, что самый эффективный способ обезвредить ботнет – найти тех людей, которые за ним стоят. Надеемся, что Microsoft доведет свое расследование до конца.

P.S. Спасибо Алексею Борзенкову и Тиллманну Вернеру за предоставление технических деталей.

Постинги на схожие темы 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *