TDSS разных версий
Вредоносная программа, детектируемая Антивирусом Касперского как TDSS, относится к наиболее сложным на сегодняшний день зловредам. TDSS использует различные методы обхода сигнатурного, эвристического и проактивного детектирования, применяет методы шифрования при общении бота с командным центром ботнета и обладает мощной руткит-составляющей, которая позволяет скрывать присутствие в системе любых других вредоносных программ.
Авторское название данной программы — TDL. Со времени появления зловреда в 2008 году вирусописатели постоянно совершенствуют свое детище. К 2010 году актуальной была версия TDL-3, которую мы довольно подробно описали в статье, опубликованной в июне 2010 года.
Авторы TDSS никогда не выставляли программу на продажу — вплоть конца 2010 года. В декабре при анализе одного из самплов мы обнаружили нечто странное: зашифрованный диск TDL-3 содержал модули другой вредоносной программы — SHIZ.
Содержимое зашифрованного диска TDL-3 c модулями вредоносной программы SHIZ
Тогда же в интернете появилась партнерская программа по подмене выдачи поисковых систем, принадлежащая создателям SHIZ, но построенная на TDL-3.
Изменения, произошедшие с конфигурацией TDL-3, и появление новой партнерки свидетельствуют о том, что исходные коды TDL-3 были проданы злоумышленникам, ранее занимавшимся разработкой вредоносной программы SHIZ.
Почему же авторы TDL решились на продажу исходных кодов третьей версии своей программы? Дело в том, что к тому времени уже появилась версия TDL-4. Вероятно, изменения в ней вирусописатели сочли настолько значительными, что не побоялись конкуренции со стороны новых владельцев TDL-3.
В конце 2010 года Вячеслав Русаков описал работу новой версии руткита TDSS с точки зрения его взаимодействия с операционной системой. Мы рассмотрим TDL-4 с точки зрения ее работы с сетью и полезной нагрузки на ботнет, насчитывающий на момент проведения исследования более 4,5 миллионов зараженных компьютеров.
Опять партнерка
В работе новой версии TDL неизменным, пожалуй, остался только способ распространения — с помощью партнерских программ. Как и прежде, партнерские программы предлагают для распространения загрузчик TDL, который, проверив версию операционной системы, загружает на компьютер TDL-4.
Партнерские программы, распространяющие TDL
За содействие в распространении TDL партнеры получают за 1000 установок вредоносной программы от 20 до 200 USD — в зависимости от географического положения компьютера жертвы. Партнеры могут пользоваться любыми методами установки. Чаще всего TDL распространяется на порноресурсах, пиратских сайтах, видео- и файловых хранилищах.
Изменения в TDL-4 в той или иной степени коснулись практически всех составляющих вредоносной программы и ее активности в Сети. Вирусописатели расширили функционал зловреда, изменили алгоритм шифрования протокола общения ботов с серверами управления ботнета и попытались обеспечить себе доступ к зараженным компьютерам даже в случае закрытия командных центров ботнета. Судя по всему, владельцы TDL стремятся создать «неубиваемый» ботнет, защищенный от посягательств и конкурентов, и антивирусных компаний.
«Неубиваемый» ботнет
Шифрование сетевых соединений
Одним из ключевых изменений в TDL-4 по сравнению с предыдущей версией стало обновление алгоритма шифрования протокола, используемого для общения зараженных компьютеров с серверами управления ботнета. На замену RC4 злоумышленниками был разработан собственный алгоритм шифрования с использованием замены и операции XOR. Ключами для шифрования служат имя домена, с которым происходит соединение, и параметр bsh из файла cfg.ini.
Напомним, что наличие конфигурационного файла, в котором описаны основные параметры, используемые различными модулями для ведения журналов своей активности и связи с командными серверами, является одной из особенностей вредоносных программ семейства TDSS.
Пример содержимого конфигурационного файла
По сравнению с третьей версией формат конфигурационного файла изменился незначительно. Ключевым дополнением в нем стал именно параметр «bsh». Этот параметр — идентификатор экземпляра вредоносной программы, который выставляется управляющим сервером при первом соединении с ним бота. Он и служит одним из ключей шифрования для последующих соединений с сервером управления.
Часть воссозданного кода для работы с протоколом TDL-4
При инициализации протокола создается таблица замены для исходного HTTP-запроса бота. Эта таблица инициализируется двумя ключами: именем домена сервера управления ботнетом и параметром “bsh”. Исходный запрос зашифровывается и далее переводится в формат base64. После этого в начало и конец получившегося сообщения добавляются заранее подобранные случайным образом строки в формате base64. Готовый запрос передается серверу по протоколу HTTPS.
Собственный алгоритм шифрования протокола общения командных центров ботнета и зараженных машин обеспечивает надежное функционирование ботнета, защищает зомби-сеть от анализа сетевого трафика и препятствует попыткам других злоумышленников перехватить управление ботнетом.
Собственный «антивирус»
TDL-4 так же, как и Sinowal, является буткитом, то есть использует для своего автозапуска метод заражения MBR, обеспечивающий загрузку вредоносного кода до старта операционной системы. Такой метод работы классических загрузочных вирусов обеспечивает этим программам большую живучесть и незаметность для большинства защитных программ.
TDL умело прячет себя и загруженные им вредоносные программы от антивирусных продуктов. Чтобы другие зловреды, попавшие на компьютер без ведома хозяев TDL, не привлекали внимания пользователей к зараженной машине, TDL-4 получил возможность их удалять. Конечно, не все, а самые популярные вредоносные программы.
Часть кода модуля TDSS, отвечающего за поиск присутствия
других вредоносных программ в системном реестре
TDSS содержит код для удаления примерно двадцати вредоносных программ, включая Gbot, ZeuS, Clishmic, Optima и т.д. TDSS сканирует реестр, ищет специфические имена файлов, заносит в свой список запрещенных адреса серверов управления других ботнетов и блокирует доступ к ним зараженного компьютера.
Такой «антивирус» помогает TDSS, с одной стороны, бороться с конкурентами, с другой — отвести от себя и своей «команды» — загруженных им же зловредов — неприятности, вызванные присутствием на зараженной машине сторонних вредоносных программ.
Какие вредоносные программы загружает сам TDL-4? С начала этого года на ботнет было установлено около 30 дополнительных вредоносных программ, включая фальшивые антивирусы, рекламные модули и спамбот Pushdo.
Список загрузок на ботнет TDSS
Интересно, что после установки других вредоносных программ TDL-4 не удаляется и может использоваться для удаления в любой момент «своих» зловредов с помощью модуля r.dll.
Доступ ботнета к p2p-сети Kad
Одним из самых ярких нововведений в TDL-4 стал модуль kad.dll, который обеспечивает возможность доступа ботнета TDSS к p2p-сети Kad. Зачем же злоумышленникам понадобилась публичная файлообменная сеть?
О ботнетах, управляемых через протоколы p2p, известно давно, однако до сих пор это были закрытые протоколы связи, созданные злоумышленниками. TDSS же использует публичную p2p-сеть для доставки команд хозяев ботнета всем машинам в зомби-сети. Начало алгоритма работы TDSS с этой сетью при этом выглядит так:
- В публичной сети Kad злоумышленники открывают доступ к файлу с именем ktzerules. Файл зашифрован и содержит список команд для TDSS.
- Зараженные TDSS компьютеры получают команду на загрузку и установку модуля kad.dll.
- Установленный kad.dll загружает файл nodes.dat, содержащий публичный список IP-адресов серверов и клиентов сети Kad.
- В публичную сеть Kad модуль kad.dll посылает запрос на поиск файла ktzerules.
- После загрузки и расшифровки файла ktzerules kad.dll выполняет содержащиеся в ktzerules команды.
Зашифрованные обновления kad.dll, находящиеся в публичной Kad сети
Ниже приведен список команд, содержащихся в зашифрованном файле ktzerules.
- SearchCfg — поиск нового файла ktzerules в сети Kad
- LoadExe — загрузить и запустить исполняемый файл
- ConfigWrite — внести запись в cfg.ini
- Search — искать файл в сети Kad
- Publish — опубликовать файл в сети Kad
- Knock — загрузить с C&C новый файл nodes.dat, содержащий список IP-адресов серверов и клиентов сети Kad, в том числе зараженных TDSS компьютеров.
Самой интересной командой является Knock. С помощью этой команды злоумышленники создают свою p2p-сеть Kad, клиентами которой становятся только зараженные TDSS компьютеры.
Схема пересечения публичной и закрытой сетей KAD
По сути, в управлении ботнетом TDSS модуль kad.dll является аналогом cmd.dll. Оперируя файлами nodes.dat, содержащим список IP-адресов участников сети kad, и ktzerules, содержащим команду на загрузку нового файла nodes.dat с серверов злоумышленников, хозяева ботнета могут включать зараженные компьютеры в публичную сеть Kad и исключать их оттуда. В публичную сеть Kad входит не более 10 зараженных TDSS компьютеров. Это делает процесс подмены файла ktzerules максимально неэффективным и препятствует перехвату управления ботнетом другими злоумышленниками. Общее же количество зараженных TDSS компьютеров, входящих в закрытую сеть, составляет несколько десятков тысяч.
Часть кода kad.dll, отвечающего за доставку команд злоумышленников TDL-4
Кроме того, доступ к сети Kad дает возможность злоумышленникам загружать на компьютеры, входящие в ботнет, и делать доступными для пользователей р2р-сети любые файлы, будь то порнография или украденные базы данных.
Опасность такого ботнета состоит в том, что даже при выключении его командных центров хозяева ботнета не теряют контроль над зараженными машинами. Однако такая система не лишена подводных камней:
- Используя публичную сеть Kad, злоумышленники все-таки рискуют столкнуться с поддельными командами для ботнета.
- При разработке модуля kad.dll для обеспечения взаимодействия с сетью Kad использовался код с лицензией GPL, а значит, авторы нарушают лицензионное соглашение.
Расширение функционала
Помимо уже известного функционала рекламной накрутки в арсенале TDL-4 появились новые модули. О собственном «антивирусе» и модуле работы с p2p-сетями речь уже шла выше. Помимо них, хозяева TDSS добавили в функционал вредоносной программы еще несколько модулей и теперь могут предложить своим клиентам услугу по анонимному доступу в сеть с помощью зараженных машин и поддержку 64-битных систем.
Модуль прокси-сервера
Socks.dll — имя внедряемого TDSS в системный процесс svchost.exe-файла, который служит для открытия прокси-сервера на зараженном компьютере. Наличие такого модуля позволяет анонимно посещать ресурсы Сети через зараженные машины.
Располагая большим количеством компьютеров с подобным функционалом, злоумышленники стали предлагать сервис анонимного доступа в интернет. Стоимость такой услуги составляет около 100 USD в месяц. Для удобства работы злоумышленники разработали также дополнение к браузеру Firefox, позволяющее быстро менять прокси-серверы прямо из браузера.
Дополнение к браузеру Firefox, облегчающее анонимную работу
в Сети через зараженные машины ботнета TDSS
Поддержка 64-битных систем
Появление 64-битного вредоносного драйвера в TDSS стало одним из нововведений в технологиях злоумышленников в 2010 году. Для поддержки работы с 64-битными системами в пользовательском режиме TDL-4 содержит модуль cmd64.dll — версию cmd.dll для 64-битных систем. Однако из-за ограничений на работу с 64-битными программами, код cmd64.dll содержит только функционал для обеспечения связи с серверами управления ботнета.
Список команд для TDSS, исходящих от сервера управления ботнетом
Работа с поисковыми системами
Модуль cmd.dll остался практически без изменений. Его задача — обеспечение связи с серверами управления ботнетом и подмена выдачи, т.е. мошеннические манипуляции с рекламными и поисковыми системами. В списке команд для TDSS основным нововведением стала команда SetName, которая присваивает каждому зараженному компьютеру свой номер. При работе с поисковыми системами и баннерными сетями TDSS использует те же технологии накрутки, что и аналогичные вредоносные программы. Однако TDSS обладает самым большим списком поисковых систем, в которых она осуществляет подмену выдачи.
Список поисковых систем, поддерживаемых TDSS
Серверы управления ботнетом
Во время своей работы TDSS использует несколько источников для получения списков адресов управляющих серверов. По умолчанию список берется из тела cmd.dll, в случае недоступности серверов бот берет список из cfg.ini. Если по каким-либо причинам ни один C&C из списка cfg.ini не доступен, список формируется из зашифрованного файла bckfg.tmp, который бот получает с сервера управления при первом соединении с ним. С начала этого года было выявлено около 60 административных серверов ботнета, разбросанных по всему миру.
Адрес управляющего сервера |
Адрес сервера по состоянию на начало февраля |
Адрес сервера по состоянию на начало марта |
Процент упоминаний в списках C&C |
01n02n4cx00.cc | noip | noip | 0,05% |
01n02n4cx00.com | 91.212.226.5 | noip | 0,43% |
01n20n4cx00.com | 91.212.226.5 | 91.193.194.9 | 0,21% |
0imh17agcla.com | 77.79.13.28 | 91.207.192.22 | 0,80% |
10n02n4cx00.com | 194.28.113.20 | 194.28.113.20 | 0,22% |
1il1il1il.com | 91.212.158.72 | 91.212.158.72 | 6,89% |
1l1i16b0.com | 91.193.194.11 | 91.193.194.11 | 0,43% |
34jh7alm94.asia | 205.209.148.232 | noip | 0,03% |
4gat16ag100.com | noip | noip | 2,07% |
4tag16ag100.com | 178.17.164.129 | 91.216.122.250 | 6,69% |
68b6b6b6.com | noip | noip | 0,03% |
69b69b6b96b.com | 91.212.158.75 | noip | 6,89% |
7gaur15eb71.com | 195.234.124.66 | 195.234.124.66 | 6,85% |
7uagr15eb71.com | noip | noip | 2,07% |
86b6b6b6.com | 193.27.232.75 | 193.27.232.75 | 0,14% |
86b6b96b.com | noip | noip | 0,24% |
9669b6b96b.com | 193.27.232.75 | 193.27.232.75 | 0,22% |
cap01tchaa.com | noip | noip | 2,19% |
cap0itchaa.com | noip | noip | 0,58% |
countri1l.com | 91.212.226.6 | 91.212.158.72 | 6,89% |
dg6a51ja813.com | 91.216.122.250 | 93.114.40.221 | 6,85% |
gd6a15ja813.com | 91.212.226.5 | 91.212.226.5 | 2,07% |
i0m71gmak01.com | noip | noip | 0,80% |
ikaturi11.com | 91.212.158.75 | noip | 6,89% |
jna0-0akq8x.com | 77.79.13.28 | 77.79.13.28 | 0,80% |
ka18i7gah10.com | 93.114.40.221 | 93.114.40.221 | 6,85% |
kai817hag10.com | noip | noip | 2,07% |
kangojim1.com | noip | noip | 0,14% |
kangojjm1.com | noip | noip | 0,24% |
kur1k0nona.com | 68.168.212.21 | 68.168.212.21 | 2,19% |
l04undreyk.com | noip | noip | 0,58% |
li1i16b0.com | noip | noip | 0,05% |
lj1i16b0.com | noip | noip | 0,05% |
lkaturi71.com | noip | noip | 0,14% |
lkaturl11.com | 193.27.232.72 | 193.27.232.72 | 0,22% |
lkaturl71.com | 91.212.226.6 | 91.212.158.72 | 7,13% |
lo4undreyk.com | 68.168.212.18 | 93.114.40.221 | 2,19% |
n16fa53.com | 91.193.194.9 | noip | 0,05% |
neywrika.in | noip | noip | 0,14% |
nichtadden.in | noip | noip | 0,02% |
nl6fa53.com | noip | noip | 0,03% |
nyewrika.in | noip | noip | 0,03% |
rukkeianno.com | noip | noip | 0,08% |
rukkeianno.in | noip | noip | 0,08% |
rukkieanno.in | noip | noip | 0,03% |
sh01cilewk.com | 91.212.158.75 | noip | 2,19% |
sho1cilewk.com | noip | noip | 0,58% |
u101mnay2k.com | noip | noip | 2,19% |
u101mnuy2k.com | noip | noip | 0,58% |
xx87lhfda88.com | 91.193.194.8 | noip | 0,21% |
zna61udha01.com | 195.234.124.66 | 195.234.124.66 | 6,85% |
zna81udha01.com | noip | noip | 2,07% |
zz87ihfda88.com | noip | noip | 0,43% |
zz87jhfda88.com | 205.209.148.232 | 205.209.148.233 | 0,05% |
zz87lhfda88.com | noip | noip | 0,22% |
При внимательном рассмотрении данного списка видно, что IP-адреса центров управления постоянно меняются, а некоторые C&C перестают функционировать. Такие изменения обусловлены использованием прокси-серверов, скрывающих истинное расположение управляющих центров.
Статистика управляющих серверов
Несмотря на предпринятые злоумышленниками меры по защите управляющих серверов ботнета, зная протокол общения TDL-4 с управляющими серверами, можно создать специальные запросы и получить статистику по количеству зараженных компьютеров. Анализ полученных данных, проведенный нами, выявил три отдельных базы данных MySQL, расположенных в Молдове, Литве и США и поддерживающих работу ботнета за прокси-серверами.
Согласно информации в этих базах данных, только за три первых месяца 2011 года TDL-4 было заражено 4 524 488 компьютеров по всему миру.
Распределение компьютеров, зараженных TDL-4, по странам
Почти треть зараженных компьютеров расположена на территории Соединенных Штатов. Судя по расценкам партнерских программ, заражение такого количества машин в США стоит 250 000 USD, на которые, видимо, и раскошелились создатели TDSS. Примечательно, что российских пользователей в статистике нет. Объясняется это тем что, партнерские программы не предлагают выплаты за заражение русских пользователей
Это еще не конец!
Название последней главы в наших статьях про TDSS становится традиционным. В данном случае у нас есть все основания предполагать, что развитие TDSS продолжится. Активная доработка кода TDL-4, руткит для 64-битных систем, старт до запуска операционной системы, использование эксплойтов из арсенала Stuxnet, использование технологии p2p, собственный «антивирус» и многое-многое другое ставят вредоносную программу TDSS в разряд самых технологически развитых и и наиболее сложных для анализа. Более чем 4,5-миллионный ботнет используется злоумышленниками для махинаций с рекламными и поисковыми системами, обеспечивает анонимный доступ злоумышленников в Сеть, и является площадкой для установки других вредоносных программ.
TDSS и ботнет, объединяющий зараженные ею компьютеры, доставят еще много неприятностей и пользователям, и специалистам по IT-безопасности. Децентрализованный бессерверный ботнет практически неразрушим, и эпидемия червя KIDO — тому подтверждение.
TDL4 — Top Bot