Внутри кода нового варианта XWorm

Carding

Professional
Messages
2,829
Reputation
17
Reaction score
2,087
Points
113
XWorm - относительно новый представитель когорты троянцев удаленного доступа, который уже заслужил свое место среди самых стойких угроз по всему миру.

С 2022 года, когда он был впервые замечен исследователями, он претерпел ряд крупных обновлений, которые значительно расширили его функциональность и укрепили его устойчивость.

Команда аналитиков из ANY.RUN наткнулась на новейшую версию вредоносного ПО и не смогла отказаться от возможности разобрать ее на части, чтобы изучить конфигурации XWorm mechanics. Вот как они это сделали и что они нашли.

Исходный код образца XWorm
Рассматриваемый образец был обнаружен в ANY. База данных вредоносных программ RUN, хранилище, содержащее подробные отчеты об анализе всех файлов и ссылок, которые были загружены пользователями изолированной среды в общедоступном режиме.

Быстрый просмотр результатов анализа показал, что образец изначально распространялся через MediaFire, службу размещения файлов. Вредоносная программа была упакована в архив RAR и защищена паролем.

1.jpg
Рисунок 1: Страница MediaFire, содержащая ссылку на скачивание архива.

После выполнения угроза была мгновенно обнаружена правилами Suricata и идентифицирована как XWorm.

2.png
Рисунок 2: Трафик XWorm, помеченный изолированной средой как вредоносный.

Тактика, приемы и процедуры XWorm (TTPS)
The sandbox report highlighted several techniques used by the sample:
3.png
Рисунок 3: Действия XWorm в зараженной системе.

MITRE T1547.001: XWorm добавил свой ярлык в каталог запуска.

MITRE T1053.005: Он использовал планировщик задач для перезапуска самого себя с повышенными привилегиями, как указано параметром "/ RL HIGHEST".

MITRE T1074.001: Программное обеспечение было установлено в общедоступном каталоге.

MITRE T1571: Вредоносная программа пыталась подключиться к удаленному серверу, но ответа получено не было.

Неудачная попытка XWorm уклониться от анализа в изолированной среде
Поскольку первоначальному отчету об анализе было несколько дней, команда решила еще раз прогнать образец через изолированную среду, чтобы проверить наличие новых действий.

Однако после запуска вредоносная программа почти сразу же завершила работу. Короткое расследование показало, что образец теперь запрашивал специальную службу, чтобы определить, запущена ли она в виртуальной изолированной среде.

По сути, разработчики XWorm внедрили метод уклонения, который приводил к завершению работы вредоносного программного обеспечения, как только оно обнаруживало виртуальную среду.

Чтобы преодолеть это, команда включила локальный прокси-сервер в настройках изолированной среды. Эта функция заменяет IP-адрес центра обработки данных виртуальной машины на IP-адрес реального интернет-провайдера, заставляя вредоносное ПО думать, что оно запущено на компьютере реального пользователя.

4.png
Рисунок 4: Локальный прокси-сервер предоставляет IP-адреса из многочисленных

После повторного запуска примера с включенным постоянным прокси-сервером XWorm был успешно запущен и начал свою деятельность.

Кроме того, с помощью функции прокси MITM стало возможным извлекать информацию, переданную XWorm в Telegram (MITRE T1102). Данные включали: версию вредоносного ПО (XWorm V3.1), имя пользователя компьютера, версию операционной системы и, вероятно, хэш жертвы.

5.png
Рисунок 5: Системная информация, собранная XWorm (MITRE T1082).

Статический анализ нового варианта XWorm
Собрав всю важную информацию, предоставленную изолированной средой, аналитики приступили к фазе статического анализа своих исследований. Первым шагом было загрузить образец в Detect it Easy (DIE), отраслевой стандарт для первоначального анализа вредоносных программ. Программа быстро определила, что это была .NET-вариация XWorm.

6.png
Рисунок 6: DIE дает представление о компиляторе вредоносной программы.

После этого единственным логичным шагом для команды было открыть файл в dnSpy, отладчике .NET, который быстро выявил, что двоичный файл подвергался сильному запутыванию. Однако DIE не смог распознать упаковщик даже при использовании эвристического сканирования.

7.png
Рисунок 7: Код XWorm оказался запутанным (MITRE T1027).

Использование de4dot, деобфускатора и распаковщика .NET, также не дало никакого эффекта.

Больше техник уклонения и сохранения XWorm
Дальнейшее исследование вредоносного двоичного файла позволило команде раскрыть дополнительные части головоломки. В частности, был обнаружен ряд дополнительных механизмов, используемых вредоносным ПО:

Обнаружение виртуализации: XWorm использовал запрос WMI "Выбрать * из Win32_ComputerSystem" для проверки наличия сред VMware или VirtualBox.

8.png
Рисунок 8: Вредоносная программа использовала инструментарий управления Windows (MITRE T1047).

Обнаружение отладчика: он также запустил функцию API CheckRemoteDebuggerPresent, чтобы проверить, отлаживается ли она.

9.png
Рисунок 9: Xworm попытался уклониться от анализа отладчиком.

Обнаружение изолированной среды: двоичный файл просканировал систему, чтобы увидеть, была ли загружена библиотека SbieDll.dll.

10.png
Рисунок 10: SbieDll.dll связан с Sandboxie, программой изоляции на основе изолированной среды.

Проверка IP-адреса центра обработки данных: Xworm запросил компьютер, чтобы определить, размещен ли он в центре обработки данных.

11.png
Рисунок 11: Сканирование IP-адреса вредоносной программы объясняет причину ее первоначального сбоя.

Постоянство: XWorm использовал реестр и планировщик задач для установления постоянного присутствия в системе.

13.png
Рисунок 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
Токен Telegram6674821695:AAExQsr6_hmXk6hz7CN4kMSi9cs9y86daYM
Идентификатор чата Telegram5865520781

Заключение
Получение конфигураций новейшей вредоносной программы имеет решающее значение, но отнимает много времени. Чтобы сделать это более эффективным, вы можете запускать свои образцы через песочницу ANY.RUN, чтобы получить доступ к необходимой информации за считанные секунды.

Проверьте это сами, используя образец XWorm. Кроме того, ANY.RUN предлагает службам безопасности 14-дневную бесплатную пробную версию своего тарифного плана top, чтобы помочь им протестировать возможности сервиса.
 
Top