[ << ALL_FEED ]

Operation Tartaria Part 2

Ещё в группе «Общее»

Operation Tartaria Part 2

Помимо пассивного бэкдора PlugX, нам удалось обнаружить еще одну его версию, которая мимикрировала под запуск Яндекс Браузера.

{"TaskId":"[REDACTED]","TaskName":"Yandexstart_Server","TaskRegistryPath":"\\Yandexstart_Server","TaskAuthor":"[REDACTED]","IsHiddenTask":false,"IsMissingOnFS":true,"Action":{"Context":"Author","Properties":[{"Id":"","ActionName":"Execution","Arguments":"-d restart","Command":"C:\\PROGRA~1\\Yandex\\browser\\Yandex.exe","WorkingDirectory":"","Flags":0}],"Version":3},"Triggers":[{"TriggerType":"Boot","Comment":"Boot"}],"CreatedTime":"2024-12-11T01:11:34Z","LastRunTime":"2025-06-23T06:37:17Z","LastErrorCode":1223,"Timeline":"2024-12-11T01:11:34Z"}
Code language: JSON / JSON with Comments (json)


Yandex.exe оказался уязвимым для техники DLL Side-Loading, выполняемой утилитой Umdh.exe (User-Mode Dump Heap), которая подгружает вредоносную библиотеку dbghelp.dll под пакером VMProtect с кастомным названием секций; нагрузка хранится в файле desktop.ini.

🫣 Как и в предыдущем случае, мы имеем дело с двухмодульным бэкдором. Коннектор внедряется в процесс choice.exe, а интерпретатор команд — в mspaint.exe. Процессы общаются через pipe .\\PIPE\\[%d].

При успешном старте исследуемый образец подключается к блогу на livejournal.com (скриншот 1) и на ok.ru (скриншоты 2-3). Далее парсит содержимое ответа и ищет последовательность, которая начинается с R241223 и заканчивается на R251223 и внутри которой находится зашифрованный токен для API Yandex Disk. Далее коммуникация бэкдора происходит через API. Аналогичный образец был описан в «CloudSorcerer: новая APT-угроза, нацеленная на российские государственные организации».

Помимо Yandex Disk, бэкдор поддерживает возможность общения через Microsoft Graph и Dropbox:

cloud-api.yandex.net
graph.microsoft.com
content.dropboxapi.com
Code language: plaintext (plaintext)


Общение происходит посредством чтения и перезаписи файлов в заданной папке в облаке. Сами файлы защищены шифром простой замены, а структура сообщений отличается в зависимости от выполняемой команды. Однако везде используется один и тот же header:

0         2          6             10             14
| command | msg size | short answer | ticketcount |
Code language: plaintext (plaintext)


☝️ Примечательны следующие функции бэкдора:

• возможность получать шеллкоды и PE-файлы, внедряя их в процессы TSTheme.exe и msiexec.exe;
• выполнение WMI-запросов для получения информации о системе:
SELECT * FROM Win32_OperatingSystem
SELECT * FROM Win32_TimeZone
SELECT * FROM Win32_ComputerSystem
SELECT * FROM Win32_QuickFixEngineering
Code language: SQL (Structured Query Language) (sql)

• отключение всех сетевых соединений API WNetCancelConnection2W;
• изменение параметров входа в учетную запись или пароля через API NetUserSetInfo.

C2:
devtunnels.ms
https://anddes.livejournal.com/511.html
https://ok.ru/profile/587950172233/statuses/157023463517001
Code language: YAML (yaml)


✅ Рекомендации:

• запрет DevTunnels с помощью групповой политики;
• поиск скрытых задач;
• поиск задач с параметром:
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tasks" /s | findstr "2D00720065006D006F0074006500200075007000"
Code language: plaintext (plaintext)

reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tasks" /s | findstr "2d00640020007200650073007400610072007400"
Code language: plaintext (plaintext)

• поиск идентификатора PlugX:
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\cf
Code language: plaintext (plaintext)


Happy hunting!


@ptescalator
#dfir #ti #apt #reverse #malware

Ещё от oUth0R

Ещё от oUth0R

Ещё в группе «Общее»