Финальный ответ модели
Все данные собраны в достаточном объёме. Формирую итоговый отчёт.
64-битный PE (AMD64), написан на Rust (характерные символы std::sys::..., core::, alloc::, пути src/modules/*.rs). Точка входа start (0x140045A50), 1278 функций, 806 строк, 8 секций (.text/.rdata/.idata/.buildid/.data/.pdata/.tls).
TLS-каллбэки выполняются до основной точки входа: TlsCallback_0 (0x140024610) — стандартный код Rust runtime std::sys::...thread_local::guard::windows::tls_callback; TlsCallback_1/TlsCallback_2 — короткие функции инициализации CRT/TLS-индексов. Все три являются штатным Rust/CRT-обвязочным кодом, не анализировались подробно по правилам задачи.
Строки путей исходников однозначно выдают модульную структуру полнофункционального RAT/бота с C2-управлением, реализованного на Rust:
src/modules/network.rs – HTTP(S)-транспорт к C2, регистрация, поллинг задач
src/modules/stealer.rs – кража данных браузеров/мессенджеров/кошельков
src/modules/persist.rs – закрепление в системе
src/modules/registry.rs – работа с реестром
src/modules/services.rs – перечисление/управление службами Windows
src/modules/screenshot.rs – снятие скриншотов экрана
src/modules/webcam.rs – захват изображения с веб-камеры
src/modules/keylog.rs – кейлоггер
src/modules/clipboard.rs – чтение/подмена буфера обмена
src/modules/clipper.rs – криптоклиппер (подмена адресов кошельков)
src/modules/ransomware.rs – модуль шифрования файлов (ransomware)
src/modules/postex.rs – постэксплуатация (перечисление TCP-соединений и т.д.)
src/modules/socks5.rs – SOCKS5-прокси (туннелирование трафика через жертву)
src/modules/fun.rs – "шуточные" функции (голосовой вывод через PowerShell/SAPI)
sub_140001000 — основной цикл бота)Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36.WinHttpOpen/WinHttpConnect/WinHttpOpenRequest/WinHttpSendRequest/WinHttpReceiveResponse/WinHttpReadData), с флагом WINHTTP_FLAG_BYPASS_PROXY_CACHE.127.0.0.1:8443 (WinHttpConnect(hSession, "127.0.0.1", 0x20FB, 0)), что явно указывает на тестовую/девелоперскую сборку, а не на боевую конфигурацию с реальным внешним адресом./api/rat/register?id=, /api/rat/clipper_log, /api/rat/stream.sub_140003CA0(cmd_id, data, len, ...), результат каждой задачи отправляет обратно POST-запросом через sub_140012584. При установке определённого флага в ответе бот вызывает ExitProcess(0) (команда самоуничтожения/остановки).sub_140003CA0, ~35 КБ кода)Огромная функция-роутер (не удалось полностью раскрыть декомпилятором из-за размера — анализ проведён по capability map/lift-профилю), вызывает:
CreateProcessA, OpenProcess — запуск и работа с процессами (в т.ч. паттерн process hollowing: CreateProcessA в suspended-режиме → чтение/подмена образа через ReadFile/WriteProcessMemory-подобный код → ResumeThread, что видно в извлечённом фрагменте оптимизированного лифта);RegCreateKeyExA/RegOpenKeyExA/RegSetValueExA/RegDeleteValueA/RegDeleteKeyA/RegQueryValueExA/RegEnumKeyExA/RegEnumValueA — полный набор операций с реестром (чтение/запись/удаление ключей и значений);OpenSCManagerA/OpenServiceA/StartServiceA/ControlService/EnumServicesStatusExA/CloseServiceHandle — перечисление и управление службами Windows (запуск/останов/контроль сторонних служб, потенциально security-агентов);ShellExecuteA с nShowCmd = SW_HIDE — скрытый запуск команд;"Unknown command" подтверждает наличие маршрутизации по числовому коду команды с fallback-обработчиком неизвестной команды.stealer.rs)cord_token_, "No tokens found.", "<N> token(s).") — типичное извлечение Discord-токенов из LevelDB/Local Storage.CryptUnprotectData (DPAPI) для старого формата (v10) и через BCrypt AES-GCM для нового формата v20 (проверено кодом функции sub_140010CBA): открывается провайдер BCryptOpenAlgorithmProvider(L"AES"), режим ChainingModeGCM, BCryptGenerateSymmetricKey с DPAPI-расшифрованным master key, затем BCryptDecrypt с 12-байтным nonce/16-байтным auth-tag — точное соответствие текущей схеме шифрования cookies Chrome/Chromium (App-Bound / v10/v20 encryption).wallets\wallet.dat (Bitcoin Core), Electrum\wallets, ключ реестра/маркер bitcoin_wallet; строка "No wallets found." при отсутствии.GetUserNameA (сбор имени пользователя, вероятно как часть ID/отпечатка жертвы).persist.rs)Обнаруженные механизмы:
Software\Microsoft\Windows\CurrentVersion\Run (автозапуск при логоне).RegCreateKeyExA(HKEY_LOCAL_MACHINE, "Software\\RATConfig", ..., KEY_WRITE), RegSetValueExA(hKey, "persist_name", REG_SZ, ...) — функция sub_14000F550 создаёт ключ HKLM\Software\RATConfig и пишет туда значение persist_name (хранение имени/пути закреплённой копии)..lnk рядом с батник-логикой самоудаления (вероятно, размещение ярлыка в папке автозагрузки).schtasks /delete /tn "%s" /f — управление(удаление) запланированных задач. ```
:d
del "<путь>"
if exist "<путь>" goto d
del "<bat>"
```
запускаемый через cmd.exe /c "<bat>" — классическая техника самоуничтожения исполняемого файла после выполнения задачи.
clipper.rs)Модуль подмены адресов криптокошельков в буфере обмена. В данных найден список поддерживаемых валют по меткам: BTC, ETH, XMR, LTC, DOGE, DASH, BCH, ZEC, а также образцы жёстко закодированных адресов подмены, например:
ltc1... (Litecoin, bech32)bitcoincash:t1t3zs... (Bitcoin Cash)Логика (через OpenClipboard/GetClipboardData/SetClipboardData/EmptyClipboard/CloseClipboard) отслеживает содержимое буфера обмена, при обнаружении паттерна адреса заменяет его на подставной адрес злоумышленника и отправляет лог подмены на C2 через эндпоинт /api/rat/clipper_log.
ransomware.rs)Присутствует отдельный модуль с маркером зашифрованных файлов ENCRYPTED_RAT_1 и полем encrypted_key (для хранения зашифрованного ключа сессии внутри артефакта/заметки), что указывает на реализацию файлового шифровальщика (ransomware-функциональность) как часть многофункционального бота.
BitBlt/CreateCompatibleDC/CreateCompatibleBitmap/GetDIBits/SelectObject/DeleteObject/DeleteDC + GDI+ (GdiplusStartup/GdipCreateBitmapFromHBITMAP/GdipSaveImageToStream/GdipDisposeImage) — захват экрана и кодирование в графический формат (вероятно JPEG/PNG) для отправки на C2 (эндпоинт /api/rat/stream).capCreateCaptureWindowA (VfW), строка "Error: no webcam found" — захват изображения с камеры.waveInOpen/waveInPrepareHeader/waveInAddBuffer/waveInStart/waveInStop/waveInReset/waveInClose/waveInUnprepareHeader) — запись звука с микрофона.keylog.rs (глобальный перехват нажатий клавиш, реализация не декомпилирована подробно, но модуль присутствует и связан со сборкой строк отчёта).postex.rs): GetExtendedTcpTable (IPHLPAPI) + таблица состояний TCP-соединений (CLOSED/LISTENING/SYN_SENT/ESTABLISHED/...) и форматированный заголовок PROTO LOCAL ADDRESS REMOTE ADDRESS STATE PID — аналог netstat, вероятно для сбора данных о запущенных соединениях жертвы.socks5.rs): полный набор Winsock-функций (socket/bind/listen/accept/connect/recv/send/setsockopt/closesocket/WSAStartup/WSACleanup) — реализация локального SOCKS5-сервера, позволяющего злоумышленнику туннелировать трафик через заражённую машину (пивотинг).fun.rs): генерация PowerShell-команды Add-Type -AssemblyName System.Speech; $s = New-Object System.Speech.Synthesis.SpeechSynthesizer; $s.Speak('...') — озвучивание произвольного текста через SAPI (типичная "prank"-функция школьных/скрипт-кидди RAT-конструкторов).AddVectoredExceptionHandler вызывается из одной функции (0x1400136B0), что соответствует штатному обработчику стека Rust runtime (stack overflow guard), не выявлено признаков применения как анти-дебаг техники за пределами этого стандартного использования.bcrypt.dll (BCryptOpenAlgorithmProvider/BCryptGenerateSymmetricKey/BCryptSetProperty/BCryptDecrypt/BCryptDestroyKey/BCryptCloseAlgorithmProvider) используется исключительно для расшифровки cookies Chrome/Edge по алгоритму AES-256-GCM, других явных случаев использования BCrypt (например, для собственного протокола C2) в проверенном коде не обнаружено.CRYPT32.CryptUnprotectData используется для получения DPAPI master key браузера перед AES-GCM расшифровкой cookies (v10) — стандартная последовательность атаки на Chromium-хранилище.Файл представляет собой многофункциональный Rust-бот класса RAT/stealer/clipper с встроенным модулем шифрования файлов, управляемый по HTTP(S) через WinHTTP с C2-сервером (в данной сборке заданным как 127.0.0.1:8443, что указывает на тестовый/девелоперский образец). Функциональность подтверждена кодом: кража токенов Discord, cookies Chrome/Edge (AES-GCM v20)/Firefox, данных Telegram и криптокошельков (Bitcoin/Electrum); закрепление через Run-ключ реестра, собственный ключ HKLM\Software\RATConfig, запланированные задачи и самоудаляющийся batch-скрипт; удалённое исполнение команд, управление процессами (включая паттерн process hollowing) и службами Windows; скриншоты, захват веб-камеры и микрофона, кейлоггинг, перехват/подмена буфера обмена (криптоклиппер BTC/ETH/XMR/LTC/DOGE/DASH/BCH/ZEC); сетевая разведка TCP-соединений; встроенный SOCKS5-прокси для туннелирования трафика через заражённый хост.