Order Of Six Angles logo security research Order Of Six Angles
← Все модели

Финальный ответ модели

Ternary-Bonsai-27B-Q2_0

Полное статическое анализ PE-файла через V5 IDA

Сводка

Архитектура: 64-битный PE-файл, скомпилированный из Rust (подтверждено по строкам RUST_BACKTRACE, _RNvMn... Rust-модулям). Сложность: 1278 функций, 806 строк, 8 сегментов.

TLS-колбэки выполняются до entry (CRT-инициализация) — не декомпилируются.

---

Структура

ПараметрЗначение
ФорматPE для AMD64
Image Base0x140000000
Entry Pointstart @ 0x140045A50 (MinGW CRT startup)
Сегменты.text, .rdata, .idata, .rdata, .buildid, .data, .pdata, .tls

Импортируемые модули:

---

Ключевые функции

1. Browser Credential Extractor: sub_14000F9D1 (0x14000F9D1, 3515 байт)

Целевые приложения:

Механизм работы:

Строки:

---

2. Main Orchestrator: sub_140003CA0 (0x140003CA0, 35822 байт)

API-вызовы (из capability_map):

APIКол-во вызововНазначение
CreateProcessA5Запуск процессов
OpenProcess2Открытие процессов
RegCreateKeyExA1Создание реестровых ключей
RegDeleteKeyA2Удаление ключей
RegDeleteValueA4Удаление значений
RegOpenKeyExA9Открытие ключей
RegQueryValueExA4Чтение значений
RegSetValueExA4Запись значений

Персистентность:

API-вызов CreateProcessA с флагом SW_HIDE (0x0) — запускает скрытые процессы.

---

3. C2 Beacon: sub_140001000 (0x140001000, 2223 байт)

Инициализация:

"Initializing HTTP transport..." @ 0x14007db29
"HTTP transport initialized." @ 0x14007db47
"Entering beacon loop..." @ 0x14007db62
"Registered. Entering main loop." @ 0x140080dfb

WinHTTP API:

Beacon loop:

while !(sub_1400128AB()) {
    Sleep(5000 << v7)  // 5000ms - 120000ms интервал
    WinHttp...
}

Обработка ответов C2:

---

Поведение malware

1. Кража данных браузеров

БраузерСтатус-строка
Firefox"[Firefox] Not running.\n[Firefox] Reading cookies (plaintext)..."
Chrome"[Chrome] Not running.\n[Chrome] Decrypting cookies..."
Edge"[Edge] Not running.\n[Edge] Decrypting cookies..."

Механизм:

  1. 1. Поиск .exe браузеров в AppData
  2. 2. Чтение ковариантных данных (cookie files)
  3. 3. Расшифровка через CryptUnprotectData (CRYPT32)
  4. 4. Сбор данных в буфер для отправки

2. Кража Discord/Telegram

ПриложениеСтрока
Discord"Discord is not running.\nCannot get AppData.\n=== Discord ===" @ 0x14007FFE
Telegram"Telegram is not running.\n" @ 0x140080331

3. Персистентность

МеханизмРеализация
Registry RunSoftware\\Microsoft\\Windows\\CurrentVersion\\Run
Registry KeysHKCR, HKCU, HKLM через RegCreateKeyExA
ProcessCreateProcessA с SW_HIDE

4. C2-коммуникации

ПараметрЗначение
ПротоколWinHTTP (HTTP/HTTPS)
ФлагиWINHTTP_FLAG_BYPASS_PROXY_CACHE (0x100)
Интервал5000ms - 120000ms (настраиваемый)
Чанки8 байт данных

---

IOCs (Indicators of Compromise)

Статические IOCs

ТипЗначение
String"[Firefox] Not running.\n[Firefox] Reading cookies (plaintext)..."
String"[Chrome] Not running.\n[Chrome] Decrypting cookies..."
String"[Edge] Not running.\n[Edge] Decrypting cookies..."
String"Discord is not running.\nCannot get AppData.\n=== Discord ==="
String"Software\\Microsoft\\Windows\\CurrentVersion\\Run"
String"Initializing HTTP transport..."
String"Entering beacon loop..."
String"RUST_BACKTRACE" (Rust-скомпилированный бинарник)
APICryptUnprotectData (CRYPT32)
APIWinHttpOpenRequest
APIWinHttpSendRequest
APIWinHttpReceiveResponse
APIWinHttpReadData
APICreateProcessA
APIOpenProcess
APIRegCreateKeyExA
APIRegSetValueExA
APIRegDeleteKeyA
APIRegDeleteValueA
APIRegOpenKeyExA
APIRegQueryValueExA
APIRegDeleteValueA
APIWinHttpOpenRequest
APIWinHttpSendRequest
APIWinHttpReceiveResponse
APIWinHttpReadData
APICreateProcessA
APIOpenProcess
APIRegCreateKeyExA
APIRegSetValueExA
APIRegDeleteKeyA
APIRegDeleteValueA
APIRegOpenKeyExA
APIRegQueryValueExA

Динамические IOCs (при выполнении)

ТипПоведение
RegistryЗапись в Software\\Microsoft\\Windows\\CurrentVersion\\Run
RegistryСоздание/удаление ключей HKCR, HKCU, HKLM
ProcessЗапуск скрытых процессов через CreateProcessA
NetworkHTTP-запросы к C2-серверу
FileЧтение ковариантных данных браузеров
APIВызов CryptUnprotectData

---

Резюме

Это Rust-скомпилированный credential/cookie stealer с функциями:

  1. 1. Кража данных из Firefox, Chrome, Edge (cookies, session tokens)
  2. 2. Кража Discord/Telegram данных (tokens, auth info)
  3. 3. Персистентность через Registry Run и скрытые процессы
  4. 4. C2-коммуникации через WinHTTP с настраиваемым интервалом beacon
  5. 5. Обход прокси (WINHTTP_FLAG_BYPASS_PROXY_CACHE)

Архитектура Rust подтверждается по:

Главный вызов: sub_140003CA0 (35KB) — оркестратор всех операций, sub_14000F9D1 (3.5KB) — браузер-крадер, sub_140001000 (2.2KB) — C2-белек.