Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
azureOutlookC2 — Azure Outlook Command & Control (C2) - 侵害されたWindowsデバイスをOutlookメールボックスからリモート制御します。北朝鮮APT InkySquid / ScarCruft / APT37向けの脅威エミュレーションツール。TTP: C2運用にMicrosoft Graph APIを使用。 | Kitploit
ツール/GitHubGitHub/boku7/azureoutlookc2
クラウドセキュリティコマンド&コントロールレッドチーミングペイロード開発APIセキュリティ
GitHubboku7/azureoutlookc2

azureOutlookC2

Azure Outlook Command & Control (C2) - 侵害されたWindowsデバイスをOutlookメールボックスからリモート制御します。北朝鮮APT InkySquid / ScarCruft / APT37向けの脅威エミュレーションツール。TTP: C2運用にMicrosoft Graph APIを使用。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

Azure Outlook C2

Microsoft Graph API を利用した C2 通信及びデータ漏洩を行う、Azure Outlook コマンド&コントロールです。

自身の Outlook メールボックスから、侵害した Windows デバイスを遠隔操作します。

作成者: Bobby Cooke (@0xBoku) & Paul Ungur (@C5pider)

CTI 脅威情報アップデート (2022年2月13日)

Elastic Security Labs は、SIESTAGRAPH を使用したアクティブな侵入活動を実環境で発見しました。SIESTAGRAPH は、Outlook と OneDrive を使用した C2 のために Microsoft の GraphAPI とやり取りします。Azure Outlook C2 通信に関する素晴らしいマルウェア分析ブログは以下をご覧ください。

  • https://www.elastic.co/security-labs/siestagraph-new-implant-uncovered-in-asean-member-foreign-ministry
  • https://www.elastic.co/security-labs/update-to-the-REF2924-intrusion-set-and-related-campaigns

アップデート (2021年9月27日)

  • Azure Outlook C2 にクロスプラットフォームのグラフィカルユーザーインターフェース(GUI)が追加されました!
    • Paul Ungur (@C5pider) に、QT を使用した C2 GUI の作成方法を教えていただき、大いに感謝しています!

C2 GUI を使用した Outlook メールボックス経由のコンピュータ制御

Outlook メールボックス経由のコンピュータ制御

  • このアップデートは、元の Outlook メールボックス制御をサポートしています。

類似のプロジェクト、この TTP が APT/ランサムウェアグループによって実環境で使用されているという CTI 情報、防御アドバイス、Azure C2 脅威エミュレーションに関心のあるレッドチーマーへの推奨事項、またはこのブログ/README に追加すると良いと思われるその他の情報がありましたら、ご連絡いただくか、プルリクエストを送信してください。ありがとうございます!

Azure Outlook C2 について

このプロジェクトは、攻撃者が制御する Azure Outlook メールボックス(これが C2 として機能)にビーコンを送信するインプラントで構成されています。インプラントは、コンパイル時に攻撃者の C2 メールボックスの Azure リフレッシュトークンがハードコードされます。Windows デバイス上で実行されると、インプラントは Microsoft Graph API を介して攻撃者の下書きメールボックスにアクセスします。インプラントは攻撃者の下書きメールボックスからコマンド命令を読み取り、侵害された Windows デバイス上でローカルに命令を実行し、新しい下書きメッセージを作成することでコマンド出力を攻撃者に返します。インプラントは、インプラントのホストプロセスが終了するまで、攻撃者のメールボックスからリモート制御されるこの動作を繰り返します。

作成理由

私は約半年前、Trustwave の SpiderLabs レッドチームでレッドチーミングを始めました。あるエンゲージメントで、伝説的な Stephan Borosh (rvrsh3ll|@424f424f) と一緒に仕事をする栄誉に預かりました。Steve と Matt Kingstone は、Azure ドメインフロンティングについてすべて教えてくれました。そして、ajax.microsoft.com のような正当なドメインを使用して HTTPS 経由で C2 トラフィックを流出できることに衝撃を受けました。さらに、Microsoft の TLS 証明書も使用しています!残念なことに、私がレッドチーミングを始めたのは、Azure でのドメインフロンティングが終焉した時期と同時期でした。Azure でのドメインフロンティングは終わりましたが、Azure でできる素晴らしいレッドチームテクニックはまだたくさんありました。

Steve は、Azure デバイスコードフィッシングを紹介してくれました。その時期、私は Azure と Microsoft Graph API をレッドチーミングに活用するために深く調査しました。Dr. Nestori Syynimaa (@DrAzureAD) の素晴らしい研究成果に基づいて、ツール TokenTactics を作成し、当社の方法論に興味があればブログ The Art of the Device Code Phish も執筆しました。

