Agent.btz — источник вдохновения?

В последние дни в индустрии IT-безопасности активно обсуждается информация о шпионской программе Turla aka Uroburos, которая, по мнению экспертов компании G-DATA, могла быть создана российскими спецслужбами.

Особый интерес представляют выводы о том, что авторы Turla имеют отношение к другой вредоносной программе, известной как Agent.BTZ, которая в 2008 году заразила локальные сети американского военного командования на Ближнем Востоке.

Впервые эта вредоносная программа, предназначенная для проведения целевых атак, попала в поле нашего зрения в марте 2013 года в ходе расследования инцидента, в котором был применен очень сложный руткит. Мы назвали его «Sun rootkit» по имени файла, который использовался в качестве виртуальной файловой системы — «sunstore.dmp», также доступного как «.Sundrive1» и «.Sundrive2». Uroburos — это то же самое, что «Sun rootkit».

Наше исследование Turla еще не закончено, и мы считаем, что на самом деле данная программа гораздо более сложная и многофункциональная, чем представлено в уже опубликованных материалах.

В данный момент мне хотелось бы чуть более детально остановиться на связи между Turla и Agent.btz.

Agent.btz — глобальная эпидемия или целевая атака?

История Agent.btz началась в 2007 году и была широко освещена в средствах массовой информации из-за заражения им сетей американских военных в конце 2008 года.

Позвольте процитировать Wikipedia:

«Имевшая место в 2008 году кибератака против Соединенных Штатов была «наиболее серьезным ударом по безопасности вычислительных систем американских военных за всю их историю». Операция по защите от атаки получила название Operation Buckshot Yankee. Она послужила отправной точкой для создания Кибернетического командования США (United States Cyber Command).

Начало атаке положил зараженный иностранным разведывательным управлением USB-флеш накопитель, оставленный на парковке комплекса, принадлежащего министерству обороны США на территории военной базы на Ближнем Востоке. Накопитель, содержавший вредоносный код, был вставлен в USB-порт ноутбука, подключенного к компьютерной сети Центрального командования ВС США (United States Central Command).

Пентагону потребовалось почти 14 месяцев на удаление червя, получившего название Agent.btz, из своей компьютерной сети. В число функций Agent.btz — варианта червя SillyFDC — входит способность «сканировать компьютеры в поисках данных и возможностей обхода защиты, а также отправка найденной информации на удаленный командный сервер».»

Мы не знаем, насколько достоверна описанная история с подброшенной флешкой. Мы слышали несколько других версий заражения. Однако самым значимым здесь является тот факт, что Agent.btz был червем, а не троянской программой. Вторым важным фактом является существование десятков его различных вариантов.

Если брать за дату создания первых вариантов 2007 год, то к 2011 году было обнаружено множество модификаций данного червя. В настоящий момент основным вердиктом продуктов «Лаборатории Касперского» для него является Worm.Win32.Orbina.

Забавно что, например, по классификации PC Tools этот червь называется Voronezh.1600, возможно это намек на мифическую Воронежскую школу хакеров.

Как бы там ни было — совершенно очевидно, что американские военные были не единственной жертвой данного червя. Благодаря распространению на флешках он стремительно разошелся по всему миру. Несмотря на то, что новые варианты червя уже несколько лет не создаются, а используемый им способ запуска с флешки при помощи autorun.inf давно исправлен в современных версиях ОС Windows, по нашим данным, только за 2013 год Agent.btz был обнаружен 13832 раза в 107 странах мира.

Интерес представляет также наблюдение за эпидемией червя в динамике. За три года с 2011 по 2013 количество заражений Agent.btz устойчиво снижалось, при этом десятка наиболее пострадавших стран остается практически без изменений.

Agent.BTZ detections (unique users) 2011
1 Россия 24111
2 Испания 9423
3 Италия 5560
4 Казахстан 4412
5 Германия 3186
6 Польша 3068
7 Латвия 2805
8 Литва 2016
9 Великобритания 761
10 Украина 629
Total countries 147
Total users 63021
Agent.BTZ detections (unique users) 2012
1 Россия 11211
2 Испания 5195
3 Италия 3052
4 Германия 2185
5 Казахстан 1929
6 Польша 1664
7 Латвия 1282
8 Литва 861
9 Великобритания 335
10 Украина 263
Total countries 130
Total users 30923
Agent.BTZ detections (unique users) 2013
1 Россия 4566
2 Испания 2687
3 Германия 1261
4 Италия 1067
5 Казахстан 868
6 Польша 752
7 Латвия 562
8 Литва 458
9 Португалия 157
10 Великобритания 123
Total countries 107
Total users 13832

