Угрозы

VIPERTUNNEL прятали в фальшивой DLL: исследователи описали новый Python-бэкдор

Маша Даровская
By Маша Даровская , IT-редактор и автор
VIPERTUNNEL прятали в фальшивой DLL: исследователи описали новый Python-бэкдор
Обложка © Anonhaven

Швейцарская InfoGuard Labs опубликовала технический разбор Python-бэкдора VIPERTUNNEL, который использовался для скрытого закрепления в системе и сетевого туннелирования внутри скомпрометированных сред. Исследование вышло 9 апреля 2026 года и основано на разборе реального инцидента с программой-вымогателем DragonForce.

Исследователи пишут, что обнаружили следы вредоносной активности во время проверки механизмов закрепления в системе. Их внимание привлекла необычная запланированная задача с именем 523135538, которая запускала C:\ProgramData\cp49s\pythonw.exe без каких-либо аргументов командной строки. Для Windows-среды это нетипично: такой запуск Python-интерпретатора не указывает ни путь к скрипту, ни ключ -c, а значит выглядит подозрительно уже сам по себе.

Дальше выяснилось, что злоумышленники использовали не классическую загрузку DLL, а другой трюк. В каталоге рядом с интерпретатором находился файл Lib\sitecustomize.py. Этот модуль Python автоматически импортируется при запуске интерпретатора, поэтому размещённый там код выполняется без отдельного вызова в командной строке. В разборе показано, что скрипт проверял, запущен ли pythonw.exe без дополнительных параметров, а затем подсовывал следующую стадию загрузки.

import runpy, os, sys, ctypes

a = ctypes.c_int()

p = ctypes.POINTER(ctypes.c_wchat_p)()

ctypes.pythonapi.Py_GetArgcArgv(ctypes.byref(a), ctypes.byref(p))

if a.value == 1:

    d = os.path.dirname(sys.executable)

    t = os.path.join(d, "b5yogiiy3c.dll")

    runpy.run_path(t, run_name='__main__')

Следующим звеном цепочки был файл b5yogiiy3c.dll, но DLL он оказался только по названию. По данным InfoGuard Labs, это был Python-скрипт, замаскированный под библиотеку с расширением .dll, чтобы сбить с толку аналитиков и затруднить автоматическое обнаружение. Внутри находилось несколько слоёв запутывания кода, а полезная нагрузка разворачивалась поэтапно. Указывают исследователи и на сочетание Base85, AES, ChaCha20 и приёмов усложнения логики управления.

Финальная полезная нагрузка представляла собой туннель SOCKS5 на Python. Проще говоря, это инструмент, который позволяет злоумышленнику использовать заражённую машину как промежуточную точку для доступа к другим внутренним ресурсам сети. В разборе сказано, что VIPERTUNNEL применялся для закрепления и перемещения внутри инфраструктуры, а архитектура кода строилась вокруг трёх основных компонентов: один отвечал за обмен данными по сети, второй — за логику проксирования, третий — за связь с управляющим сервером.

Отдельно исследователи проследили эволюцию этого инструмента. По их оценке, ранние образцы VIPERTUNNEL появились ещё в конце 2023 года. Затем шёл этап упрощённого запутывания, после него — стадия доработки и отладки в 2024–2025 годах, а современный производственный вариант они относят к периоду с сентября по декабрь 2025 года. Такой вывод сделан на основе временных меток загрузок в VirusTotal, регистрации доменов, архивных данных и собственных кейсов реагирования.

InfoGuard также связывает VIPERTUNNEL с кластером UNC2165 и группировкой EvilCorp. Это не новая гипотеза: Wiz со ссылкой на отчёт Google Threat Horizons ещё в январе 2025 года писал, что UNC2165 использовала Python-туннелер VIPERTUNNEL после заражения через FAKEUPDATES, а затем переходила к краже данных и развёртыванию RANSOMHUB в гибридной инфраструктуре.

Интересно и то, что во время охоты за похожими образцами исследователи нашли ту же схему запутывания в другом вредоносе — ShadowCoil, который крадёт учётные данные из Chrome, Edge и Firefox. Это указывает либо на общий набор инструментов, либо на единый «упаковщик» для разных полезных нагрузок. Проще говоря, злоумышленники, похоже, используют одну и ту же техническую основу не для одного семейства вредоносных программ, а сразу для нескольких.

InfoGuard советует обращать внимание на запуск pythonw.exe без аргументов через запланированные задачи, проверять нестандартные sitecustomize.py вне обычных каталогов Python и отслеживать неожиданные исходящие соединения Python-процессов по 443-му порту. Исследователи также опубликовали YARA-правила и коллекцию хэшей в VirusTotal.

Есть новость? Станьте автором.

Мы сотрудничаем с независимыми исследователями и специалистами по кибербезопасности. Отправьте нам новость или предложите статью на рассмотрение редакции.

Вопросы по теме

Что такое VIPERTUNNEL простыми словами?
Это Python-бэкдор, то есть скрытый вредоносный компонент, который даёт злоумышленнику устойчивый доступ к заражённой системе и позволяет использовать её как промежуточную точку для дальнейших действий в сети. В исследовании InfoGuard он описан как SOCKS5-туннелер для закрепления и сетевого перемещения.
Почему в новости столько внимания к pythonw.exe?
Потому что именно его запуск без аргументов стал одним из первых заметных признаков компрометации. Исследователи нашли запланированную задачу, которая запускала интерпретатор без указания скрипта, а дальше вредоносная логика подхватывалась автоматически через sitecustomize.py.
Что такое sitecustomize.py и почему это важно?
Это Python-модуль, который может автоматически импортироваться при старте интерпретатора. Если злоумышленник подложил туда вредоносный код, тот выполнится сам, без явного вызова в командной строке. Именно на этом и строилась схема закрепления в разобранном кейсе.
Файл DLL действительно был библиотекой?
Нет. По данным InfoGuard, файл с расширением .dll на деле был Python-скриптом. Такое маскирование помогает увести анализ в ложную сторону и снизить шанс быстрого распознавания.
С кем связывают VIPERTUNNEL?
InfoGuard соотносит его с кластером UNC2165 и EvilCorp, а Wiz ранее писал, что UNC2165 уже применяла VIPERTUNNEL в кампаниях с FAKEUPDATES и последующим развёртыванием RANSOMHUB.
Это единичный образец или часть более широкой цепочки?
Судя по исследованию, это часть более широкой технической экосистемы. Та же схема запутывания нашлась у ShadowCoil — вредоноса для кражи данных из браузеров. Это указывает на общее развитие инструментария, а не на случайный отдельный файл.
Что стоит проверить защитникам?
Запланированные задачи с запуском pythonw.exe без аргументов, нестандартные sitecustomize.py в нештатных папках Python и неожиданные исходящие соединения Python-процессов по 443-му порту. Эти рекомендации перечислены в материалах исследователей.