
Gentlemen 랜섬웨어 최초의 복호화 도구 — X25519 임시 키 추출을 통해 프로세스 메모리 덤프에서 암호화 키를 복구합니다. 파일 35/35개 복호화 성공. Bedrock Safeguard Inc. 연구.
The Gentlemen 랜섬웨어를 위한 최초의 공개 복호화 방법입니다.
The Gentlemen (hastalamuerte라고도 알려짐)은 현재 전 세계에서 가장 활발한 ransomware-as-a-service(RaaS) 운영으로, 2026년 1분기 기준 320명 이상의 확인된 피해자가 있습니다. 지금까지 Cybereason, Group-IB, Check Point, ASEC, Trend Micro 등 주요 보안 공급업체는 암호화가 암호학적으로 깨지지 않는다고 평가했습니다. 공개 복호화 도구는 존재하지 않았습니다.
우리가 해냈습니다.
The Gentlemen은 X25519 ECDH 키 교환과 함께 XChaCha20 스트림 암호화를 사용합니다. 각 파일은 새로운 임시 키 쌍에서 파생된 고유 키로 암호화됩니다. 암호화는 수학적으로 건전합니다 — 우리는 수학을 깨지 않았습니다.
우리는 구현을 깨뜨렸습니다.
Go는 사용 후 힙에서 암호화 키 자료를 제로화하지 않습니다(CWE-244). 파일에 대한 임시 X25519 개인 키가 생성되면 지워지지 않고 프로세스 메모리에 남아 있습니다. 따라서 실행 중인 프로세스의 덤프를 통해 이미 암호화된 파일의 키를 복구할 수 있으며, 종종 GC가 남긴 여러 복사본으로 존재합니다. 프로세스가 종료되면 OS가 이 메모리를 회수합니다.
암호화 중 또는 암호화가 거의 끝날 때 캡처한 실행 중인 프로세스의 메모리 덤프에는 일반적으로 그 시점까지 처리된 모든 파일에 대한 임시 키가 포함됩니다 — 35개 파일 분석에서 모두 발견되었습니다.
결과: 35/35 파일이 100% 정확도로 복호화되었습니다. 단일 메모리 덤프에서 35개 키 모두 0.6초 만에 복구되었습니다.
The Gentlemen 랜섬웨어에 감염된 경우, 랜섬웨어 프로세스가 실행 중일 때 메모리 이미지를 캡처했다면 파일을 복구할 수 있습니다. 복구는 해당 이미지에서 파일별 임시 개인 키를 추출하여 작동하므로 최선의 노력이며 부분적일 수 있습니다 — 키가 이미 생성되어 캡처 시점에 메모리에 상주하고 있던 파일만 복구할 수 있습니다.
실제 의미는 다음과 같습니다:
사용 가능한 메모리 이미지가 있을 수 있는 위치 — 각각은 프로세스가 실행 중일 때 캡처한 경우에만 도움이 됩니다:
procdump, 작업 관리자 → "덤프 파일 만들기" 또는 기타 포렌식 도구를 사용하여 랜섬웨어 프로세스를 종료하기 전에 캡처한 경우.C:\ProgramData\Microsoft\Windows\WER\에 프로세스 덤프가 존재할 수 있습니다.C:\Windows\Minidump\ 및 C:\Windows\MEMORY.DMP(프로세스가 실행 중일 때 버그 체크가 발생한 경우). 전체 메모리 덤프만 프로세스 메모리를 포함하며, 미니덤프는 일반적으로 포함하지 않습니다.C:\hiberfil.sys. 시스템이 랜섬웨어 프로세스가 활성화된 상태에서 최대 절전 모드로 전환된 경우(그 순간의 RAM 스냅샷을 고정합니다).이러한 항목이 귀하의 사고에 존재하는지 확실하지 않습니까? [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 락커는 1MB보다 큰 파일에 대해 부분 암호화를 수행하는 속도 플래그를 지원합니다. --superfast를 사용하면 대용량 파일의 약 3% 바이트만 암호화되고, 나머지 약 97%는 원래 디스크 위치에 평문으로 남습니다. 이는 공개된 RE(ASEC, Trend Micro, Cybereason)에서 확인되었습니다.
부분 암호화된 파일에 전체 XChaCha20 복호화를 적용하면 암호화되지 않은 영역이 이중으로 손상됩니다 — 평문 세그먼트에 키스트림을 XOR하면 쓰레기로 변하여 복구 가능한 데이터를 파괴합니다.
이러한 이유로 decrypt.py는 기본적으로 1MB보다 큰 파일 처리를 거부합니다. 잠금 장치가 전체 암호화 모드(작은 파일만, 또는 속도 플래그가 없는 빌드)로 실행되었음을 확인한 경우, --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 및 wmic를 통해 볼륨 섀도 복사본 삭제Add-MpPreference를 통해 Windows Defender 제외 추가gentlemen.bmp로 변경LOCKER_BACKGROUND=1 환경 변수로 자식 프로세스 생성--path, --fast, --full, --shares, --silent, --system, -T (지연)이 연구는 Bedrock RansomGuard 의 개발로 이어졌습니다. 이는 키가 파괴되기 전에 자동으로 랜섬웨어 암호화를 탐지하고 프로세스 메모리를 캡처하는 오픈 소스 Windows 서비스입니다. RansomGuard는 The Gentlemen뿐만 아니라 모든 랜섬웨어 제품군에 대해 작동합니다.
이 작업은 Adrien Guinet의 WannaCry 키 복구(2017)를 타원 곡선 암호화를 사용하는 최신 Go 기반 랜섬웨어로 확장합니다. 우리가 알기로, 이것은 메모리 포렌식에서 X25519 임시 키 복구를 모든 랜섬웨어 제품군에 대해 처음으로 발표한 적용 사례입니다.
이 프로젝트는 Business Source License 1.1에 따라 라이선스가 부여됩니다. 모든 비상업적 사용, 내부 비즈니스 사용, 사고 대응 및 학술 연구에 무료입니다.
Bedrock Safeguard Inc. 는 위협 행위자 인프라 분석, 악성코드 리버스 엔지니어링 및 디지털 포렌식을 전문으로 하는 캐나다 사이버 보안 인텔리전스 회사입니다. 이 연구는 캐나다 조직과 개인을 랜섬웨어 위협으로부터 보호하려는 우리의 사명의 일환으로 수행되었습니다.
The Gentlemen 랜섬웨어의 피해자이며 키 복구 지원이 필요하시면 [email protected]로 문의하십시오.
| TOX ID |
88984846080D639C9A4EC394E53BA616D550B2B3AD691942EA2CCD33AA5B9340FD1A8FF40E9A |
| 협상 이메일 | [email protected] |
| 유출 사이트 (.onion) | tezwsse5czllksjb7cwp65rvnk4oobmzti2znn42i43bjdfd2prqqkad.onion |