Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
gentlemen-decryptor — 初のThe Gentlemenランサムウェア向け復号ツール — X25519エフェメラル鍵抽出を用いてプロセスメモリダンプから暗号鍵を復元。35/35ファイルを復号。Bedrock Safeguard Inc.による研究。 | Kitploit
ツール/GitHubGitHub/bedrock-safeguard/gentlemen-decryptor
メモリフォレンジック脆弱性分析エクスプロイトリバースエンジニアリングフォレンジックマルウェア分析デジタルフォレンジック暗号化学習と教育

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
インシデントレスポンス
GitHubbedrock-safeguard/gentlemen-decryptor

gentlemen-decryptor

初のThe Gentlemenランサムウェア向け復号ツール — X25519エフェメラル鍵抽出を用いてプロセスメモリダンプから暗号鍵を復元。35/35ファイルを復号。Bedrock Safeguard Inc.による研究。

リポジトリを見る
3073ヶ月前Kitploit レビュー済み

The Gentlemen ランサムウェア復号化ツール

The Gentlemenランサムウェアに対する初の公開復号化手法。

The Gentlemen(別名hastalamuerte)は、現在世界で最も活発なランサムウェア・アズ・ア・サービス(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 Error Reporting — ランサムウェアがクラッシュした場合、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のgoroutineスタックアロケータは、変数がスコープ外になったときにメモリをゼロクリアしないため(CWE-244)、鍵素材はメモリフォレンジックスを介してアクセス可能なままになります。

脆弱性分類

ID説明
CWE-244Improper Clearing of Heap Memory Before Release
CWE-316Cleartext Storage of Sensitive Information in Memory

鍵回復方法

  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