Специалистами экспертного центра безопасности Positive Technologies (PT ESC) зафиксированы признаки реализации злоумышленниками атаки через штатную функциональность службы ViPNet MFTP. На момент написания уведомления известная хронология атаки охватывает период как минимум с 1 июня по 14 июля 2026 года, а ее поверхность — как минимум 8 организаций.
Описание атаки
Посредством базовой функциональности транспортного протокола MFTP злоумышленники передают между клиентами файл-конверт (c расширением .ctl), содержащий вредоносную библиотеку wtsapi32.dll, которая загружается исполняемым файлом Itcsrvup64.Exe (компонент службы обновления ПО ViPNet) при помощи техники DLL Hijacking и сохраняется на файловую систему посредством техники Path Traversal по пути:
C:\ProgramData\InfoTeCS\<9-значный_идентификатор_устройства>\./../../../program files (x86)/infotecs/vipnet update system/wtsapi32.dll.wtsapi32.dll
ВПО представляет собой загрузчик, хранящий в .data-секции исполняемый файл в виде DLL-библиотеки с измененными магическими байтами (magic bytes) заголовка. ВПО выполняет проверку контекста запуска. В случае запуска в контексте любого процесса, кроме svchost.exe, ВПО находит работающий экземпляр процесса svchost.exe с параметром netsvcs в командной строке и внедряет туда указанную библиотеку.
Основной функционал ВПО сводится к работе в режиме прокси-сервера для перенаправления сетевого трафика, а также загрузке дополнительных DLL-библиотек в адресное пространство и их выполнению.
В основе обработки команд ВПО лежит диспетчер IOCTL-запросов, управляющий таблицей активных подключений через перехват WinAPI-функций NtDeviceIoControlFile, closesocket и shutdown. С помощью библиотеки Detours данная таблица блокирует преждевременное закрытие сетевых сокетов, а при получении запроса проверяет код операции — AFD_GET_TDI_HANDLES (0×12037) для регистрации нового сокета и AFD_RECV (0×12017) для инициации обработки входящего трафика. Дескрипторы сохраняются в таблицу (по 8344 байт на запись). При обработке кода 0×12017 ВПО записывает идентификаторы потока и процесса в файл C:\users\public\tesh4RPC.txt в формате threadid: pid=.
Параллельно с этим ВПО разворачивает TCP-сервер на сетевых портах 5003 и 5060, в бесконечном цикле принимая входящие подключения; для каждого клиента выделяется память под структуру сокета и создаётся отдельный поток с обработчиком, который через функцию select () (с таймаутом 200 микросекунд) непрерывно опрашивает сокет и читает данные порциями до 1024 байт через функцию recv (). После приема подключения и успешного «рукопожатия» между клиентом и сервером (отправка двух байт 0×0502 и получение строки ASDFASFSAFASDF) происходит обработка последующих данных: при получении сообщения в формате: <данные> ВПО создает новые сокеты и перенаправляет трафик между ними, работая как прокси; если же поступает исполняемый файл, загружает его в память собственного процесса и запускает в отдельном потоке.
Отдельно стоит отметить эпизод в конце мая 2026 года — на клиентские устройства VipNet был доставлен пакет обновления в виде .lzh-файла, содержащего образцы ВПО SetupCheck.dll и SetupChk.exe.
SetupChk.exe
ВПО считывает информацию из ключа реестра ОС Windows SOFTWARE\Wow6432Node\InfoTeCS\ITCSShared\AuthInfo, далее определяет версию клиента по ключу SOFTWARE\Infotecs\FeaturesAndComponents\Monitor_Feature (ожидает версию 4.5). Функциональность ВПО сводится к следующим действиям:
- Зачистка журналов InfoTeCS:
- C:\ProgramData\InfoTeCS\UpdateSystemData\UpdateSystem.Journal
- C:\ProgramData\InfoTeCS\UpdateSystemData\updateservice.log.txt
- C:\ProgramData\InfoTeCS\Mftp\mftp.debug.log
- C:\Program Files (x86)\InfoTeCS\ViPNet Client\mftp.log
- Сбор информации о системе: процессы, сетевые соединения, список установленных ПО и т. д.
- Формирование вредоносного конверта m02smnrf.ctl.
Также в процессе расследования на скомпрометированных узлах VipNet был обнаружен ряд дополнительного ВПО, среди которого стоит выделить:
- Загрузчик Donnect (файл mocdng.dll), описанный в статье;
- Бэкдор ShadowRelay (файл Diagnosis.exe), описанный в статье (ниже представлена конфигурация обнаруженного экземпляра ВПО):
{
"mode": "client",
"proto": "tcp",
"svri": "154.89.152.59",
"svrp": 443,
"reconnintv": 459,
"enctype": "aes",
"aeskey": "]zf,.Hso'!x3|ezz/hzHzxa(P=x.bB.r",
"rsapubkey": "not set",
"rsaprikey": "not set",
"antidebug": 1,
"autodelete": 0,
"autostart": 0,
"portreuse": 0,
"envpara": "3ff18683a02d3aefab2f",
"targetprocess": "",
"usehttp": 0,
"servicename": "svcsvc",
"servicedesc": "OneDrive client application",
"beattimeout": 65
}Метод обнаружения
Для проверки факта реализации инцидента рекомендуется запустить на узлах VipNet PowerShell-команду для обнаружения вредоносной библиотеки или признаков использования уязвимости Path Traversal:
Get-ChildItem -Path "C:\ProgramData\Infotecs\Mftp" -File -Recurse | Select-String -Pattern "\.dll|\.\/\.\.\/\.\.\/\.\.\/"
Пример результата выполнения команды в случае наличия соответствующих паттернов представлен ниже:
C:\ProgramData\Infotecs\Mftp\mftp.debug.log:166742:REDACTED [REDACTED]: File C:\ProgramData\InfoTeCS\REDACTED\./../../../program files (x86)/infotecs/vipnet update system/wtsapi32.dll with keepFlag=0 and fileSize=219136
Для проверки факта получения вредоносного обновления запустить на узлах VipNet PowerShell-команду для обнаружения соответствующих событий:
Get-ChildItem -Path "C:\ProgramData\Infotecs\UpdateSystemData" -File -Recurse | Select-String -Pattern "/driv_fs/"
Пример результата выполнения команды в случае наличия соответствующих паттернов представлен ниже:
C:\ProgramData\Infotecs\UpdateSystemData\updateservice.log.lo1:9157:REDACTED: Extracting file update/driv_fs/setup.exe.config
C:\ProgramData\Infotecs\UpdateSystemData\updateservice.log.lo1:9158:REDACTED: Extracting file update/driv_fs/setupcheck.dll
C:\ProgramData\Infotecs\UpdateSystemData\updateservice.log.lo1:9159:REDACTED: Extracting file update/driv_fs/setupchk.exeПри выявлении в рамках обнаружения признаков инцидента или подозрения на него специалисты Positive Technologies ESC готовы оказать поддержку в расследовании инцидента и обеспечении безопасности IT-инфраструктуры.
Рекомендации
Для нейтрализации угроз необходимо остановить и отключить службу ViPNet система обновления на каждом узле (АРМ/сервере) с установленным ПО ViPNet, а также запретить ее автоматический запуск.
Данная операция может быть выполнена двумя способами:
- Вариант А. Ручная настройка (через графический интерфейс ViPNet):
- Нажать Win + R, ввести services.msc и нажать Enter.
- В списке служб найти ViPNet система обновления (или ViPNet Update System).
- Открыть свойства службы (двойной клик).
- В поле Тип запуска выбрать Отключена (Disabled). Нажать кнопку Стоп (Stop).
- Нажать Применить и ОК.
- Вариант Б. Автоматизированная настройка (через PowerShell/CMD от имени УЗ администратора) — выполнить последовательно следующие команды для остановки и отключения службы:
powershell
# Остановка службы
Stop-Service -Name "itcsrvup" -Force
# Установка типа запуска "Отключена"
Set-Service -Name " itcsrvup" -StartupType Disabled
Дополнительно необходимо отключить на координаторах HW и xFirewall службу MFTP при помощи команды mftp stop.
Также необходимо отслеживать появление индикаторов компрометации на узлах и в сети и оперативно и своевременно обновлять компоненты ПО VipNet.