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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CovenantDecryptor — Covenant C2の通信を復号化します。ミニダンプからRSA秘密鍵を抽出し、AESセッションキーを回復し、ネットワークキャプチャを平文に変換します。 | Kitploit
ツール/GitHubGitHub/naacbin/covenantdecryptor
暗号化/復号化ツールメモリフォレンジックネットワークフォレンジックマルウェア分析デジタルフォレンジック暗号化コマンド&コントロール
GitHubnaacbin/covenantdecryptor

CovenantDecryptor

Covenant C2の通信を復号化します。ミニダンプからRSA秘密鍵を抽出し、AESセッションキーを回復し、ネットワークキャプチャを平文に変換します。

リポジトリを見る
3742年前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有

CovenantDecryptor

CovenantDecryptor は、Covenant トラフィックの通信データを復号するために設計されています。

メモリからの秘密鍵の抽出は、RSACryptoServiceProvider を使用して鍵を作成する Empire など、他の C2 にも適用できます。

Covenant の通信はどのように機能しますか?

Covenant の通信初期化は、次の3つのステージで構成されています:

  • Stage0 :
    1. 感染したエージェントは、悪意のある実行ファイルに埋め込まれた SetupAESKey を使用して暗号化された公開鍵を送信することにより、RSA セッションを開始します。送信前に、GruntHTTPStager に記述されている形式でテキストを整形し、タイプを 0 に設定します。
    2. C2 は、後続の通信のために、RSA 公開鍵で暗号化された SessionKey を転送します。
  • Stage1 :
    1. 感染したエージェントは、SetupAESKey を使用してメッセージを復号し、その後 RSA 秘密鍵を使用して SessionKey を復号します。次に、ランダムに生成された4バイトを SessionKey で暗号化して送信します。送信前に、GruntHTTPStager に記述されている形式でテキストを整形し、タイプを 1 に設定します。
    2. C2 は SessionKey を使用して4バイトを復号し、追加の4バイトのランダムデータを付加して、結果の8バイトデータを感染エージェントに転送します。
  • Stage2 :
    1. 感染したエージェントは SessionKey で8バイトを復号します。続いて、最初の4バイトが以前に送信したデータと一致するかどうかを確認し、最後の4バイトを C2 に送り返します。送信前に、GruntHTTPStager に記述されている形式でテキストを整形し、タイプを 2 に設定します。
    2. C2 は4バイトを復号し、それらが以前に送信したものと一致するかどうかを検証します。

検証が完了すると、データを交換できます。

仕組みは?

CovenantDecryptor は2つのユーティリティで構成されています。extract_privatekey スクリプトは、ミニダンプファイルから p と q の素数を取得し、公開モジュラスを使用して RSA 秘密鍵を構築します。decrypt_covenant_traffic スクリプトは、modulus、key、decrypt の3つのコマンドで構成されています。最初のコマンドは Covenant 通信からモジュラスを抽出し、2番目のコマンドはデータトラフィックの暗号化に使用される AES 鍵を復元します。最後に、3番目のコマンドはトラフィックを復号します。

必要なものは?

  • Covenant のデータトラフィックはネットワークキャプチャから抽出され、別のファイルに保存されます。
  • 通信の開始時に使用される、ステージ0のバイナリに埋め込まれた AES 鍵。
  • 感染したプロセスのミニダンプファイル。

使用方法

感染したホストのステージ0リクエストからモジュラスを抽出します:

root@kitploit:~
$ python3 decrypt_covenant_traffic.py modulus -i traffic.txt -k "EQCZiHdmVUQzIhEAmYh3ZlVEMyIRAJmId2ZVRDMiEQA=" -t base64
[+] Modulus: 
19574201286059123715221634877085223155972629451020572575626246458715199192950082143183900970133840359007922584516900405154928253156404028820410452946729670930374022025730036806358075325420793866358986719444785030579682635785758091517397518826225327945861556948820837789390500920096562699893770094581497500786817915616026940285194220703907757879335069896978124429681515117633335502362832425521219599726902327020044791308869970455616185847823063474157292399830070541968662959133724209945293515201291844650765335146840662879479678554559446535460674863857818111377905454946004143554616401168150446865964806314366426743287
[+] Exponent: 65537

感染した Covenant プロセスのミニダンプファイルから RSA 秘密鍵を取得します:

root@kitploit:~
$ python3 extract_privatekey.py -i memory.dmp -m 19574201286059123715221634877085223155972629451020572575626246458715199192950082143183900970133840359007922584516900405154928253156404028820410452946729670930374022025730036806358075325420793866358986719444785030579682635785758091517397518826225327945861556948820837789390500920096562699893770094581497500786817915616026940285194220703907757879335069896978124429681515117633335502362832425521219599726902327020044791308869970455616185847823063474157292399830070541968662959133724209945293515201291844650765335146840662879479678554559446535460674863857818111377905454946004143554616401168150446865964806314366426743287 -o ./keys/
[+] Saved private key /home/user/privkey1.pem

スクリプトは、p と q をリトルエンディアンおよびビッグエンディアンとして取得しようとします。

ネットワークトラフィックの暗号化に使用される Covenant C2 のステージ0レスポンスから SessionKey を復元します:

root@kitploit:~
$ python3 decrypt_covenant_traffic.py key -i traffic.txt --key "EQCZiHdmVUQzIhEAmYh3ZlVEMyIRAJmId2ZVRDMiEQA=" -t base64 -r mykey.pem -s 1
[+] New AES key : 0011223344556677889900112233445566778899001122334455667788990011

Covenant 通信を復号します:

root@kitploit:~
$ python3 decrypt_covenant_traffic.py decrypt -i traffic.txt -k "0011223344556677889900112233445566778899001122334455667788990011" -t hex -s 2
[...]
[*] Response message 10 : {"status":"2","output":"Hello.\r\n"}
[...]

TODO

  • extract_privatekey - 生ファイルを解析。
  • extract_privatekey - ヘッダーに基づいて秘密鍵を検索(モジュラスなし)。

StackOverflow で述べられているように、生の Microsoft RSA 秘密鍵を利用してデータを復号することも可能です。

ツールをダウンロード