Кампания под видом CommuniGate Pro использует DLL-сайдлоадинг и C2
Кампания использует приманку, связанную с CommuniGate Pro, корпоративным сервером коммуникаций. По всей видимости, атака нацелена на русскоязычную организацию, потенциально на российскую логистическую компанию Delovye Linii.
Цепочка заражения
Заражение начинается с файла 88.lnk. Он открывает поддельный PDF-файл, извлекает архив treesn в каталог %AppData% и запускает calibre.exe.
Исполняемый файл использует механизм side-loading для загрузки вредоносной 32-разрядной DLL на C++ с именем calibre-launcher.dll. Основная функциональность DLL выполняется через экспортированную функцию execute_python_entrypoint. Другой обнаруженный экспорт, simple_print, никаких действий не выполняет.
Закрепление и связь с инфраструктурой управления
После закрепления вредоносное ПО расшифровывает встроенную конфигурацию, формирует регистрационный бикон и устанавливает связь с инфраструктурой управления. В конфигурации содержатся открытый ключ RSA и домен C2 www.ncloudtechlab[.]online.
Бикон включает сведения о жертве и случайно сгенерированный 16-байтовый сид. Вредоносное ПО шифрует эти данные с помощью RSA, кодирует результат в Base64 и передаёт его в HTTP-заголовке Cookie: SESSION=. Перед формированием заголовка выполняется XOR-расшифровка префикса cookie.
Для коммуникаций используется API WinHTTP в Windows с поддержкой работы через прокси. Вредоносное ПО пытается обнаружить WPAD. Если это не удаётся, оно использует конфигурацию прокси, связанную с Internet Explorer.
Аутентификация на C2
Аутентификация на C2 основана на механизме challenge и использует производный ключ HMAC-SHA256. Сервер должен вычислить HMAC по четырём байтам зашифрованных данных и вернуть первые 12 байт результата.
После успешной проверки ответа стейджер переключается с GET-опроса на POST-запросы для получения задач. Полученные задачи расшифровываются с помощью AES и выполняются в отдельном потоке.
Загрузка дополнительных payloads
Вредоносное ПО может загружать дополнительные payloads с URL-адресов, которые предоставляет C2. Для этого используется WinHTTP. Загруженные данные записываются в ранее созданный файл, благодаря чему DLL может выполнять функцию стейджера для доставки payloads.
Логика десериализации использует характерное пространство имён Baby::.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.



