Python-конструктор позволяет операторам создавать Windows-инфостилеры
Конструктор вредоносного ПО на Python распространяется во вложенных ZIP-архивах и работает по модели «ВПО как услуга». Операторы могут создавать с его помощью настраиваемые инфостилеры для Windows, задавать вебхук для отправки данных и выбирать компилятор, Nuitka или PyInstaller.
Сборка и меры против анализа
Конструктор автоматически устанавливает зависимости и ищет установленные версии Python по переменным окружения, стандартным каталогам, путям для конкретных версий и записям в реестре Windows. Nuitka создаёт нативные исполняемые файлы без восстанавливаемого байт-кода Python. PyInstaller упаковывает интерпретатор и байт-код приложения в один исполняемый файл. Встроенная полезная нагрузка по функциональности эквивалентна инфостилеру для Windows, написанному на Python.
Конфиденциальные строки, в том числе конечные точки API, пути в реестре, SQL-запросы и команды, хранятся в закодированном Base64 и зашифрованном с помощью XOR виде. Библиотеки высокого риска загружаются только при необходимости с помощью механизма ленивой загрузки.
Вредоносное ПО проверяет, запущено ли оно под отладчиком, в том числе вызывает IsDebuggerPresent, и ищет процессы, связанные с VirtualBox, Xen, QEMU и Parallels. На системах с объёмом дискового пространства менее 50 ГБ оно завершает работу. Интервал сна, зависящий от идентификатора процесса, задерживает выполнение. Эти задержки предназначены для обхода коротких периодов наблюдения в песочницах.
Закрепление и сбор данных
Для закрепления вредоносное ПО записывает значение в раздел реестра HKCU\Software\Microsoft\Windows\CurrentVersion\Run и использует обманчивое имя WindowsUpdate. Стиллер нацелен на 17 браузеров на базе Chromium. Он извлекает мастер-ключи браузеров с помощью Windows DPAPI, копирует заблокированные базы данных SQLite во временное хранилище и расшифровывает учётные данные с помощью AES-256-GCM или устаревших методов DPAPI.
Кроме того, вредоносное ПО обращается к истории и файлам cookie Firefox, извлекает сохранённые пароли Wi-Fi командой netsh wlan ... key=clear и ищет токены аутентификации Discord в файлах LevelDB. Токены Discord проверяются через Discord API, а файлы cookie .ROBLOSECURITY Roblox проверяются на стороне Roblox перед сбором.
Стиллер собирает системную и геолокационную информацию. Полученные данные он упаковывает в ZIP-архив в оперативной памяти с помощью BytesIO, что снижает активность на диске, и отправляет архив на вебхук, контролируемый оператором. Вредоносное ПО сочетает кражу учётных данных, токенов и файлов cookie со сбором сведений о системе, закреплением, обфускацией и проверками на виртуальные машины.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.