TokenTactics を作成し MS Graph API を実験しているうちに、Microsoft Graph API を C2 チャネルとして使用できることに気付きました。MS Graph API を C2 チャネルとして使用する方法は多数あり、私だけ(あるいは最初の発見者)ではありません。VX-Underground( @smelly__vx 作成 – HellsGate テクニックの作成者/公開者)は先月、北朝鮮の Advanced Persistent Threat (APT) グループ "InkySquid"(別名 ScarCruft および APT37)が C2 運用に Microsoft Graph API を使用していることを公開しました。このプロジェクトのティーザーを Twitter と LinkedIn で公開した後、数人の DFIR 専門家から、この Microsoft Graph API を C2 運用に使用する手法が、既に数ヶ月前からランサムウェアグループによって実環境で活発に使用されているとのコメントがありました。

レッドチームエンゲージメント中、私は Cobalt Strike を MS Graph API を C2 チャネルとして動作させようと試みました。残念ながら失敗しましたが、これは依然として将来の目標です。これを Cobalt Strike で動作させる際の問題は、MS Graph API が通信に 2 つのトークンを使用することです。最初のトークンはリフレッシュトークンで、最大 90 日間有効です。2 つ目のトークンはアクセストークンで、約 1 時間有効な一時トークンです。MS Graph API への直接通信は、アクセストークンでの認証によって行われます。アクセストークンが期限切れになると、リフレッシュトークンを使用して新しいアクセストークンを取得できます。私はまだレッドチーミングと Cobalt Strike 開発に不慣れだったため、Cobalt Strike の Malleable C2 プロファイルを使用して、新しいアクセストークンを継続的に取得し、これらの変更されるアクセストークンを HTTPS ビーコンのリクエストの Authorization ヘッダーに送信する方法を理解できませんでした。ティーザーを Twitter で公開して以来、Joe Vest、Alfie Champion、その他のコミュニティのロックスターの方々から、これを Cobalt Strike で動作させるための素晴らしい方向性をいただいています!将来的には、このプロジェクトの Cobalt Strike フォローアップができることを願っています ;)

インプラント実行フロー

  1. ハードコードされた攻撃者のリフレッシュトークンを使用して、MS Graph API のアクセストークンを取得します。
  • これは、ホスト graph.microsoft.com への HTTPS TCP 通信を介して行われます。
  • このトラフィックは、正規の Microsoft Web サーバーから返される TLS 証明書を使用して暗号化されます。
  • インプラントは HTTPS 通信に WinInet ダイナミックリンクライブラリを使用します。
  • ハードコードされた攻撃者のリフレッシュトークンは、90 日間有効です。
    • インプラントが侵害された場合、攻撃者はハードコードされたリフレッシュトークンを失効させて、マルウェアリバースエンジニアからのアクセスを制限できます。
  1. インプラントが攻撃者の MS Graph API のアクセストークンを受け取った後、無限ループに入ります。
  • ループ中にインターネット接続がない場合、または接続が切断された場合、インプラントは 3 分間スリープしてから再試行します。
  • インプラントは時間を追跡し、15 分が経過した場合、新しいアクセストークンを取得して通信を継続します。
  1. ループの最初のタスクは、MS Graph API アクセストークンを使用して攻撃者の下書きメールボックスにアクセスし、最も新しいメッセージを読み取って侵害された Windows デバイス上で実行するコマンドを取得することです。
  • SMTP を介してメールが送信されないように、下書きメールボックスが選択されました。
  1. コマンドを受信すると、解析されてどのメタコマンドを実行するかが決定されます。現在、3 つのメタコマンドがあります: cmd、sleep、exit
  • cmd: メタコマンドに続く文字列を取得し、子プロセスを生成して実行します。
  • sleep: メタコマンドに続く単語を取得し、インプラントのスリープを指定された値(ミリ秒)に変更します。
  • exit: ホストプロセスを終了/強制終了します。
  1. メタコマンドが cmd の場合、インプラントはコマンドを実行する子プロセスを作成し、子プロセスは標準出力をパイプに書き込み、コマンド実行後に子プロセスは終了し、ホストインプラントプロセスはパイプを介して子プロセスの出力を読み取ります。
  2. インプラントが実行されたコマンドの出力を取得した後、MS Graph API を使用して、コマンド出力を含む新しい下書きメールを作成します。
  3. 次にインプラントは、空の本文を持つ2つ目の下書きメールを作成します。
  • これにより、攻撃者の下書きメールボックス内にコマンド出力のログが残ります。
  • これにより、攻撃者が次に実行させるコマンドを入力するための新しい下書きメッセージがキューイングされます。
  1. コマンドが実行され出力が攻撃者に返された後、インプラントは攻撃者によって制御される時間スリープし、その後このループを繰り返します。
ツールをダウンロード