В последние годы киберпреступники активно нацеливаются на критическую инфраструктуру (CNI) в различных регионах мира, включая Ближний Восток. Одним из инструментов, используемых злоумышленниками, стал фреймворк Havoc, который представляет собой мощный бэкдор для постэксплуатации, написанный на C++ и Go.
Описание
Внедрение и запуск Havoc через удаленный инжектор
Атака начинается с использования удаленного инжектора, замаскированного под легитимный процесс conhost.exe (Console Window Host), который является частью операционной системы Windows. Злоумышленники используют его для запуска вредоносной нагрузки, скрытой в зашифрованном DLL-файле (conhost.dll). Командная строка, используемая для запуска инжектора, выглядит следующим образом:
1 | C:\Windows\System32\drivers\conhost.exe -f conhost.dll -ER --ln --path cmd.exe |
Здесь параметр "-f" указывает на зашифрованный DLL-файл, а "--path" определяет целевой процесс (cmd.exe), в который будет внедрен Havoc. После запуска инжектор создает новый процесс cmd.exe и использует встроенный шеллкод для расшифровки вредоносной нагрузки. Затем он внедряет ее в память целевого процесса и запускает удаленный поток для выполнения кода.
Особенности Havoc как бэкдора
Havoc - это открытый фреймворк, доступный на GitHub, который предоставляет злоумышленникам широкие возможности для удаленного управления зараженной системой. Он состоит из трех основных компонентов:
- Teamserver (C2-сервер), который управляет атакой.
- Client (интерфейс управления), через который атакующий отправляет команды.
- Demon (агент), работающий на зараженной системе и выполняющий команды.
Havoc поддерживает несколько протоколов для передачи данных, включая HTTP, HTTPS и SMB. В данном случае C2-сервер был закодирован как apps[.]gist[.]githubapp[.]net, но во время анализа он был недоступен, что потребовало настройки имитационного сервера для дальнейшего изучения.
Регистрация системы жертвы на C2-сервере
После запуска Demon собирает метаданные о системе, включая имя хоста, имя пользователя, IP-адрес, идентификатор процесса и архитектуру ОС. Эти данные шифруются с использованием алгоритма AES и отправляются на C2-сервер в виде пакета demon-init.
Структура пакета включает:
- Magic value (0xDEADBEEF) для проверки подлинности.
- Agent ID (уникальный идентификатор агента).
- Command ID (0x63 для DEMON_INIT).
- AES-ключ и IV для расшифровки метаданных.
- Зашифрованные метаданные системы.
После успешной регистрации зараженная система отображается в интерфейсе управления атакующего, что позволяет ему выполнять дальнейшие действия.
Команды управления и возможности Havoc
Havoc предоставляет злоумышленнику обширный набор команд, разделенных на категории:
- Файловая система (COMMAND_FS, 0xF) - включает подкоманды для работы с файлами и директориями (например, загрузка, удаление, создание папок).
- Сетевые операции (COMMAND_NET, 0x834) - позволяет собирать информацию о сети, включая ARP-таблицы, открытые порты и активные сессии.
- Управление процессами (COMMAND_PROC, 0x1010) - дает возможность перечислять и убивать процессы, а также внедрять DLL и шеллкод.
- Работа с реестром - включает команды для чтения, записи и удаления ключей.
- Кража данных - например, через nanodump для дампа LSASS или screenshot для создания скриншотов экрана.
Кроме того, Havoc поддерживает выполнение Beacon Object Files (BOF) - скомпилированных объектных файлов, которые выполняются непосредственно в памяти без сохранения на диск. Это позволяет злоумышленникам расширять функциональность бэкдора без необходимости его обновления.
Заключение
Анализ данного образца Havoc демонстрирует, насколько опасным может быть этот инструмент в руках киберпреступников. Его модульная архитектура, поддержка BOF и широкий набор команд делают его серьезной угрозой для корпоративных сетей и критической инфраструктуры.
Индикаторы компрометации
Domains
- apps.gist.githubapp.net
SHA256
- 22bd09fbab54963d4b0234585d33571a47a2df569dbab8b40988415ab0a3c37b
- 9208034af160357c99b45564ff54570b1510baf3bc033999ae4281482617ff5b