UPD 30.01.2026: добавили технический анализ вредоносного ПО и дополнительные индикаторы компрометации.
20 января этого года произошла атака на цепочку поставок при помощи антивирусного ПО eScan, разрабатываемого индийской компанией MicroWorld Technologies. Выяснилось, что через сервер обновлений этого продукта распространялось вредоносное ПО. В тот же день наши защитные решения смогли обнаружить и предотвратить атаки с использованием этого зловреда. 21 января компания Morphisec проинформировала разработчиков антивирусного ПО eScan, и они приняли меры по реагированию на инцидент.
Вредоносное ПО, использованное в атаке
Выяснилось, что в ходе заражения пользователи с установленными защитными продуктами eScan получали вредоносный файл Reload.exe, запуск которого начинал многоэтапную цепочку заражения. По данным коллег из Morphisec, первыми исследовавших атаку, Reload.exe предотвращал получение дальнейших обновлений продукта при помощи модификации файла HOSTS, чем блокировал возможность автоматического исправления проблемы разработчиками защитного решения. Это, помимо всего прочего, приводило к появлению ошибки сервиса обновления.
Зловред также обеспечивал закрепление в системе, соединялся с управляющими серверами и загружал дополнительную вредоносную нагрузку. Закрепление обеспечивалось при помощи создания задач в планировщике, в качестве примера названия одной из таких вредоносных задач приводится имя CorelDefrag. Также в ходе заражения на диск записывался вредоносный файл с именем consctlx.exe.
Как злоумышленникам удалось провернуть эту атаку
По запросу информационного портала BleepingComputer разработчики eScan объяснили, что злоумышленникам удалось получить доступ к одному из региональных серверов обновления и «подбросить» модифицированный файл, который автоматически был доставлен клиентам. Они подчеркивают, что речь не идет об уязвимости — инцидент классифицируется как нелегитимный доступ к инфраструктуре. Вредоносный файл распространялся с поддельной, невалидной цифровой подписью.
По словам разработчиков, затронутая инцидентом инфраструктура была быстро изолирована, а все учетные данные для доступа к ней сброшены.
В нашей телеметрии обнаружилось несколько сотен устройств, принадлежащих как частным пользователям, так и организациям, которые столкнулись с вредоносными нагрузками, связанными с атакой на цепочку поставок eScan. Большая часть из них находилась в Южной Азии, в первую очередь в Индии, Бангладеш, Шри Ланке и на Филиппинах. Изучив обнаруженные случаи заражения, мы выяснили, что атакующие смогли подменить легитимный компонент антивируса eScan, находящийся по пути C:\Program Files (x86)\escan\reload.exe, вредоносным исполняемым файлом. Этот файл запускается всякий раз, когда компоненты eScan в процессе выполнения обращаются к reload.exe. Он подписан поддельной, невалидной цифровой подписью (серийный номер сертификата: 68525dadf70c773d41609ff7ca499fb5). Имплант сильно обфусцирован при помощи развертывания констант и косвенных переходов, что сделало его анализ довольно утомительным.
При старте файл reload.exe проверяет, запущен ли он из директории Program Files, и, если нет, прекращает выполнение. Затем он инициализирует среду CLR (Common Language Runtime) внутри своего процесса, которую использует для запуска в памяти компактного кода на .NET (SHA1: eec1a5e3bb415d12302e087a24c3f4051fca040e). Этот код построен на основе утилиты UnmanagedPowerShell, которая позволяет выполнять PowerShell-код в любом процессе. Атакующие изменили исходный код этого проекта, добавив функциональность по обходу AMSI, и использовали его для запуска вредоносного PowerShell-скрипта внутри процесса reload.exe. Скрипт состоит из трех строк и выглядит следующим образом:
Каждая из этих строк отвечает за декодирование и запуск вредоносной нагрузки на PowerShell, закодированной по алгоритму Base64. Эти три вредоносные нагрузки, которые мы разберем далее, используются для заражения устройства.
Вредоносная нагрузка, модифицирующая антивирус eScan
Первой выполняется нагрузка, которая вмешивается в работу установленного решения eScan, в попытках не дать ему получать обновления и обнаруживать вредоносные компоненты. Для этого она выполняет несколько манипуляций, включая следующие:
- Удаляет несколько файлов антивируса eScan, в том числе файл Remote Support Utility, расположенный по пути
C:\Program Files (x86)\Common Files\MicroWorld\WGWIN\tvqsapp.exe. Любопытно, что перед удалением зловред создает бэкап удаленных файлов в виде ZIP-архива, который помещает в директориюC:\ProgramData\esfsbk. - Изменяет ключ реестра
HKLM\SOFTWARE\WOW6432Node\MicroWorld\eScan for Windows\MwMonitor, добавляя папкиC:\Windows,C:\Program FilesиC:\Program Files (x86)в исключения антивируса. - Добавляет серверы обновления антивируса eScan (например, update1.mwti.net) в файл hosts и присваивает им IP-адрес 2.3.4.0.
- Изменяет ключи реестра, связанные с антивирусными базами, например, присваивая число 999 значению WTBases_new ключа реестра
HKLM\SOFTWARE\WOW6432Node\MicroWorld\eScan for Windows\ODS.
В процессе модификации eScan, вредоносная нагрузка записывает отладочные логи в файл C:\ProgramData\euapp.log, который можно использовать как индикатор компрометации.
Стоит отметить, что запустив вредоносную нагрузку на тестовом устройстве с установленным eScan, мы не наблюдали успешное выполнение всех описанных действий. Так, компонент самозащиты eScan успешно предотвратил запись в файл hosts, блокирующую обновления. Тем не менее, после завершения выполнения вредоносной нагрузки мы не смогли обновить антивирус. Вместо этого мы получили следующее сообщение об ошибке:

