Статья Анализ ransomware The Gentlemen: реверс Go-шифровальщика Storm-2697 с самораспространением через SMB

Руки в перчатках держат разобранное сетевое устройство с обгоревшей дорожкой на плате. Рядом светится экран ноутбука с кодом анализа вредоносного ПО.


332 жертвы на DLS за пять месяцев 2026-го, восемь аффилиатов, 14 700 заранее скомпрометированных FortiGate-устройств. The Gentlemen за неполный год из осколка Qilin превратился во второго по активности RaaS-оператора в мире. Microsoft Threat Intelligence ведёт их инфраструктуру как Storm-2697. Семпл 3ab9575225e00a83a4ac2b534da5a710bdcf6eb72884944c437b5fbe5c5c9235 - 64-битный PE на Go, и ниже я покажу, что у него внутри: как устроена валидация пароля запуска, почему per-file эфемерный ключ делает bulk-дешифровку бессмысленной и каким образом флаг --spread превращает единичное заражение в автономную доменную катастрофу без участия оператора.

Kill chain The Gentlemen: от edge-устройства до шифрования домена​

Вся атака построена на одной идее - сжать время от initial access до шифрования, при этом накрыв максимум инфраструктуры. Полная цепочка:

Initial Access. CVE-2024-55591(NVD - cve-2024-55591) в FortiOS/FortiProxy (CVSS 9.8, CWE-288 - Authentication Bypass Using an Alternate Path or Channel). Удалённый атакующий без аутентификации получает super-admin через crafted-запросы к Node.js WebSocket-модулю. Затронуты FortiOS 7.0.0-7.0.16, FortiProxy 7.0.0-7.0.19, 7.2.0-7.2.12. В CISA KEV с 14 января 2025, пометка «actively exploited», привязка к ransomware. Публичный PoC: watchtowrlabs/fortios-auth-bypass-poc-CVE-2024-55591 (77 звёзд на момент публикации статьи).

Persistence. Создание административных учёток на FortiGate, установка AnyDesk с hardcoded паролем, scheduled tasks через schtasks, модификация реестра.

Discovery. Advanced IP Scanner, batch-скрипт для массовой энумерации AD-аккаунтов (domain admins, enterprise admins, VMware-группы), Nmap.

Defense Evasion. BYOVD через ThrottleStop.sys (CVE-2025-7771(NVD - CVE-2025-7771), CVSS 8.7), убийство EDR утилитами All.exe и Allpatch2.exe, отключение Windows Defender через PowerShell, очистка Event Logs Security/System/Application (T1562.001).

Lateral Movement. PsExec, WMI, PowerShell Remoting, WinRM. Самораспространение шифровальщика через SMB без оператора - SMB/Windows Admin Shares (T1021.002), Lateral Tool Transfer (T1570).

Exfiltration. WinSCP по шифрованным каналам. SystemBC для C2 через SOCKS5-прокси с RC4-шифрованием. Cobalt Strike как запасной C2.

Impact. Шифрование XChaCha20 + Curve25519 с per-file эфемерным ключом (T1486), удаление теневых копий и снимков (T1490), остановка сервисов БД, виртуализации и бэкапов (T1489).

По данным CrowdStrike Global Threat Report 2025, среднее время lateral movement после initial access - 62 минуты (рекорд: 51 секунда). The Gentlemen с самораспространяющимся бинарником и инвентарём из 14 700 скомпрометированных устройств сжимает это окно до предела. Шифровальщик сам копирует себя на доступные SMB-шары, пока оператор спокойно занимается эксфильтрацией.

RaaS-платформа Storm-2697: происхождение и аффилиатская модель

1780737974388.webp

The Gentlemen - не стартап с нуля. Ядро группы работало как ArmCorp - affiliate-команда внутри Qilin RaaS. Раскол случился 22 июля 2025: участник «hastalamuerte» (LARVA-368) выкатил жалобу на форуме RAMP о невыплаченных $48 000 комиссии. Первый семпл The Gentlemen с вшитым URL DLS появился на VirusTotal 17 июля - за пять дней до публичного скандала. Сплит готовили заранее: рабочий билд с инфраструктурой утечки был собран до разрыва.

