Специалисты «Лаборатории Касперского» рассказали о группировке DarkUniverse, упоминания которой можно было встретить среди данных, похищенных у АНБ хакерами из ShadowBrokers. Группа оставалась незамеченной как минимум восемь лет.
Напомню, что в апреле 2017 года хак-группа ShadowBrokers опубликовала очередной дамп данных, похищенных у АНБ. Дамп был назван «Трудности перевода» (Lost in Translation) и, среди прочего, содержал скрипт sigs.py, обнаруживающий в скомпрометированной системе следы присутствия 44 различных APT.
В 2018 году аналитики «Лаборатории Касперского» обнаружили APT, описанную 27-й функцией этого скрипта. Группировку назвали DarkUniverse, и сообщается, что она была активна по крайней мере 8 лет (с 2009 по 2017 годы). Эксперты отмечают, что DarkUniverse, вероятно, является частью активности ItaDuke (эта APT и стоящая за ней хакерская группа известны с 2013 года; в ее атаках использовались PDF с эксплойтами для доставки мавлари и учетные записи Twitter для хранения адресов управляющих серверов).
Специалистам удалось выявить около 20 жертв DarkUniverse, расположенных в Сирии, Иране, Афганистане, Танзании, Эфиопии, Судане, России, Республике Беларусь и ОАЭ. Среди пострадавших были как гражданские, так и военные организации. Предполагается, что число жертв в течение основного периода активности APT, между 2009 и 2017 годами, было намного больше. Приостановку активности DarkUniverse исследователи связывают с публикацией утечки Lost in translation. Или, возможно, злоумышленники просто решили перейти на более современные методы работы.
Исследователи пишут, что для распространения DarkUniverse использовались фишинговые сообщения. Каждое письмо специально подготавливалось для конкретной жертвы, чтобы привлечь ее внимание и побудить открыть вложенный документ Microsoft Office, содержащий малварь.
Технически DarkUniverse представляет собой интересный пример полноценного фреймворка. Он содержит все необходимые модули для сбора любой возможной информации о пользователе и зараженной системе и, похоже, был полностью разработан с нуля.
Каждый изученный аналитиками образец был скомпилирован непосредственно перед отправкой и включал последнюю доступную версию исполняемого файла вредоносного ПО. Инфраструктура группы развивалась с 2009 по 2017 год, и последние образцы сильно отличаются от старых вариантов, поэтому в своем отчете специалисты рассмотрели только наиболее новые версии малвари, использовавшиеся до 2017 года.
Детальный анализ компонентов малвари можно найти в отчете экспертов, а ниже мы приводим список возможностей инфраструктуры DarkUniverse. Модуль dfrgntfs5.sqt, представлявший собой наиболее функциональный компонент фреймворка, отвечал за обработку следующих команд:
Команда | Описание |
VER | Отправить на сервер версию вредоносного ПО. |
DESINSTALAR | Удалить фреймворк из системы. |
PANTALLA | Сделать снимок экрана и сохранить его в папке \queue. |
CAN_TCP, CAN_HTTP, CAN_HTTPS | Внедрить в Internet Explorer шеллкод, который устанавливает прямое соединение с C&C, скачивает дополнительный код, посылает информацию о результатах скачивания обратно на сервер и исполняет скачанный код. |
MET_TCP, MET_HTTPS | Также внедрить shell-код в IE. Единственное отличие от предыдущей команды состоит в том, что в данном случае shell-код не отправляет никакой дополнительной информации на сервер, он только устанавливает подключение, скачивает дополнительный код и исполняет его. |
CAN_HTTP_LSASS | Выполнить те же действия, что и в случае команды CAN_HTTP, но внедрение происходит в процесс LSASS.exe. |
SCAN/STOPSCAN | Начать/остановить сканирование сети. В процессе сканирования происходит сбор массы различной информации о локальной сети. |
CREDSCAN | Попытаться подключиться ко всем подряд хостам в локальной сети с определенными учетными данными. |
ACTUALIZAR | Обновить dfrgntfs5.sqt. |
ACTUALIZARK | Обновить msvcrt58.sqt. |
SYSINFO | Собрать полную информацию о системе. |
REDBULL | Установить значение 1 для флага «cafe» в реестре – активный режим. |
SLOWCOW | Установить значение 0 для флага «cafe» в реестре – медленный режим. |
X | Выполнить указанный процесс и собрать его вывод. Затем подготовить лог вывода к загрузке на C&C. |
T | Получить список файлов для определенной директории. |
TAUTH | Получить список файлов на удаленном сервере в случае, если учетные данные подходят. |
G | Отправить файл на C&C. |
GAUTH | Скачать указанный файл с общего ресурса в случае, если учетные данные подходят. |
SPLIT | Разбить файл на части по 400 KB и залить их на C&C. |
FLUSH | Отослать на C&C файл с данными, собранными всеми компонентами за целый день, после чего удалить этот файл. |
C1 — C4 | Обновить данные о конфигурации C&C в реестре (C1-C4). |
TL1 — TL3 | Обновить настройки активности модулей в реестре (T1-T3). |
ONSTART | Установить модуль, стартующий при каждом запуске. |
CLEARONSTART | Отменить предыдущую команду ONSTART. |
ARP | Запустить ARP-модуль (uncparse.dll – не удалось получить этот файл), который сохраняет данные в файле с именем arpSniff.pcap. |
AUTO | Автоматически проверять обновления определенных файлов. |
MANUAL | Осуществить в определенных директориях поиск файлов по маске *.upd, удалить все найденные файлы. |
REGDUMP | Собрать определенную информацию из реестра. |
PWDDUMP | Собрать и расшифровать учетные данные из Outlook Express, Outlook, Internet Explorer, Windows Mail и Windows Live Mail, Windows Live Messenger, а также из кэша Internet Cache; |
LOGHASH | Внедриться в процесс lsass.exe и начать процесс сбора и сохранения найденных хэшей паролей в файл checksums.bk. |
SENDLOGHASH | Отправить собранные с помощью предыдущей команды хэши на C&C. |
PROXYINFO | Проверить валидность учетных данных для прокси. |
DHCP | Установить локальные настройки DHCP. |
DNS | Установить локальные настройки DNS. |
FAKESSL | Начать перехват зашифрованного трафика (базовая функциональность MITM). |
Фото: ALYSSA FOOTE