Сообщение об ошибке, которое мы увидели, попытавшись обновить eScan после манипуляций вредоносной нагрузки. Хотя оно утверждает, что операция завершилась успешно, само его появление — это аномалия, и в действительности обновления не были установлены
Наконец, первая вредоносная нагрузка заменяет компонент eScan C:\Program Files (x86)\eScan\CONSCTLX.exe на вредоносную нагрузку следующего этапа, которую мы опишем позже.
Вредоносная нагрузка для обхода AMSI
Вторая вредоносная нагрузка нацелена на обход AMSI. В ней используется типичный код для этой задачи — он определяет адрес функции AmsiScanBuffer и патчит ее так, чтобы она всегда возвращала ошибку.
Вредоносная нагрузка для проверки жертвы
Цель третьей вредоносной нагрузки, которая выполняется последней, — определить, стоит ли продолжать цепочку заражения на устройстве жертвы, и, если стоит, доставить вредоносную нагрузку следующего этапа. При запуске она сопоставляет список установленного ПО, запущенных процессов и служб с блоклистом. Строки этого блоклиста связаны с инструментами анализа и защитными решениями. Стоит отметить, что в него включены и решения «Лаборатории Касперского». Это значит, что зловред прервет цепочку заражения, если на машине жертвы установлены наши продукты.
Если проверка пройдена, вредоносная нагрузка выполняет на зараженном устройстве устойчивую вредоносную нагрузку на базе PowerShell. Для этого она:
- Записывает вредоносную нагрузку в значение
Corelключа реестраHKLM\Software\E9F9EEC3-86CA-4EBE-9AA4-1B55EE8D114E. - Создает запланированную задачу
Microsoft\Windows\Defrag\CorelDefrag, которая выполняет следующий PowerShell-скрипт каждый день в случайное время:
Этот скрипт извлекает вредоносную нагрузку из ключа реестра
HKLM\Software\E9F9EEC3-86CA-4EBE-9AA4-1B55EE8D114E, декодирует по алгоритму Base64 и выполняет ее.
Перед завершением выполнения, как связанным с непройденной проверкой, так и после успешного выполнения вредоносной нагрузки на PowerShell, зловред отправляет на C2-сервер сигнальное сообщение. Для этого он отправляет запрос GET, код статуса и (опционально) сообщение об ошибке, на следующие URL-адреса:
- https://vhs.delrosal[.]net/i;
- https://tumama.hns[.]to;
- https://blackice.sol-domain[.]org;
- https://codegiant.io/dd/dd/dd.git/download/main/middleware[.]ts.
Ответ на этот GET-запрос не обрабатывается.
Как результат, в ходе заражения устройство жертвы получает две устойчивые вредоносные нагрузки:
- Вредоносная нагрузка CONSCTLX.exe, которую должен запускать антивирус eScan.
- Вредоносная нагрузка на PowerShell, которую запускает задача планировщика.
Вредоносная нагрузка CONSCTLX.exe
Эта вредоносная нагрузка обфусцирована так же, как и Reload.exe. В ней реализована такая же логика инициализации среды CLR для выполнения PowerShell-скрипта внутри собственного процесса. Задача этого скрипта — извлечь устойчивую вредоносную нагрузку на базе PowerShell из ключа реестра HKLM\Software\E9F9EEC3-86CA-4EBE-9AA4-1B55EE8D114E и выполнить ее. Помимо этого скрипт содержит любопытную функциональность — изменяет время последнего обновления продукта eScan на текущее, записывая текущую дату в файл C:\Program Files (x86)\eScan\Eupdate.ini. Это нужно, чтобы графический интерфейс eScan показывал недавнее время обновления и пользователь не заметил, что обновления продукта на самом деле не загружаются.
Помимо запуска PowerShell-скрипта, зловред пытается получить резервную вредоносную нагрузку от C2-инфраструктуры, отправляя GET-запросы на следующие URL-адреса:
- https://csc.biologii[.]net/sooc;
- https://airanks.hns[.]to.
Если есть необходимость в этой вредоносной нагрузке, сервер отвечает блоком двоичных данных, зашифрованным по алгоритму RC4, который компонент расшифровывает и запускает как шеллкод.
Вредоносная нагрузка на PowerShell
Вторая вредоносная нагрузка написана полностью на PowerShell. При запуске она выполняет обход AMSI и те же проверки, что и вредоносная нагрузка для валидации жертвы. Затем она отправляет GET-запрос в инфраструктуру C2, используя те же URL-адреса, что и валидатор. В этом запросе значение cookie с именем s содержит информацию о системе, зашифрованную по алгоритму RC4 и закодированную в Base64, в том числе ID жертвы, имя пользователя и имя текущего процесса. В ответ C2-сервер может прислать PowerShell-скрипт для запуска на машине жертвы.
Редкий вектор атаки
Запуск вредоносного ПО через обновление защитного решения — это довольно нестандартный ход. Атаки на цепочки поставок в целом происходят не так часто, а компрометация антивирусного продукта — это и вовсе редкость. Основываясь на анализе обнаруженных имплантов, мы можем заключить, что это тщательно подготовленная атака, поскольку для ее реализации злоумышленникам потребовалось:
- Получить доступ к серверу обновления защитного решения.
- Изучить устройство продукта eScan, разобраться в том, как работает механизм его обновления и как можно им манипулировать.
- Разработать уникальные импланты с учетом особенностей цепочки поставок.
Любопытной особенностью имплантов является то, что они предусматривают резервные методы выполнения вредоносных операций. Например, если задача, запускающая зловред на PowerShell будет удалена, ту же самую нагрузку равно запустит CONSCTLX.exe. Если же C2-серверы, которые она использует, будут обнаружены и заблокированы, атакующие по-прежнему смогут запускать вредоносный шеллкод на зараженной машине через тот же файл CONSCTLX.exe.
Хорошо в этой истории то, что атаку удалось остановить достаточно быстро. Поскольку защитные решения пользуются высоким уровнем доверия в операционной системе, злоумышленники могли бы прибегнуть к множеству креативных способов заражения, например, при помощи имплантов уровня ядра. Однако на практике они полагались на компоненты пользовательского уровня и распространенные техники, такие как использование задач планировщика для закрепления в системе. Мы считаем, что именно благодаря этому атаку было легко обнаружить.
Как оставаться в безопасности?
Для выявления факта заражения рекомендуется изучить запланированные задачи на предмет запуска через них вредоносного ПО, проверить файл %WinDir%\System32\drivers\etc\hosts на наличие заблокированных доменов eScan, а также просмотреть логи обновления eScan за 20 января.
Разработчики eScan создали для своих пользователей утилиту, удаляющую зловред, откатывающую сделанные им модификации и возвращающую нормальную функциональность антивируса. Утилита рассылается клиентам по запросу в службу технической поддержки.
Пользователям решения также рекомендуется заблокировать известные адреса серверов управления зловредом.
Защитные решения «Лаборатории Касперского», такие как Kaspersky Symphony, успешно выявляют используемое злоумышленниками вредоносное ПО благодаря технологии поведенческого анализа.
Индикаторы компрометации
Сетевые индикаторы
https://vhs.delrosal[.]net/i
https://tumama.hns[.]to
https://blackice.sol-domain[.]org
https://codegiant.io/dd/dd/dd.git/download/main/middleware[.]ts
https://csc.biologii[.]net/sooc
https://airanks.hns[.]to
Вредоносный компонент Reload.exe
1617949c0c9daa2d2a5a80f1028aeb95ce1c0dee
a928bddfaa536c11c28c8d2c5d16e27cbeaf6357
ebaf9715d7f34a77a6e1fd455fe0702274958e20
96cdd8476faa7c6a7d2ad285658d3559855b168d
Вредоносный компонент CONSCTLX.exe
2d2d58700a40642e189f3f1ccea41337486947f5
Файлы и папки
C:\ProgramData\esfsbk
C:\ProgramData\euapp.log
Задача планировщика
Microsoft\Windows\Defrag\CorelDefrag
Ключи реестра
HKLM\Software\E9F9EEC3-86CA-4EBE-9AA4-1B55EE8D114E
HKLM\SOFTWARE\WOW6432Node\MicroWorld\eScan for Windows\ODS – value WTBases_new set to 999








Вредоносные обновления антивируса eScan: как обнаружить и как избавиться