
Первый в мире дешифратор для программы-вымогателя The Gentlemen — восстанавливает ключи шифрования из дампов памяти процессов с помощью извлечения эфемерного ключа X25519. 35/35 файлов расшифровано. Исследование компании Bedrock Safeguard Inc.
Первый общедоступный метод расшифровки для ransomware The Gentlemen.
The Gentlemen (также известный как hastalamuerte) в настоящее время является самой активной операцией ransomware-as-a-service (RaaS) в мире, с более чем 320 подтвержденными жертвами по состоянию на первый квартал 2026 года. До сих пор все крупные поставщики безопасности — Cybereason, Group-IB, Check Point, ASEC, Trend Micro — оценивали шифрование как криптографически невзламываемое. Никакого публичного дешифратора не существовало.
Мы взломали его.
The Gentlemen использует поточное шифрование XChaCha20 с обменом ключами X25519 ECDH. Каждый файл шифруется уникальным ключом, полученным из новой эфемерной пары ключей. Шифрование математически обосновано — мы не взломали математику.
Мы взломали реализацию.
Go не обнуляет криптографический ключевой материал в куче после использования (CWE-244). После того как эфемерный закрытый ключ X25519 сгенерирован для файла, он остается в памяти процесса, а не удаляется — поэтому дамп живого процесса восстанавливает ключи для уже зашифрованных файлов, часто в нескольких копиях, оставленных сборщиком мусора. ОС освобождает эту память после завершения процесса.
Дамп памяти живого процесса, сделанный во время или ближе к концу шифрования, обычно содержит эфемерные ключи для каждого обработанного до этого момента файла — в нашем анализе 35 файлов все они были найдены.
Результаты: 35/35 файлов расшифрованы с 100% точностью. Все 35 ключей восстановлены за 0,6 секунды из одного дампа памяти.
Если вы пострадали от ransomware The Gentlemen, вы можете восстановить файлы если образ памяти процесса ransomware был захвачен во время его работы. Восстановление работает путем извлечения эфемерных закрытых ключей для каждого файла из этого образа, поэтому это по возможности и может быть частичным — могут быть восстановлены только те файлы, ключ для которых уже был сгенерирован и все еще находился в памяти в момент захвата.
Что это означает на практике:
Где может существовать полезный образ памяти — каждый помогает только если он захватил процесс во время его работы:
procdump, Диспетчер задач → "Создать файл дампа" или другой криминалистический инструмент для захвата процесса ransomware до его завершения.C:\ProgramData\Microsoft\Windows\WER\.C:\Windows\Minidump\ и C:\Windows\MEMORY.DMP, если произошла ошибка проверки во время работы процесса (только полные дампы памяти включают память процесса; минидампы обычно нет).C:\hiberfil.sys, если система перешла в спящий режим пока процесс ransomware был активен (он замораживает снимок ОЗУ в этот момент).Не уверены, существуют ли они для вашего инцидента? Свяжитесь с нами по адресу [email protected], и мы поможем вам проверить.
# 1. Install dependencies
pip install cryptography
# 2. Extract ephemeral public keys from your encrypted files
python extract_keys_from_files.py --input-dir /path/to/encrypted/files --output keys.json
# 3. Search the memory dump for matching private keys
python recover_keys.py --dump process_memory.dmp --pubkeys keys.json --output recovered_keys.json
# 4. Decrypt your files
python decrypt.py --keys recovered_keys.json --input-dir /path/to/encrypted/files --output-dir /path/to/recovered
--fast / --superfast / --ultrafast)Блокировщик The Gentlemen поддерживает флаги скорости, которые выполняют частичное шифрование файлов размером более 1 МБ. При --superfast шифруется только ~3% байтов в большом файле; остальные ~97% остаются в виде открытого текста в исходном положении на диске. Это подтверждено в опубликованных RE (ASEC, Trend Micro, Cybereason).
Полноценное дешифрование XChaCha20 на файле с частичным шифрованием ДВАЖДЫ ПОВРЕДИТ незашифрованные области — применение потока ключей к сегментам открытого текста превращает их в мусор и уничтожает восстанавливаемые данные.
По этой причине decrypt.py по умолчанию отказывается обрабатывать файлы размером более 1 МБ. Если вы проверили, что блокировщик работал в режиме полного шифрования (только маленькие файлы или сборка без флагов скорости), передайте --force-large для переопределения.
Для жертв частичного шифрования используйте инструменты восстановления, учитывающие формат, на незашифрованных областях:
Bedrock Safeguard активно занимается обратной разработкой геометрии смещения блоков в режиме частичного шифрования. Когда эта работа будет завершена, этот дешифратор будет обновлен для безопасной обработки частично зашифрованных сегментов.
Per-file encryption:
1. Generate 32 random bytes -> ephemeral private key (crypto/rand.Read)
2. X25519(ephemeral_priv, operator_pub) -> shared_secret (32 bytes)
3. XChaCha20(plaintext, shared_secret) -> ciphertext
4. Append to file: --eph--<base64(ephemeral_PUBLIC_key)>--marker--GENTLEMEN
Эфемерный закрытый ключ является критическим секретом. Он существует только в памяти процесса и никогда не записывается на диск. Но распределитель стеков горутин Go не обнуляет память при выходе переменных из области видимости (CWE-244), оставляя ключевой материал доступным через криминалистику памяти.
| ID | Описание |
|---|---|
| CWE-244 | Неправильная очистка памяти кучи перед освобождением |
| CWE-316 | Хранение конфиденциальной информации в открытом виде в памяти |
public = X25519(candidate, basepoint)shared_secret = X25519(ephemeral_private, operator_public)| IOC | Значение |
|---|---|
| Открытый ключ X25519 оператора | fcb11717cab989424755a957c1d55361b119de4fdcfecdb2f2e56b15ad801922 |
| Поле | Значение |
|---|---|
| SHA256 | 3ab9575225e00a83a4ac2b534da5a710bdcf6eb72884944c437b5fbe5c5c9235 |
| Тип | PE32+ x64, Go-бинарник, обфусцированный Garble |
| Размер | 2 962 944 байта |
| Первое появление | 2026-04-03 |
| Индикатор | Значение |
|---|---|
| Записка с требованием | README-GENTLEMEN.txt |
| Расширение зашифрованных файлов | Случайное для каждой сборки (например, .axfsmg) |
| Хвост файла | --eph--<base64>--marker--GENTLEMEN |
vssadmin и wmicAdd-MpPreferencegentlemen.bmpLOCKER_BACKGROUND=1--path, --fast, --full, --shares, --silent, --system, -T (задержка)Это исследование привело к разработке Bedrock RansomGuard — сервиса Windows с открытым исходным кодом, который автоматически обнаруживает шифрование ransomware и захватывает память процесса до уничтожения ключей. RansomGuard работает против любого семейства ransomware, а не только The Gentlemen.
Эта работа расширяет восстановление ключей WannaCry Адриана Гинэ (2017) на современные ransomware на основе Go, использующие криптографию на эллиптических кривых. Насколько нам известно, это первая опубликованная реализация восстановления эфемерных ключей X25519 из памяти в отношении любого семейства ransomware.
Этот проект лицензирован в соответствии с Business Source License 1.1 — бесплатно для любого некоммерческого использования, внутреннего бизнес-использования, реагирования на инциденты и академических исследований.
Bedrock Safeguard Inc. — канадская фирма по киберразведке, специализирующаяся на анализе инфраструктуры угроз, обратной разработке вредоносного ПО и цифровой криминалистике. Это исследование было проведено в рамках нашей миссии по защите канадских организаций и частных лиц от угроз ransomware.
Если вы стали жертвой ransomware The Gentlemen и вам нужна помощь с восстановлением ключей, свяжитесь с нами по адресу [email protected].
| TOX ID | 88984846080D639C9A4EC394E53BA616D550B2B3AD691942EA2CCD33AA5B9340FD1A8FF40E9A |
| Почта для переговоров | [email protected] |
| Сайт утечки (.onion) | tezwsse5czllksjb7cwp65rvnk4oobmzti2znn42i43bjdfd2prqqkad.onion |