Статистика составлена по вердиктам Антивируса Касперского: Worm.Win32.Autorun.j, Worm.Win32.Autorun.bsu, Worm.Win32.Autorun.bve, Trojan-Downloader.Win32.Agent.sxi, Worm.Win32.AutoRun.lqb, Trojan.Win32.Agent.bve, Worm.Win32.Orbina.

Как видно, червь широко распространился по всему миру, при этом по числу заражений Россия лидирует на протяжении многих лет.

Карта заражений модификациями Agent.btz в 2011-2013 годах

Для детального понимания работы Agent.btz я рекомендую ознакомиться с прекрасным отчетом ThreatExpert.

В зараженной системе червь создает файл с именем «thumb.dd» на всех подключаемых флешках, в который сохраняет в виде CAB-файла следующие файлы — “winview.ocx”, “wmcache.nld” и “mswmpdat.tlb”. Эти файлы содержат информацию о зараженной системе и логи активности червя в ней. По сути “thumb.dd” представляет собой контейнер с данными, которые, при отсутствии возможности быть переданными через интернет напрямую на C&C сервер, сохраняются на флешку.

Если такая флешка затем попадет в другой компьютер, также зараженный Orbina, то файл “thumb.dd” будет скопирован на этот компьютер с именем “mssysmgr.ocx”.

Учитывая данный функционал и масштаб всемирной эпидемии червя, мы думаем, что в мире существовали и существуют десятки тысяч флешек, на которых присутствует созданный в свое время Agent.btz файл thumb.dd, содержащий информацию о зараженных системах.

Red October — сборщик данных?

Больше года назад мы анализировали десятки модулей сложнейшей кибершпионской программы Red October. Тогда мы обратили внимание на то, что в числе прочих файлов, которые модуль USB Stealer ищет на подключаемых флешках, присутствуют имена файлов от Agent.btz “mssysmgr.ocx”и “thumb.dd”.

Это значит, что разработчики «Красного Октября» целенаправленно охотились за данными, собранными за несколько лет до этого при помощи Agent.btz. Все известные нам модули USB Stealer были созданы в 2010-2011 годах.

И Red October, и Agent.btz, вероятней всего, были созданы русскоязычными авторами. Одна программа «знала» о файлах другой и пыталась использовать их. Достаточно ли этих фактов для того, чтобы говорить о прямой связи между их разработчиками?

Как мне кажется — нет.

Прежде всего, стоит отметить, что информация о том, что “thumb.dd” содержит данные о зараженных Agent.btz системах, была известна и публична. Не исключено, что авторы Red October, зная о значительном количестве заражений Agent.btz, а также о том, что червь заразил американские военные сети, просто решили попробовать воспользоваться чужой работой для сбора дополнительных данных. Не стоит забывать и о том, что Red October был инструментом точечных атак, в то время как Agent.btz был червем, бесконтрольно распространявшимся и «собиравшим» все подряд.

В принципе, любой вирусописатель мог бы добавить в свой троянец проверку флешек на наличие там файлов “thumb.dd” и их кражу. Почему бы не украсть дополнительные данные без особых затрат? Но для того чтобы эти данные расшифровать — нужно еще кое-что. А именно, ключ шифрования.

Agent.btz и Turla/Uroburos

Связь между Turla и Agent.btz более прямая, однако тоже не позволяет однозначно говорить об их общем происхождении.

Действительно, Turla также использует имена файлов “mswmpdat.tlb”, “winview.ocx” и “wmcache.nld” в качестве имен своих лог-файлов, хранящихся в зараженной системе.

Таким образом, можно представить все пересекающиеся имена файлов из трех программ в одной таблице:

Agent.btz Red October Turla
Log files thumb.dd thumb.dd
winview.ocx winview.ocx
mssysmgr.ocx mssysmgr.ocx
wmcache.nld wmcache.nld
mswmpdat.tlb mswmpdat.tlb
fa.tmp fa.tmp