К сентябрю 2025 RaaS анонсирован на андеграундных форумах под аккаунтом Zeta88. По данным Check Point Research (Tier-1), TOX ID F8E24C7F5B12CD69C44C73F438F65E9BF560ADF35EBBDF92CF9A9B84079F8F04060FF98D098E всплывает в рекрутинговых постах, на DLS и в панели администратора - все три контекста указывают на одного оператора.

Модель монетизации: 90% выкупа забирает аффилиат, 10% - оператор. Стандарт рынка - 70-80%, до The Gentlemen только RansomHub дотягивал до 90/10. Переговоры идут через индивидуальные TOX ID аффилиатов, не через центральный портал - аффилиат защищён от блокировки оператором во время сделки.

Масштаб: из 412 публичных жертв на DLS Check Point привязал 29 уникальных кампаний к восьми TOX ID аффилиатов. Реальная картина шире: анализ C2-сервера SystemBC одного из аффилиатов выявил ботнет из 1 570+ корпоративных жертв. Самая ранняя подтверждённая жертва - перуанский металлургический завод, скомпрометированный 30 июня 2025 года. Группа не трогает организации в России и СНГ - стандартное ограничение для русскоязычных RaaS-операций.

4 мая 2026 года утекла внутренняя база данных. В утечке - переписка по каналам INFO, general, TOOLS и PODBOR: координация вторжений, обмен EDR-kill пакетами, обсуждение CVE и exploit paths, данные о выплатах. Из переписки видно, что разработчики The Gentlemen систематически реверсят семплы Babuk, Qilin, LockBit 5.0 и Medusa, вытаскивая шифровальные рутины, техники обфускации (T1027) и методы обхода EDR. Результат - не форк одного предшественника, а композитный продукт, собранный из лучших кусков нескольких семейств.

Реверс Go-бинарника: что видно в дизассемблере​

Семпл - 64-битный PE, скомпилированный в Go. Detect it Easy подтверждает: Golang, stripped symbols. Для Go-бинарника stripped symbols - обычное дело: компилятор Go по умолчанию генерирует бинарники размером 5-15 МБ из-за статической линковки всей стандартной библиотеки. Но strip - не приговор.

Структура pclntab (program counter line table) в Go сохраняется даже после strip - без неё runtime не может строить stack traces и управлять garbage collection. pclntab содержит имена функций, пути к исходникам и информацию о стеке. GoReSym вытаскивает символы из этой структуры автоматически; в IDA Pro ту же работу делает плагин go_parser. Binary Ninja справляется через встроенный Go-анализатор начиная с версии 3.x. Отдельная головная боль - горутины: Go-шедулер мультиплексирует их по OS-потокам, и breakpoint-based динамический анализ становится менее предсказуемым, чем для C/C++ бинарников.

Валидация пароля запуска. Перед выполнением бинарник проверяет аргумент --password против hardcoded-значения. По данным Microsoft, для этого семпла ожидаемый пароль - 9VoAvR7G. Это не криптографическая защита, а контроль доступа к RaaS-билду: каждый билд генерируется панелью с уникальным паролем, что мешает запуску перехваченных семплов и усложняет автоматический анализ. В Procmon при запуске без пароля бинарник завершается мгновенно - ни файловых операций, ни сети, ни реестра. Sandbox типа Cuckoo или Any.Run без правильного пароля получат пустой отчёт. Тут стоит задуматься: сколько семплов The Gentlemen прошли через песочницы незамеченными просто потому, что никто не подобрал пароль?

CLI-интерфейс (адаптировано из анализа Cybereason):
Код:
Usage: %s --password PASS [--path DIR1,DIR2,] [--T MIN] [--silent]
         [--full] [--system] [--shares] [--fast] [--superfast]
         [--ultrafast] [--spread]
