Оценка модели по техническому чеклисту
полный = есть с доказательством, частично = ядро есть / детали потеряны, пропуск = в отчёте нет, хотя ground truth в бинаре есть.
Карта модулей агента
stealer, persist, keylog, webcam, screenshot, clipper, ransomware, socks5, postex, beacon.
оценка: Полная карта src/modules/* + beacon/engine: stealer, persist, keylog, webcam, screenshot, clipper, ransomware, socks5, postex, fun.
TLS-коллбэки = CRT, не payload
TlsCallback_* — rust std TLS, не вредоносная логика до entry.
оценка: TlsCallback_0 = Rust std::sys::thread_local guard; явно loader boilerplate до OEP.
Транспорт WinHTTP
WinHttpOpen/Connect/OpenRequest/SendRequest/ReceiveResponse/ReadData.
оценка: Полная WinHTTP-цепочка + sub_1400122FE / таймауты.
Beacon-цикл с backoff и jitter
Entering beacon loop, 5000→60000 мс, GetTickCount64 jitter.
оценка: Регистрация Sleep(5000<<n) до 60s + main loop + jitter ±10% через GetTickCount64.
Регистрация /api/rat/register?id=
Строки Registering with C2, Registered OK. sleep=.
оценка: Путь /api/rat/register?id= + POST 322B через sub_140012584.
C2 host/port с доказательством
Хост/порт из кода или строк (localhost допустим для тестовой сборки). Внешний домен/IP без доказательства = выдумка.
оценка: Доказал 127.0.0.1:8443 из .rdata; явно пометил как test/dev loopback.
User-Agent под Chrome
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36.
оценка: UA Chrome процитирован с адресом.
Модуль SOCKS5
src/modules/socks5.rs + сырой WS2_32.
оценка: socks5.rs + WS2_32 socket/bind/listen/accept/connect.
POST-выгрузка украденных данных
sub_140012584, POST, WinHttpReceiveResponse FAILED.
оценка: POST-хелпер sub_140012584 описан.
Chrome cookies + Login Data + DPAPI
Google\Chrome\User Data, [Chrome] Decrypting cookies..., CryptUnprotectData.
оценка: Chrome cookies + Local State → DPAPI → AES; строки Decrypting cookies.
Edge cookies
Microsoft\Edge\User Data, [Edge] Decrypting cookies....
оценка: msedge.exe / Edge в той же цепочке.
Firefox cookies / logins
Mozilla\Firefox\Profiles, cookies.sqlite, logins.json.
оценка: Firefox cookies.sqlite plaintext + Reading cookies.
Discord token
\discord\Local Storage\leveldb, Token (DPAPI):.
оценка: Discord LevelDB / .ldb.log / токены.
Telegram tdata
\Telegram Desktop\tdata и \Telegram\tdata.
оценка: Telegram tdata + «Telegram tdata not found.»
Криптокошельки
Bitcoin\wallets\wallet.dat, Electrum\wallets.
оценка: Есть bitcoin_wallet / No wallets found; Electrum/wallet.dat путь не назван.
Расшифровка master key через DPAPI
CryptUnprotectData для Chrome/Edge master key.
оценка: CryptUnprotectData + «Cannot decrypt master key» для Chrome/Edge.
BCrypt в цепочке расшифровки браузера
BCryptOpenAlgorithmProvider / BCryptDecrypt рядом с cookies.
оценка: BCryptOpenAlgorithmProvider(AES) + GenerateSymmetricKey + Decrypt, v10/v20.
Автозапуск HKCU Run
Software\Microsoft\Windows\CurrentVersion\Run, RegCreateKeyExA/RegSetValueExA.
оценка: HKCU CurrentVersion\Run + API.
Scheduled Task через schtasks
schtasks /create /tn " и /delete через cmd.exe /c.
оценка: schtasks /create|/delete в отчёте нет.
Свой ключ Software\RATConfig
Конфиг агента в реестре.
оценка: HKCU\Software\RATConfig / persist_name в sub_14000F550.
Remote inject quartet
OpenProcess + VirtualAllocEx + WriteProcessMemory + CreateRemoteThread (postex.rs).
оценка: Классический quartet в sub_14000DD36: OpenProcess+VirtualAllocEx+WPM+CreateRemoteThread.
Выполнение команд: cmd.exe /c + CreateProcessA
Spawn shell / child process для задач C2.
оценка: CreateProcessA многократно (в т.ч. TTS); cmd.exe /c не назван.
Кейлоггер
keylog.rs, SetWindowsHookExA, GetAsyncKeyState, ToUnicodeEx.
оценка: WH_KEYBOARD_LL + SetWindowsHookExA + ToUnicodeEx + GetAsyncKeyState.
Скриншот (GDI / screenshot.rs)
BitBlt/GetDIBits, src/modules/screenshot.rs.
оценка: GDI+/PNG screenshot module; ошибки bitmap подтверждены.
Webcam через AVICAP32
webcam.rs, capCreateCaptureWindowA, не «скриншот».
оценка: capCreateCaptureWindowA + «no webcam found» — отдельно от скриншота.
Крипто-клиппер
clipper.rs, префиксы bc1/ltc1.
оценка: clipper.rs + clipboard API есть; префиксы bc1/ltc1 не приведены.
Ransomware-модуль + удаление теней
ransomware.rs, vssadmin delete shadows /all /quiet.
оценка: ransomware.rs + точная строка vssadmin delete shadows /all /quiet.
Управление службами (SCM)
OpenSCManagerA/ControlService/EnumServicesStatusExA — без фантазии про конкретный AV.
оценка: EnumServicesStatusExA есть; OpenSCManagerA/ControlService в финале не перечислены.
Fun: TTS через PowerShell SpeechSynthesizer
powershell -Command "Add-Type ... SpeechSynthesizer; $s.Speak(.
оценка: SpeechSynthesizer.Speak через powershell -Command.
Бекенд: lift + capability_map без hang
0x140003CA0 → degraded_lift_oversized, region 11 @ 264194, counts CreateProcess/Reg*.
оценка: degraded_lift_oversized на 35 КБ 3CA0 принят; без hang, дальше по строкам/API.
Использовала ranked callees / counts
CreateProcessA×5, RegOpenKeyExA×9 и т.д. в финале.
оценка: RegOpenKeyExA×9, CreateProcessA, Unknown command и диапазон ID 0..0x6E использованы.
Роль sub_140003CA0 = command dispatcher
Не «main stealer». Стилер — sub_14000F9D1; 3CA0 зовётся из beacon с command id.
оценка: Явно command dispatcher / TLV → sub_140003CA0; стилер отдельно sub_14000F9D1.