XWorm - относительно новый представитель когорты троянцев удаленного доступа, который уже заслужил свое место среди самых стойких угроз по всему миру.
С 2022 года, когда он был впервые замечен исследователями, он претерпел ряд крупных обновлений, которые значительно расширили его функциональность и укрепили его устойчивость.
Команда аналитиков из ANY.RUN наткнулась на новейшую версию вредоносного ПО и не смогла отказаться от возможности разобрать ее на части, чтобы изучить конфигурации XWorm mechanics. Вот как они это сделали и что они нашли.
Исходный код образца XWorm
Рассматриваемый образец был обнаружен в ANY. База данных вредоносных программ RUN, хранилище, содержащее подробные отчеты об анализе всех файлов и ссылок, которые были загружены пользователями изолированной среды в общедоступном режиме.
Быстрый просмотр результатов анализа показал, что образец изначально распространялся через MediaFire, службу размещения файлов. Вредоносная программа была упакована в архив RAR и защищена паролем.
После выполнения угроза была мгновенно обнаружена правилами Suricata и идентифицирована как XWorm.
Тактика, приемы и процедуры XWorm (TTPS)
The sandbox report highlighted several techniques used by the sample:
MITRE T1547.001: XWorm добавил свой ярлык в каталог запуска.
MITRE T1053.005: Он использовал планировщик задач для перезапуска самого себя с повышенными привилегиями, как указано параметром "/ RL HIGHEST".
MITRE T1074.001: Программное обеспечение было установлено в общедоступном каталоге.
MITRE T1571: Вредоносная программа пыталась подключиться к удаленному серверу, но ответа получено не было.
Неудачная попытка XWorm уклониться от анализа в изолированной среде
Поскольку первоначальному отчету об анализе было несколько дней, команда решила еще раз прогнать образец через изолированную среду, чтобы проверить наличие новых действий.
Однако после запуска вредоносная программа почти сразу же завершила работу. Короткое расследование показало, что образец теперь запрашивал специальную службу, чтобы определить, запущена ли она в виртуальной изолированной среде.
По сути, разработчики XWorm внедрили метод уклонения, который приводил к завершению работы вредоносного программного обеспечения, как только оно обнаруживало виртуальную среду.
Чтобы преодолеть это, команда включила локальный прокси-сервер в настройках изолированной среды. Эта функция заменяет IP-адрес центра обработки данных виртуальной машины на IP-адрес реального интернет-провайдера, заставляя вредоносное ПО думать, что оно запущено на компьютере реального пользователя.
После повторного запуска примера с включенным постоянным прокси-сервером XWorm был успешно запущен и начал свою деятельность.
Кроме того, с помощью функции прокси MITM стало возможным извлекать информацию, переданную XWorm в Telegram (MITRE T1102). Данные включали: версию вредоносного ПО (XWorm V3.1), имя пользователя компьютера, версию операционной системы и, вероятно, хэш жертвы.
Статический анализ нового варианта XWorm
Собрав всю важную информацию, предоставленную изолированной средой, аналитики приступили к фазе статического анализа своих исследований. Первым шагом было загрузить образец в Detect it Easy (DIE), отраслевой стандарт для первоначального анализа вредоносных программ. Программа быстро определила, что это была .NET-вариация XWorm.
После этого единственным логичным шагом для команды было открыть файл в dnSpy, отладчике .NET, который быстро выявил, что двоичный файл подвергался сильному запутыванию. Однако DIE не смог распознать упаковщик даже при использовании эвристического сканирования.
Использование de4dot, деобфускатора и распаковщика .NET, также не дало никакого эффекта.
Больше техник уклонения и сохранения XWorm
Дальнейшее исследование вредоносного двоичного файла позволило команде раскрыть дополнительные части головоломки. В частности, был обнаружен ряд дополнительных механизмов, используемых вредоносным ПО:
Обнаружение виртуализации: XWorm использовал запрос WMI "Выбрать * из Win32_ComputerSystem" для проверки наличия сред VMware или VirtualBox.
Обнаружение отладчика: он также запустил функцию API CheckRemoteDebuggerPresent, чтобы проверить, отлаживается ли она.
Обнаружение изолированной среды: двоичный файл просканировал систему, чтобы увидеть, была ли загружена библиотека SbieDll.dll.
Проверка IP-адреса центра обработки данных: Xworm запросил компьютер, чтобы определить, размещен ли он в центре обработки данных.
Постоянство: XWorm использовал реестр и планировщик задач для установления постоянного присутствия в системе.
Извлечение конфигурации XWorm
Затем аналитики обнаружили конструктор, который выглядел как блок, содержащий настройки. Они использовали функцию для переназначения некоторых ее полей. Вредоносная программа сначала вычислила хэш MD5 из значения в разделе предполагаемых настроек.
Затем он дважды скопировал полученное значение во временный массив, но из-за однократной ошибки MD5 дважды копировался не полностью. Команда использовала полученный массив в качестве ключа для расшифровки входящих строк base64 с использованием AES в режиме ECB.
Они также обнаружили, что используемое поле было мьютексом. Весь процесс подробно описан в статье блога ANY.RUN "XWorm: технический анализ новой версии вредоносного ПО".
Конфигурация XWorm
Полная конфигурация нового варианта XWorm выглядит следующим образом:
Заключение
Получение конфигураций новейшей вредоносной программы имеет решающее значение, но отнимает много времени. Чтобы сделать это более эффективным, вы можете запускать свои образцы через песочницу ANY.RUN, чтобы получить доступ к необходимой информации за считанные секунды.
Проверьте это сами, используя образец XWorm. Кроме того, ANY.RUN предлагает службам безопасности 14-дневную бесплатную пробную версию своего тарифного плана top, чтобы помочь им протестировать возможности сервиса.
С 2022 года, когда он был впервые замечен исследователями, он претерпел ряд крупных обновлений, которые значительно расширили его функциональность и укрепили его устойчивость.
Команда аналитиков из ANY.RUN наткнулась на новейшую версию вредоносного ПО и не смогла отказаться от возможности разобрать ее на части, чтобы изучить конфигурации XWorm mechanics. Вот как они это сделали и что они нашли.
Исходный код образца XWorm
Рассматриваемый образец был обнаружен в ANY. База данных вредоносных программ RUN, хранилище, содержащее подробные отчеты об анализе всех файлов и ссылок, которые были загружены пользователями изолированной среды в общедоступном режиме.
Быстрый просмотр результатов анализа показал, что образец изначально распространялся через MediaFire, службу размещения файлов. Вредоносная программа была упакована в архив RAR и защищена паролем.
![]() |
Рисунок 1: Страница MediaFire, содержащая ссылку на скачивание архива. |
После выполнения угроза была мгновенно обнаружена правилами Suricata и идентифицирована как XWorm.
![]() |
Рисунок 2: Трафик XWorm, помеченный изолированной средой как вредоносный. |
Тактика, приемы и процедуры XWorm (TTPS)
The sandbox report highlighted several techniques used by the sample:
![]() |
Рисунок 3: Действия XWorm в зараженной системе. |
MITRE T1547.001: XWorm добавил свой ярлык в каталог запуска.
MITRE T1053.005: Он использовал планировщик задач для перезапуска самого себя с повышенными привилегиями, как указано параметром "/ RL HIGHEST".
MITRE T1074.001: Программное обеспечение было установлено в общедоступном каталоге.
MITRE T1571: Вредоносная программа пыталась подключиться к удаленному серверу, но ответа получено не было.
Неудачная попытка XWorm уклониться от анализа в изолированной среде
Поскольку первоначальному отчету об анализе было несколько дней, команда решила еще раз прогнать образец через изолированную среду, чтобы проверить наличие новых действий.
Однако после запуска вредоносная программа почти сразу же завершила работу. Короткое расследование показало, что образец теперь запрашивал специальную службу, чтобы определить, запущена ли она в виртуальной изолированной среде.
По сути, разработчики XWorm внедрили метод уклонения, который приводил к завершению работы вредоносного программного обеспечения, как только оно обнаруживало виртуальную среду.
Чтобы преодолеть это, команда включила локальный прокси-сервер в настройках изолированной среды. Эта функция заменяет IP-адрес центра обработки данных виртуальной машины на IP-адрес реального интернет-провайдера, заставляя вредоносное ПО думать, что оно запущено на компьютере реального пользователя.
![]() |
Рисунок 4: Локальный прокси-сервер предоставляет IP-адреса из многочисленных |
После повторного запуска примера с включенным постоянным прокси-сервером XWorm был успешно запущен и начал свою деятельность.
Кроме того, с помощью функции прокси MITM стало возможным извлекать информацию, переданную XWorm в Telegram (MITRE T1102). Данные включали: версию вредоносного ПО (XWorm V3.1), имя пользователя компьютера, версию операционной системы и, вероятно, хэш жертвы.
![]() |
Рисунок 5: Системная информация, собранная XWorm (MITRE T1082). |
Статический анализ нового варианта XWorm
Собрав всю важную информацию, предоставленную изолированной средой, аналитики приступили к фазе статического анализа своих исследований. Первым шагом было загрузить образец в Detect it Easy (DIE), отраслевой стандарт для первоначального анализа вредоносных программ. Программа быстро определила, что это была .NET-вариация XWorm.
![]() |
Рисунок 6: DIE дает представление о компиляторе вредоносной программы. |
После этого единственным логичным шагом для команды было открыть файл в dnSpy, отладчике .NET, который быстро выявил, что двоичный файл подвергался сильному запутыванию. Однако DIE не смог распознать упаковщик даже при использовании эвристического сканирования.
![]() |
Рисунок 7: Код XWorm оказался запутанным (MITRE T1027). |
Использование de4dot, деобфускатора и распаковщика .NET, также не дало никакого эффекта.
Больше техник уклонения и сохранения XWorm
Дальнейшее исследование вредоносного двоичного файла позволило команде раскрыть дополнительные части головоломки. В частности, был обнаружен ряд дополнительных механизмов, используемых вредоносным ПО:
Обнаружение виртуализации: XWorm использовал запрос WMI "Выбрать * из Win32_ComputerSystem" для проверки наличия сред VMware или VirtualBox.
![]() |
Рисунок 8: Вредоносная программа использовала инструментарий управления Windows (MITRE T1047). |
Обнаружение отладчика: он также запустил функцию API CheckRemoteDebuggerPresent, чтобы проверить, отлаживается ли она.
![]() |
Рисунок 9: Xworm попытался уклониться от анализа отладчиком. |
Обнаружение изолированной среды: двоичный файл просканировал систему, чтобы увидеть, была ли загружена библиотека SbieDll.dll.
![]() |
Рисунок 10: SbieDll.dll связан с Sandboxie, программой изоляции на основе изолированной среды. |
Проверка IP-адреса центра обработки данных: Xworm запросил компьютер, чтобы определить, размещен ли он в центре обработки данных.
![]() |
Рисунок 11: Сканирование IP-адреса вредоносной программы объясняет причину ее первоначального сбоя. |
Постоянство: XWorm использовал реестр и планировщик задач для установления постоянного присутствия в системе.
![]() |
Рисунок 12: Код выявил способность вредоносной программы изменять реестр. |
Извлечение конфигурации XWorm
Затем аналитики обнаружили конструктор, который выглядел как блок, содержащий настройки. Они использовали функцию для переназначения некоторых ее полей. Вредоносная программа сначала вычислила хэш MD5 из значения в разделе предполагаемых настроек.
Затем он дважды скопировал полученное значение во временный массив, но из-за однократной ошибки MD5 дважды копировался не полностью. Команда использовала полученный массив в качестве ключа для расшифровки входящих строк base64 с использованием AES в режиме ECB.
Они также обнаружили, что используемое поле было мьютексом. Весь процесс подробно описан в статье блога ANY.RUN "XWorm: технический анализ новой версии вредоносного ПО".
Конфигурация XWorm
Полная конфигурация нового варианта XWorm выглядит следующим образом:
Хост | 6[.]tcp.eu.ngrok[.]ввод-вывод |
Порт | 13394 |
Ключ AES | Рабы!-.;!2Swezy999!(xxx |
Разделитель | Xwormmm |
Время ожидания | 3 |
USB-drop-файл | USB.exe |
Мьютекс | Lz8qftMH08V7f1rq |
Файл журнала | %temp%\\Log.tmp |
Токен Telegram | 6674821695:AAExQsr6_hmXk6hz7CN4kMSi9cs9y86daYM |
Идентификатор чата Telegram | 5865520781 |
Заключение
Получение конфигураций новейшей вредоносной программы имеет решающее значение, но отнимает много времени. Чтобы сделать это более эффективным, вы можете запускать свои образцы через песочницу ANY.RUN, чтобы получить доступ к необходимой информации за считанные секунды.
Проверьте это сами, используя образец XWorm. Кроме того, ANY.RUN предлагает службам безопасности 14-дневную бесплатную пробную версию своего тарифного плана top, чтобы помочь им протестировать возможности сервиса.