Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
gentlemen-decryptor — Gentlemen 랜섬웨어 최초의 복호화 도구 — X25519 임시 키 추출을 통해 프로세스 메모리 덤프에서 암호화 키를 복구합니다. 파일 35/35개 복호화 성공. Bedrock Safeguard Inc. 연구. | Kitploit
도구/GitHubGitHub/bedrock-safeguard/gentlemen-decryptor
Memory ForensicsVulnerability AnalysisExploitationReverse EngineeringForensicsMalware AnalysisDigital ForensicsCryptographyLearning & Education

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
Incident Response
GitHubbedrock-safeguard/gentlemen-decryptor

gentlemen-decryptor

Gentlemen 랜섬웨어 최초의 복호화 도구 — X25519 임시 키 추출을 통해 프로세스 메모리 덤프에서 암호화 키를 복구합니다. 파일 35/35개 복호화 성공. Bedrock Safeguard Inc. 연구.

저장소 보기
30733개월 전Kitploit 검토 완료

The Gentlemen 랜섬웨어 복호화 도구

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 랜섬웨어에 감염된 경우, 랜섬웨어 프로세스가 실행 중일 때 메모리 이미지를 캡처했다면 파일을 복구할 수 있습니다. 복구는 해당 이미지에서 파일별 임시 개인 키를 추출하여 작동하므로 최선의 노력이며 부분적일 수 있습니다 — 키가 이미 생성되어 캡처 시점에 메모리에 상주하고 있던 파일만 복구할 수 있습니다.

실제 의미는 다음과 같습니다:

  • 각 파일의 키는 해당 파일이 암호화되는 순간 생성됩니다. 공격 초기에 캡처한 이미지에는 그 시점까지 처리된 파일의 키만 포함됩니다. 실행이 거의 끝날 때 캡처한 이미지가 가장 넓은 범위를 제공합니다.
  • 키는 실행 중인 프로세스의 메모리에 존재합니다. Go는 프로세스가 실행되는 동안 이 키 자료를 제로화하지 않으므로(CWE-244), 실행 중인 프로세스의 덤프는 일반적으로 이미 암호화된 파일의 키(종종 모두)를 제공합니다.
  • 키는 프로세스가 종료된 직후 손실됩니다. 랜섬웨어 프로세스가 종료되면 운영 체제가 메모리를 회수하고 키는 빠르게 사라집니다. 메모리 이미지는 프로세스가 살아 있는 동안을 반영하는 경우에만 유용합니다. 일반 디스크 이미지나 재부팅 후의 RAM 캡처에는 거의 확실히 키가 포함되지 않습니다.
  • 마스터 키나 스켈레톤 키는 존재하지 않습니다. 운영자의 개인 키는 피해자 시스템에 결코 존재하지 않습니다. 복구는 전적으로 메모리 이미지에 파일별 키가 물리적으로 존재하는지에 달려 있습니다. 그러한 이미지가 없으면 이 도구는 해당 파일을 복구할 수 없습니다.

사용 가능한 메모리 이미지가 있을 수 있는 위치 — 각각은 프로세스가 실행 중일 때 캡처한 경우에만 도움이 됩니다:

  1. EDR/XDR 솔루션 — CrowdStrike, SentinelOne, Carbon Black, Microsoft Defender for Endpoint 등은 위협을 탐지할 때 프로세스 메모리를 캡처할 수 있습니다. EDR 콘솔에서 사고 당시의 메모리 캡처 또는 포렌식 스냅샷을 확인하십시오.
  2. 사고 대응 — IR 팀이 procdump, 작업 관리자 → "덤프 파일 만들기" 또는 기타 포렌식 도구를 사용하여 랜섬웨어 프로세스를 종료하기 전에 캡처한 경우.
  3. Windows 오류 보고 — 랜섬웨어가 충돌한 경우, C:\ProgramData\Microsoft\Windows\WER\에 프로세스 덤프가 존재할 수 있습니다.
  4. 커널 크래시 덤프 — C:\Windows\Minidump\ 및 C:\Windows\MEMORY.DMP(프로세스가 실행 중일 때 버그 체크가 발생한 경우). 전체 메모리 덤프만 프로세스 메모리를 포함하며, 미니덤프는 일반적으로 포함하지 않습니다.
  5. 전체 RAM 캡처 — 컴퓨터가 계속 실행되는 동안 시스템 RAM의 포렌식 이미지(WinPmem, Magnet RAM Capture, FTK Imager).
  6. 최대 절전 모드 파일 — C:\hiberfil.sys. 시스템이 랜섬웨어 프로세스가 활성화된 상태에서 최대 절전 모드로 전환된 경우(그 순간의 RAM 스냅샷을 고정합니다).

이러한 항목이 귀하의 사고에 존재하는지 확실하지 않습니까? [email protected]로 문의하시면 확인을 도와드리겠습니다.

복구 단계

root@kitploit:~
# 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를 전달하여 재정의하십시오.