Основные:  --password (обязательный), --path (каталоги), --T (задержка, мин)
Режимы:    --system (SYSTEM-привилегии), --shares (сетевые шары)
           --full (локальные + сетевые), --spread (самораспространение)
Скорость:  --fast / --superfast / --ultrafast
Стелс:    --silent (шифрует, но не переименовывает файлы)
Флаг --silent - хитрая штука: файлы шифруются, но сохраняют оригинальные имена. Жертва видит привычную структуру каталогов и обнаруживает проблему только при попытке открыть файл. Это даёт оператору дополнительное время на эксфильтрацию.

Контекст применимости: описанная CLI-структура актуальна для Windows-варианта. GNU/Linux-вариант добавляет --wipe (перезапись свободного пространства). ESXi-вариант написан на C, имеет другую архитектуру и оптимизирован под параллельное шифрование множества VM через vSAN.

Схема шифрования: XChaCha20 + Curve25519​

Выбор XChaCha20 вместо AES - архитектурное решение: 192-битный nonce (24 байта) снимает проблему коллизий nonce при генерации большого количества ключей. Curve25519 - для key exchange.

Per-file эфемерный ключ. Для каждого файла генерируется отдельная ключевая пара Curve25519. Публичный ключ оператора вшит в билд. Эфемерный приватный ключ файла живёт в памяти только на время шифрования - потом он перезаписывается. Расшифровка конкретного файла требует приватного ключа оператора, и восстановление одного файлового ключа не даёт доступа к остальным. Принципиальное отличие от ранних шифровальщиков с общим ключом на весь инцидент - bulk-дешифровка тут просто не работает.

Интермиттентное шифрование. Файлы до 1 МБ шифруются целиком. Для более крупных - сегментное шифрование, процент зависит от режима скорости. --ultrafast шифрует минимальный объём каждого файла, приоритизируя скорость охвата. Заявленное ускорение 9-15% в последних версиях (данные changelogs из даркнет-форума, приведённые Cybereason) - результат оптимизации буферизации I/O.

Подготовка среды (T1489, T1490). Windows-вариант перед шифрованием убивает процессы БД (SQL Server, MySQL, PostgreSQL), бэкапов (Veeam, Acronis), виртуализации (VMware), офисных приложений. Удаляет shadow copies через vssadmin и WMI, чистит Корзину, отключает Defender real-time protection с добавлением exclusion для своего бинарника. GNU/Linux-вариант дополнительно уничтожает снапшоты NAS/VMware, ставит persistence через system-level autostart и вайпает свободное пространство. ESXi-вариант останавливает VM двухэтапно (graceful -> force kill), деградирует кеширование и отключает auto-recovery.

Самораспространяющийся шифровальщик: --spread и SMB lateral movement​

1780739428774.webp

Вот что отличает The Gentlemen от большинства шифровальщиков - встроенный механизм самораспространения. Флаг --spread запускает автономный модуль:
  1. Обнаружение доступных хостов в сети
  2. Аутентификация с использованием собранных credentials
  3. Копирование бинарника на удалённую машину через SMB (T1021.002)
  4. Удалённый запуск
  5. Повторение цикла на каждом заражённом хосте - цепная реакция (T1570)
Флаг --full запускает два параллельных процесса: один шифрует локальные диски с SYSTEM-привилегиями, другой - сетевые шары текущего пользователя. Максимальный охват за минимальное время.

В инциденте, описанном Huntress (апрель 2026, shipping/transportation-сектор), бинарник нашли на NETLOGON-шаре. Он был запущен SYSTEM-аккаунтом через Configuration Manager Client (CcmExec.exe) - шифровальщик использовал штатную инфраструктуру управления конфигурациями для распространения. Командная строка: win.exe --password REDACTED --T 200 --superfast. Зашифрованные файлы получили расширение .fjn1jw, ransom note - README-GENTLEMEN.txt.