Кроме того, Agent.btz и Turla используют один и тот же XOR ключ для шифрования своих лог-файлов:

1dM3uu4j7Fw4sjnbcwlDqet4F7JyuUi4m5Imnxl1pzxI6as80cbLn
mz54cs5Ldn4ri3do5L6gs923HL34x2f5cvd0fk6c1a0s

Данный ключ также не является секретным — он был обнаружен и опубликован еще в 2008 году, и любой человек, интересовавшийся историей Agent.btz, знал о нем. Возможен ли вариант, при котором создатели Turla решили использовать чужой ключ для шифрования своих логов? Мы сейчас не можем достоверно установить, с какого момента в Turla начал использоваться данный ключ. Он присутствует в наиболее свежих образцах (2013-2014 годов), однако по некоторым данным разработка Turla началась еще в 2006 году — раньше, чем был создан первый известный вариант Agent.btz.

Red October и Turla

Итак, мы установили, что Red October «знал» про имена файлов Agent.btz и охотился за ними. Мы установили, что Turla использовала такие же имена файлов и ключ шифрования, как Agent.btz.

Что же насчет возможной связи между Red October и Turla? Есть ли она? Проанализировав все имеющиеся у нас данные, мы не видим никаких пересечений между этими двумя проектами. Они не «знают» друг про друга, они не коммуницируют между собой, они отличаются как по архитектуре, так и по и использованным технологиям.

Единственное, что объединяет их между собой — это вероятность того, что разработчики Rocra и Turla говорят на русском языке.

Flame — а что насчет него?

Еще в 2012 году, анализируя Flame и родственные ему проекты Gauss и MiniFlame, мы заметили некоторое сходство между ними и Agent.btz (Orbina). Первое что бросалось в глаза — это схожая конвенция имен, с преобладанием использования файлов с расширением .OCX. Возьмем для примера имя основного модуля Flame — “mssecmgr.ocx”. В Agent.btz очень похожее имя использовалось в качестве контейнера лог-файлов в зараженной системе — “mssysmgr.ocx”. В Gauss все модули были реализованы в виде файлов с именами *.ocx.

Вторым сходством было использование технологии файлов-контейнеров украденной информации, хранящихся на флешках и имеющих имена “.thumbs.db” (в Gauss).

Feature Flame Gauss
Encryption methods XOR XOR
Using USB as storage Yes (hub001.dat) Yes (.thumbs.db)

Модуль Kurt/Godel в Gauss содержит следующий функционал: если на диске присутствует файл “.thumbs.db”, его содержимое считывается и проверяется на наличие валидного магического числа 0xEB397F2B. В случае совпадения модуль создает файл %commonprogramfiles%systemwabdat.dat и записывает в него считанные данные, а затем удаляет файл “.thumbs.db”.

Это контейнер для данных, украденных модулем “dskapi”.

Кроме того, MiniFlame (модуль icsvnt32) также «знал» о файле «.thumbs.db» и вел его поиск на флешках.

Учитывая, что по нашим данным разработка Flame и Gauss началась в конце 2008 года, мы не исключаем того, что разработчики этих программ были хорошо знакомы с анализом Agent.btz и, возможно, использовали некоторые идеи из него в своих разработках.

Все вместе

Приведенные данные могут быть представлены в виде следующей схемы взаимоотношений между всеми рассмотренными вредоносными программами:

Как видно на схеме, разработчики всех трех (даже четырех, если считать Gauss) шпионских программ знали об Agent.btz, о том, как он работает, какие имена файлов использует — и использовали данную информацию либо для прямого заимствования функционала, идей и даже имен файлов, либо пытались пользоваться результатами работы Agent.btz.

Суммируя все вышесказанное, можно считать Agent.btz действительно некой отправной точкой в цепочке создания целого ряда разных кибершпионских проектов. Его широко известная история заражения военных сетей США могла послужить образцом для новых шпионских программ, имеющих схожие цели, а его технологии явно были детально изучены всеми заинтересованными лицами. Стояли ли за всеми этими программами одни и те же люди? Этого, исходя из известных фактов, утверждать нельзя.

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

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

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