부분 암호화 피해자의 경우, 암호화되지 않은 영역에 대해 형식 인식 복구 도구를 대신 사용하십시오:

  • CyberArk White Phoenix — Office 문서, PDF (https://github.com/cyberark/White-Phoenix)
  • PhotoRec — 일반 미디어 파일 카빙
  • 형식별 카빙 도구 — 파일 유형에 맞춤 (SQLite, QuickBooks 등)

Bedrock Safeguard는 부분 암호화 모드의 청크 오프셋 기하를 적극적으로 리버스 엔지니어링하고 있습니다. 해당 작업이 완료되면 이 복호화 도구는 부분 암호화된 세그먼트를 안전하게 처리하도록 업데이트됩니다.


기술 분석

암호화 체계

root@kitploit:~
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메모리에 민감한 정보의 평문 저장

키 복구 방법

  1. 활성 암호화 중 전체 프로세스 메모리 덤프 캡처
  2. 8바이트 정렬 오프셋에서 32바이트 값 스캔
  3. 각 후보에 대해 public = X25519(candidate, basepoint) 계산
  4. 암호화된 파일 바닥글에서 추출한 임시 공개 키와 비교
  5. 일치 항목 발견 = 해당 파일의 개인 키 복구
  6. 복호화 키 도출: shared_secret = X25519(ephemeral_private, operator_public)
  7. shared_secret을 키로 사용하여 XChaCha20으로 복호화

침해 지표

운영자 인프라

IOC값
운영자 X25519 공개 키fcb11717cab989424755a957c1d55361b119de4fdcfecdb2f2e56b15ad801922

분석된 샘플

필드값
SHA2563ab9575225e00a83a4ac2b534da5a710bdcf6eb72884944c437b5fbe5c5c9235
유형PE32+ x64, Go 바이너리, Garble 난독화
크기2,962,944 바이트
최초 발견2026-04-03

파일 지표

지표값
랜섬 노트README-GENTLEMEN.txt
암호화된 확장자빌드마다 무작위화 (예: .axfsmg)
파일 바닥글--eph--<base64>--marker--GENTLEMEN

행동 지표

  • vssadmin 및 wmic를 통해 볼륨 섀도 복사본 삭제
  • Add-MpPreference를 통해 Windows Defender 제외 추가
  • Windows Prefetch 파일 삭제
  • 암호화 전 데이터베이스, 백업 및 보안 서비스 종료
  • 바탕 화면 배경을 gentlemen.bmp로 변경
  • LOCKER_BACKGROUND=1 환경 변수로 자식 프로세스 생성
  • CLI 플래그: --path, --fast, --full, --shares, --silent, --system, -T (지연)

사전 방어

이 연구는 Bedrock RansomGuard 의 개발로 이어졌습니다. 이는 키가 파괴되기 전에 자동으로 랜섬웨어 암호화를 탐지하고 프로세스 메모리를 캡처하는 오픈 소스 Windows 서비스입니다. RansomGuard는 The Gentlemen뿐만 아니라 모든 랜섬웨어 제품군에 대해 작동합니다.


선행 연구

이 작업은 Adrien Guinet의 WannaCry 키 복구(2017)를 타원 곡선 암호화를 사용하는 최신 Go 기반 랜섬웨어로 확장합니다. 우리가 알기로, 이것은 메모리 포렌식에서 X25519 임시 키 복구를 모든 랜섬웨어 제품군에 대해 처음으로 발표한 적용 사례입니다.


책임 있는 공개

  • 캐나다 사이버 보안 센터(CCCS)와 RCMP NC3에 이 결과가 통보되었습니다.
  • 이 게시물은 방어 정보만 포함합니다. 피해자 데이터는 포함되지 않았습니다.
  • 여기에 게시된 암호화 체계 세부 사항은 이미 운영자에게 알려져 있습니다. 게시한다고 해서 공격적 이점이 제공되지는 않습니다.

라이선스

이 프로젝트는 Business Source License 1.1에 따라 라이선스가 부여됩니다. 모든 비상업적 사용, 내부 비즈니스 사용, 사고 대응 및 학술 연구에 무료입니다.


소개

Bedrock Safeguard Inc. 는 위협 행위자 인프라 분석, 악성코드 리버스 엔지니어링 및 디지털 포렌식을 전문으로 하는 캐나다 사이버 보안 인텔리전스 회사입니다. 이 연구는 캐나다 조직과 개인을 랜섬웨어 위협으로부터 보호하려는 우리의 사명의 일환으로 수행되었습니다.

bedrocksafe.ca


The Gentlemen 랜섬웨어의 피해자이며 키 복구 지원이 필요하시면 [email protected]로 문의하십시오.

도구 다운로드
TOX ID
88984846080D639C9A4EC394E53BA616D550B2B3AD691942EA2CCD33AA5B9340FD1A8FF40E9A
협상 이메일[email protected]
유출 사이트 (.onion)tezwsse5czllksjb7cwp65rvnk4oobmzti2znn42i43bjdfd2prqqkad.onion