Ограничения самораспространения. Механизм эффективен в flat-сетях с общими administrative shares (C$, ADMIN$) и переиспользуемыми credentials. В сегментированных сетях с LAPS (уникальный пароль локального администратора на каждом хосте), tiered administration model и Privileged Access Workstations распространение ограничивается текущим сегментом. Принудительный SMB signing через GPO (Microsoft network server: Digitally sign communications (always) = Enabled) блокирует relay-атаки.

Окно реагирования. При классическом ransomware-инциденте SOC получает минуты на реакцию после первого алерта. При --spread множество хостов заражается параллельно. Microsoft рекомендует мониторить lateral movement и credential abuse, а не шифрование - к моменту шифрования реагировать уже поздно.

Defense evasion: BYOVD через ThrottleStop.sys и нейтрализация EDR​

BYOVD: CVE-2025-7771. Легитимный драйвер ThrottleStop.sys (операторы переименовали его в ThrottleBlood.sys) экспонирует два IOCTL-интерфейса для произвольного чтения и записи в физическую память через MmMapIoSpace. CWE-782(CWE - CWE-782: Exposed IOCTL with Insufficient Access Control (4.20)). CVSS 8.7 (HIGH). Вредоносное user-mode приложение патчит работающее ядро Windows и вызывает kernel-функции с ring-0 привилегиями. Публичный эксплойт: EDB-52512 (Xavi Beltran, 2026-04-22).

Цепочка на практике: All.exe загружает ThrottleBlood.sys, через IOCTL терминирует защищённые процессы на уровне ядра. Когда первый подход не срабатывает (EDR блокирует конкретный драйвер), операторы разворачивают Allpatch2.exe - версию, заточенную под конкретные EDR-компоненты жертвы.

Адаптация под окружение (данные Trend Micro). Аффилиаты проводят разведку установленных средств защиты перед выбором evasion-инструмента. All.exe + ThrottleBlood.sys - первый эшелон, generic kernel-level kill. PowerRun.exe - легитимный инструмент для privilege escalation. Allpatch2.exe - кастомизирован под конкретные процессы EDR-агента, выявленные при разведке. Trend Micro называет это «environment-specific evasion techniques» - и это действительно отличает The Gentlemen от opportunistic ransomware. По подходу ближе к таргетированным APT.

Microsoft Defender. В инциденте Huntress (апрель 2026) Defender засёк попытку тампера как Trojan:Win32/MpTamperBulkExcl.H - массовое добавление exclusions через PowerShell. Первый запуск шифровальщика заблокирован (Event ID 1116/1117). Но повторная попытка через scheduled task и NETLOGON share прошла, несмотря на детекцию (Event ID 1118: обнаружен, remediation failed). Сигнатурная детекция сработала (Ransom:Win64/Gentlemen.SH!MTB), behavioral prevention - нет. Для CrowdStrike Falcon, SentinelOne, Elastic 8.x+ конкретных публичных данных о детекции The Gentlemen в доступных источниках я не нашёл - если у кого-то есть опыт, было бы интересно сравнить.

Очистка журналов. Оператор удаляет Security, System и Application Event Logs (Event ID 104 для Application/System, Event ID 1102 для Security). Но - и это ключевой момент для форензики - остальные журналы нетронуты. Microsoft-Windows-TaskScheduler, PowerShell ScriptBlock Logging и Defender-логи сохраняют артефакты. Если вы не собираете эти логи централизованно - самое время начать.

Initial access: арсенал активно эксплуатируемых уязвимостей​

