[ << ALL_FEED ]

Operation Tartaria — VTDoor

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

Operation Tartaria — VTDoor 🚪

Про Operation Tartaria мы уже рассказывали в нескольких постах — часть 1 и часть 2. В одном из кейсов командой PT ESC IR, кроме модулей PlugX, была обнаружена динамическая библиотека NVIDIADEBUG.dll, расположенная в каталоге C:\ProgramData\NVIDIA. Для сохранения постоянства в системе была создана задача с именем NVIDIADEBUG, которая запускается каждые два часа. Аргументы команды запуска:

<Exec>
      <Command>C:\Windows\system32\rundll32.exe</Command>
      <Arguments>C:\ProgramData\NVIDIA\NVIDIADEBUG.dll fun</Arguments>
</Exec>
Code language: plaintext (plaintext)


Исполняемый файл получил название VTDoor, так как для связи с C2-сервером ВПО использует комментарии к файлу на VirusTotal.

Динамическая библиотека NVIDIADEBUG.dll содержит функцию экспорта fun, в которой реализован основной набор функций. Используя API VT, VTDoor забирает зашифрованную команду из комментария к файлу: https://www.virustotal.com/api/v3/files/adc9bf081e1e9da2fbec962ae11212808e642096a9788159ac0acef879fd31e8/comments (скриншот 1). После ее выполнения публикует результат, хеш-файла и токен VT (x-api-key) зашифрованы в модуле с помощью алгоритма RC4 с ключом 032yhns1!-=.

👀 Метод использования VirusTotal как двустороннего C2-канала не новый и уже используется в некоторых C2-фреймворках. Посмотрим, как устроен протокол обмена командами.

➡️ VTDoor получает список комментариев в JSON-файле и извлекает из него поля id и text. Декодирует данные из формата Base64, расшифровывает с помощью RC4 с ключом usde-092d.

Результат расшифрованных данных должен содержать:
• маркер (0xAAAABBBB) — 4 байта;
• длину полезных данных — 4 байта;
• ключ RC4 для полезных данных — 4 байта;
• полезные данные.

➡️ Далее полезные данные (команда на выполнение) расшифровываются со вторым ключом RC4, запускается cmd.exe с перенаправленными выводами через Windows Pipes.

Отправка результата команды:
После выполнения команды генерируется 4-байтовый ключ RC4, с помощью которого будет зашифрован результат. Он упаковывается в сообщение:
• маркер (0xBBBBAAAA);
• длина результата выполненной команды — 4 байта;
• ключ RC4 — 4 байта;
• результат выполненной команды.
Сообщение шифруется с помощью алгоритма RC4 с тем же ключом usde-092d и кодируется в Base64.

➡️ Для отправки комментария к файлу на VT формируется JSON-файл, в котором в поле text добавляется результат выполненной команды:

{"data":{"type":"comment","attributes":{"text":"<Комментарий>"}}}
Code language: JSON / JSON with Comments (json)


Обнаружено, что пользователь planningmid (скриншот 2) оставлял также комментарии к файлам 90d2d1af406bdca41b14c303e6525dfc65565883bf2d4bf76330aa37db69eceb, f506898cc7c2e092f9eb9fadae7ba50383f5b46a2a4fe5597dbb553a78981268, в которых была зашифрована команда whoami.

IoCs:

MD5: ca3820abd0331090c77116e2941f7b99
SHA1: b49a3d0f6f1af2d12d96a38a90f4c656c61ffdeb
SHA256: 1f5e377bdcc92c44e4aab816758560b07ac98003cbe0fb93960c1d710972bb7f

https://www.virustotal.com/api/v3/files/90d2d1af406bdca41b14c303e6525dfc65565883bf2d4bf76330aa37db69eceb/comments
https://www.virustotal.com/api/v3/files/f506898cc7c2e092f9eb9fadae7ba50383f5b46a2a4fe5597dbb553a78981268/comments
https://www.virustotal.com/api/v3/files/adc9bf081e1e9da2fbec962ae11212808e642096a9788159ac0acef879fd31e8/comments
Code language: YAML (yaml)


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

Ещё от oUth0R

Ещё от oUth0R

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