Скрытая угроза в памяти: фрагмент .PYC использует cvtres.exe для связи с командным сервером

information security

Специалисты K7 Labs обнаружили новый многоступенчатый вредоносный код на Python, который использует сложные методы маскировки для скрытия своей активности. В ходе рутинного анализа был выявлен образец, применяющий многослойное обфусцирование. После деобфусцирования исследователи получили blob-объект размером 65 МБ, большая часть которого оказалась заполнителем, а в конце содержался валидный маршалированный .pyc-файл с кодом для внедрения в легитимные процессы Windows.

Описание

Данный вредоносный код демонстрирует несколько характерных особенностей: многоуровневое кодирование, маскировку типов архивов и объединение среды выполнения Python с подписанным исполняемым файлом, имеющим легитимное название. Эксперты отмечают, что злоумышленники специально используют доверенные системные процессы для скрытия вредоносной активности.

Цепочка заражения начинается с PE-дроппера, содержащего процедуру runtime-дешифрования. Этот компонент создает большой буфер в стеке, выполняет быструю SIMD-копию через цикл преобразований и записывает восстановленный полезный груз на диск через WriteFile. В результате создается файл config.bat, который сохраняется в системе перед выполнением.

Схема потока выполнения

Пакетный скрипт размещается по пути C:\Users\Public\config.bat и настраивает каталог C:\DragonAntivirus, после чего загружает файл с удаленного облачного хранилища. Хотя загружаемый файл имеет расширение .png, на самом деле это RAR-архив. Такой трюк часто используется злоумышленниками, поскольку файлы .png обычно считаются безопасными.

После загрузки скрипт использует встроенную команду tar для извлечения замаскированного архива. Извлеченный полезный груз включает несколько компонентов: AsusMouseDriver.sys (на самом деле защищенный паролем RAR-архив), Interput.json (файл с расширением JSON, который переименовывается в Install.bat) и файл Inx без расширения, представляющий собой легитимный исполняемый файл WinRAR.

Переименованный скрипт Install.bat преобразует Inx в ex.exe и использует его для извлечения защищенного архива AsusMouseDriver.sys с жестко заданным паролем в каталог C:\Users\Public\WindowsSecurityA\. В этом каталоге размещаются: файл ntoskrnl.exe (маскирующийся под системный компонент Windows, но фактически содержащий среду выполнения Python), blob Lib\image (основной обфусцированный полезный груз Python) и документ PDF для отвлечения внимания пользователя после заражения.

Затем скрипт запускает интерпретатор Python с двумя аргументами командной строки, которые служат входными данными для загрузчика. Интерпретатор использует многоуровневое деобфусцирование через цепочку преобразований Base64 → BZ2 → Zlib → marshal.loads и выполняет восстановленный .pyc-код непосредственно в памяти.

Процесс распаковки включает последовательное применение различных методов преобразования данных. Сначала выполняется декодирование Base64 для конвертации текстового кодирования в сырые байты. Затем происходит декомпрессия BZ2, снимающая первый уровень упаковки данных. После этого осуществляется распаковка Zlib, удаляющая второй компрессионный слой. Наконец, с помощью marshal.loads финальный поток байтов преобразуется в скомпилированный Python-байткод, готовый к выполнению.

В результате реконструкции 60-мегабайтного blob-объекта обнаруживается, что он содержит значительный объем заполнителя и бессмысленных данных. Только небольшая часть ближе к концу содержит валидный маршалированный Python-байткод. Этот конечный сегмент загружается через marshal и выполняется в памяти.

После выполнения полезного груза происходит немедленное внедрение процесса - скрытная техника, используемая для запуска вредоносного кода внутри легитимного процесса Windows. В данном случае вредоносная программа нацелена на cvtres.exe, служебную программу Microsoft. Запуск вредоносного кода внутри cvtres.exe дает злоумышленникам два ключевых преимущества: скрытность и устойчивость.

Скрытность достигается за счет того, что средства безопасности часто доверяют подписанным бинарным файлам Microsoft. Это позволяет вредоносной активности выглядеть как исходящая из легитимного процесса. Устойчивость обеспечивается за счет того, что даже при завершении процесса-загрузчика внедренный процесс продолжает работать и поддерживать связь с командным сервером.

При анализе дампа памяти cvtres.exe был обнаружен внедренный .NET-модуль. Этот компонент загружался во время выполнения и отображался в адресном пространстве cvtres.exe. Статический анализ в dnSpy выявил код, ответственный за установление соединения с командным сервером.

Исследование сетевого перехвата показало, что внедренный компонент выполняет TCP-коммуникацию и получает данные по зашифрованному каналу. Такая непрерывная двунаправленная зашифрованная схема трафика характерна для трояна удаленного доступа. Данный модуль поддерживает устойчивый канал управления, позволяющий злоумышленнику выдавать команды и получать ответы, включая передачу файлов, выполнение команд или разведку системы.

Эксперты подчеркивают, что использование проверенного антивирусного решения имеет критическое значение для защиты в современных условиях. Лаборатория K7 Labs непрерывно совершенствует детектирование подобных семейств вредоносных программ на различных стадиях заражения и обеспечивает защиту от новейших и появляющихся угроз. Особое внимание следует уделять мониторингу нехарактерной активности доверенных системных процессов и анализу сетевого трафика на предмет подозрительных соединений.

Индикаторы компрометации

MD5

  • 33dd6d8fcff3ca256f44a371fa3cf819
  • 675d475b5c02ca834e83be009e09db7c
Комментарии: 0