Основной вектор - CVE-2024-55591. CVSS 9.8 (CRITICAL), вектор CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - полный набор: сетевой доступ, низкая сложность, ни привилегий, ни действия пользователя не требуется, воздействие на конфиденциальность, целостность и доступность максимальное. В CISA KEV с 14 января 2025 с привязкой к ransomware. PoC-репозитории:
Операторы The Gentlemen держат базу ~14 700 скомпрометированных FortiGate-устройств и ~969 brute-forced VPN-credentials (данные Halcyon). Аффилиаты пропускают reconnaissance и сразу получают доступ к сети. Для одной ransomware-операции это исключительно большой pre-positioned access.

Активно отслеживаемые CVE (из утечки чатов, май 2026):

CVE-2025-32433
(NVD - CVE-2025-32433) - Unauthenticated RCE в Erlang/OTP SSH-сервере. CVSS 10.0 (CRITICAL), CWE-306 (Missing Authentication for Critical Function). Произвольные команды без аутентификации через ошибку в обработке SSH-протокольных сообщений. Затронуты версии до OTP-27.3.3, OTP-26.2.5.11, OTP-25.3.2.20. В CISA KEV с 9 июня 2025. PoC: omer-efe-curkus/CVE-2025-32433-Erlang-OTP-SSH-RCE-PoC.

CVE-2025-33073(NVD - CVE-2025-33073) - Improper Access Control в Windows SMB (CWE-284). CVSS 8.8 (HIGH), требует low-privilege сетевого доступа (PR:L). NTLM reflection: принудительное обратное SMB-подключение жертвы с аутентификацией. PoC: mverschu/CVE-2025-33073 - 700 звёзд. EDB-52330. В CISA KEV с 20 октября 2025. Все три CVE - в активной эксплуатации, у всех есть публичные PoC.

Помимо Fortinet, аффилиаты используют internet-facing RDP, SSL VPN endpoints, infostealer-sourced credentials и скомпрометированные OWA/M365 учётные записи.

Детектирование: YARA-правила, поведенческие индикаторы и MITRE ATT&CK​

📚 Часть контента скрыта. Этот материал доступен участникам сообщества с рангом One Level или выше
Получить доступ просто — достаточно зарегистрироваться и проявить активность на форуме


Большинство IR-playbook'ов до сих пор исходят из предположения, что lateral movement - ручная операция, где у SOC есть минуты на реакцию между первым алертом и шифрованием. The Gentlemen с --spread ломает эту модель: шифровальщик автономно размножается по SMB-шарам быстрее, чем L1-аналитик успевает открыть тикет. Медианный dwell time в 11 дней (Mandiant M-Trends 2025) теряет смысл - между компрометацией и шифрованием проходят минуты, не дни.

При этом The Gentlemen - не техническая революция. Каждый отдельный компонент (BYOVD, интермиттентное шифрование, Curve25519 key exchange) существовал раньше в других семействах. Инженерная ценность The Gentlemen в том, что они собрали best-of-breed из Babuk, Qilin, LockBit и Medusa в одном Go-бинарнике с удобным CLI и аффилиатской панелью. RaaS-экономика с 90/10 сплитом делает остальное - при медианном выкупе $46 000 (Verizon DBIR 2025) аффилиат забирает $41 400. С pre-positioned access к тысячам FortiGate-устройств порог входа стремится к нулю.

Единственная устойчивая защита от самораспространяющегося шифровальщика - не сигнатурная детекция (Defender обнаружил The Gentlemen, но не остановил) и не патчинг FortiGate (они уже внутри через 14 700 устройств), а архитектура сети: сегментация, LAPS, принудительный SMB signing, tiered administration. Всё то, что рекомендовали десять лет назад и до сих пор не внедрили в большинстве корпоративных сред. Проверьте свою: Get-SmbServerConfiguration | Select EnableSMB1Protocol, RequireSecuritySignature - если RequireSecuritySignature = False, у вас та же проблема. На HackerLab (https://hackerlab.pro) лежит сценарий, где этот primitive нужно собрать в полную цепочку - от первоначального доступа до post-exploitation, и это другой уровень понимания, чем чтение чужих отчётов.
 
Последнее редактирование модератором:
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Похожие темы

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab