Совместное расследование компаний SentinelLabs и QGroup GmbH обнаружило шпионскую кампанию неизвестной ранее группировки Sandman, направленную на поставщиков телекоммуникационных услуг на Ближнем Востоке, в Западной Европе и в субконтиненте Южной Азии. В своих атаках хакеры используют сложный модульный бэкдор, основанный на Lua.
По данным исследователей, атаки группы обычно начинаются с того, что злоумышленники получают доступ к корпоративной сети, используя для этого украденные учетные данные администратора. После этого Sandman применяет атаки типа pass-the-hash для аутентификации на удаленных серверах и в службах через повторное использование NTLM-хэшей, хранящихся в памяти.
Так как в одном из изученных случаев все взломанные рабочие станции принадлежали руководящему персоналу, эксперты считают, что это свидетельствует об интересе злоумышленников к секретной и конфиденциальной информации.
Отмечается, что в своих атаках Sandman использует модульное вредоносное ПО LuaDream, которое применяется для атак типа DLL hijacking на целевые системы. Малварь получила такое название благодаря использованию JIT-компилятора LuaJIT, и исследователи отмечают, что это довольно редкое явление, равно как и использование языка Lua хакерами в целом. При этом подчеркивается, что хакеры лишь применяют LuaJIT как средство для развертывания бэкдоров в целевых организациях.
LuaDream применяется для сбора данных и управления плагинами, расширяющих ее функциональность. Они загружаются с управляющего сервера и выполняются локально в скомпрометированной системе.
Разработка этой малвари, похоже, активно ведется по сей день. Так, найденная строка «12.0.2.5.23.29» указывает на номер версии, и аналитики обнаружили следы логов и тестовых функций, датированных еще летом 2022 года.
В основе работы LuaDream лежит сложный многоэтапный in-memory процесс, направленный на избежание обнаружения, который инициируется службами Windows Fax или Spooler, запускающими вредоносный файл DLL. При этом было замечено, что временные отметки в файлах DLL очень близки к датам самих атак, а это может указывать на тот факт, что файлы были подготовлены специально для конкретных взломов.
В целом LuaDream состоит из 34 компонентов (13 основных и 21 вспомогательный), которые используют байт-код LuaJIT и API Windows через библиотеку ffi. Основные компоненты отвечают за базовые функции, такие как сбор системных и пользовательских данных, управление плагинами и связь с управляющим сервером, а вспомогательные занимаются техническими аспектами, такими как предоставление библиотек Lua и определений для Windows API.
Поскольку в каждой атаке злоумышленники развертывают через LuaDream лишь определенные плагины, исследователям SentinelLabs не удалось составить полный список. В отчете лишь отдельно отмечен плагин с именем cmd, название которого подразумевает, что злоумышленники могут выполнять произвольные команды на взломанном устройстве.
После инициализации LuaDream подключается к управляющему серверу (посредством TCP, HTTPS, WebSocket или QUIC) и передает хакерам всю собранную в системе информацию, включая версию малвари, IP- и MAC-адреса, сведения об ОС и так далее.
Отдельно в отчете отмечается, что, невзирая на частичное раскрытие инфраструктуры хакеров и детальное изучение малвари, происхождение самой группировки по-прежнему остается неясным. Предполагается, что LuaDream вообще может оказаться не инструментом какой-то конкретной хак-группы, а детищем некоего стороннего поставщика, который работает на хакеров по найму.