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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
365-Stealer — Azure/O365 テナントに対する不正な同意付与攻撃を自動化し、リフレッシュトークンを窃取、メール/OneDrive データを流出させ、CLI および Web 管理ポータルを介して悪意のある Outlook ルールを作成します。 | Kitploit
ツール/GitHubGitHub/alteredsecurity/365-stealer
フィッシングペネトレーションテストクラウドセキュリティレッドチーミング
GitHubalteredsecurity/365-stealer

365-Stealer

Azure/O365 テナントに対する不正な同意付与攻撃を自動化し、リフレッシュトークンを窃取、メール/OneDrive データを流出させ、CLI および Web 管理ポータルを介して悪意のある Outlook ルールを作成します。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

365-Stealer

365-Stealer

目次

  • 365-Stealerについて
  • 不正同意付与攻撃について
  • 365-Stealerの主な機能
  • 攻撃環境のセットアップ
    • 自動Azureアプリ登録
    • 手動Azureアプリ登録
    • アプリケーションの構成
      • クライアントシークレットの作成
      • API権限の追加
  • 365-Stealerのセットアップ
    • ApacheサーバーでSQLite3を有効にする
  • 365-Stealer管理ポータルの構成
    • パスの修正
    • 365-Stealer管理ポータルのIPホワイトリストを有効にする
  • OPSECの考慮事項
  • コマンドラインのヘルプ
  • ブログ
  • バグと機能リクエスト
  • 貢献

概要

365-Stealer は、不正な同意付与攻撃(Illicit Consent Grant Attack)を自動化するために設計されたPython3ベースのツールです。ターゲットユーザーが知らずに攻撃者のアプリケーションに権限を付与すると、攻撃者は被害者の更新トークン(refresh token)を取得します。この更新トークンは他のトークンを生成するために使用でき、被害者のメール、OneDrive上のファイル、メモなどの機密データにアクセスできます。手動でこの攻撃を実行するのは時間がかかりますが、365-Stealerはプロセスを簡素化し自動化します。

365-Stealerには2つのインターフェースが用意されています:

  1. CLI(コマンドラインインターフェース) - 完全にPython3で構築され、ツールの機能に直接アクセスできます。
  2. Web UI - PHPで開発されたWebユーザーインターフェースで、Python3がバックグラウンドで動作してコマンドを実行します。

不正同意付与攻撃について

不正同意付与攻撃は、攻撃者がAzure内に悪意のあるアプリケーションを登録し、連絡先、メール、ドキュメントなどの機密データへのアクセスを要求する攻撃です。攻撃者はユーザーをだましてアプリに同意させ、通常は正当なアプリに見せかけます。被害者が「同意する」をクリックすると、知らないうちに攻撃者にアクセスを許可し、攻撃者は組織の資格情報を必要とせずに被害者に代わって行動できるようになります。

より明確に説明すると、ユーザーが権限を付与すると、Entra IDは攻撃者のサーバーにトークンを送信します。このトークンにより、攻撃者は被害者の資格情報を使用してメールの読み取り、メールの送信、OneDrive上のファイルへのアクセス、その他の悪意のあるアクティビティを実行できます。パスワードを盗むフィッシング攻撃とは異なり、不正同意付与攻撃は認証をまったくバイパスし、クラウドアプリケーションの権限システムを悪用します。

365-Stealerの主な機能

  • 更新トークンの窃取:被害者から更新トークンを取得します。これらのトークンは少なくとも90日間新しいアクセストークンを生成するために使用でき、アカウントへの継続的なアクセスを提供します。
  • 被害者に代わってメールを送信:被害者のアカウントから添付ファイル付きのメールを他のユーザーに気付かれずに送信できます。
  • 悪意のあるOutlookルールの作成:受信メールを攻撃者が管理するメールに転送するなど、被害者のOutlookに有害なルールを作成できます。
  • OneDriveへのファイルのアップロード:任意のファイルを被害者のOneDriveアカウントにアップロードできます。
  • OneDrive、OneNote、メールからのデータ窃取:OneDriveやOneNoteからファイルを抽出し、添付ファイルを含むすべてのメールをダンプできます。
  • 盗まれたデータの管理:365-Stealer管理ポータルを使用すると、更新トークン、メール、ファイル、ユーザーなど、侵害されたすべてのデータを管理できます。
  • OneDriveドキュメントのバックドア化:OneDriveに保存されている.docxファイルに悪意のあるマクロを注入し、ファイル拡張子を.docに置き換えることでバックドア化できます。
  • 侵害データの保存:更新トークン、メール、ファイル、被害者のテナントからのユーザーデータ、構成など、収集したすべての情報がデータベースに保存されます。
  • データ窃取の遅延カスタマイズ:データ窃取中に検出を回避するために、秒単位で遅延時間を指定できます。
  • フィッシングアプリケーションのホスト:--run-appコマンドを使用して、端末から、または365-Stealer管理ポータルを介して、不正同意付与攻撃を実行するための偽のアプリケーションをホストできます。
  • 選択的なトークン窃取:--no-stealingフラグを使用すると、トークンのみを窃取し、それ以上のアクションは行わず、後で悪用できます。
  • 新しいアクセストークンの要求:侵害されたテナント内のすべてのユーザーまたは特定のユーザーの新しいアクセストークンを要求できます。
  • 資格情報を使用したアクセストークンの生成:--refresh-token、--client-id、--client-secretフラグを使用して、新しいアクセストークンを簡単に取得できます。
  • Azureアプリ登録の自動化:--app-registrationフラグにより、Azureアプリ登録プロセスが自動化され、手動介入なしで攻撃インフラストラクチャのセットアップが容易になります。
  • 選択的なデータ窃取:--custom-stealフラグを使用して、OneDrive、Outlookなどの特定のソースからデータを選択的に窃取できます。

攻撃環境のセットアップ

自動Azureアプリ登録

提供されたPythonスクリプトを使用してAzureにアプリケーションを自動登録するには、次の手順に従います。

  1. マシンにPython3がインストールされていることを確認します。

  2. 365-Stealerリポジトリをクローンします:

    root@kitploit:~
    git clone https://github.com/AlteredSecurity/365-Stealer.git
    cd 365-Stealer
    
  3. 必要なPythonモジュールをインストールします:

    root@kitploit:~
    pip install -r requirements.txt
    
  4. 自動Azureアプリ登録スクリプトを実行します:

    root@kitploit:~
    python 365-Stealer.py --app-registration
    
  • スクリプトは、AzureテナントID、目的のアプリケーション名、リダイレクトURIの入力を求めます。
  • また、認証方法(クライアントシークレットを使用したOAuthまたはデバイスコードフロー)とAPI権限(デフォルト、LowImpact、またはカスタムのいずれか)を選択します。
  • プロンプトに従ってアプリ登録プロセスを完了します。

手動Azureアプリ登録

Azureアプリケーションを手動で登録する場合は、次の手順に従います。

  1. Azureポータルにログイン: https://portal.azure.com にアクセスし、アカウントにサインインします。
  2. Microsoft Entra IDに移動: ポータルからMicrosoft Entra IDに移動します。
  3. アプリの登録に移動: 左側のメニューで アプリの登録 をクリックします。
  4. 新しい登録を作成: 新規登録 をクリックして、新しいアプリケーションの登録を開始します。
  5. アプリケーションの詳細を入力:
    • 名前: アプリケーションの名前を入力します。この名前は同意プロセス中にユーザーに表示されます。
    • サポートされているアカウントの種類: 任意の組織ディレクトリ内のアカウント (任意のMicrosoft Entra IDテナント - マルチテナント) を選択します。
  6. リダイレクトURIを設定:
    • 365-Stealerフィッシングページを指すリダイレクトURIを指定します。形式は https://<ドメイン/IP>:<ポート>/login/authorized とし、ドメインまたはIPは365-Stealerアプリケーションをホストする場所に対応します。
  7. 登録を完了:
    • すべての詳細を入力したら、登録 をクリックしてアプリケーションを作成します。

アプリ登録 アプリ登録

アプリケーションの構成

クライアントシークレットの作成

  1. 証明書とシークレットに移動:
    • Azureポータルで、登録済みアプリケーションの 証明書とシークレット セクションに移動します。
  2. 新しいクライアントシークレットを作成:
    • 新しいクライアントシークレット をクリックし、シークレットの説明を入力してから「追加」をクリックします。
  3. シークレットの値を保存:
    • 作成後、シークレットの値をコピーして安全な場所に保存します。ページを離れると再度取得できなくなります。
クライアントシークレット

API権限の追加

  1. APIのアクセス許可に移動:
    • Azureポータルで、アプリケーションの APIのアクセス許可 タブをクリックします。
  2. アクセス許可を追加:
    • アクセス許可の追加 をクリックして、必要な権限の選択を開始します。
  3. Microsoft Graphを選択:
    • 利用可能なAPIから Microsoft Graph を選択します。
  4. 委任されたアクセス許可を選択:
    • 次のステップで 委任されたアクセス許可 をクリックして、サインインしたユーザーに代わって動作する権限を割り当てます。
  5. 必要なアクセス許可を選択:
    1. Contacts.Read
    2. Mail.Read
    3. Notes.Read.All
    4. Mailboxsettings.ReadWrite
    5. Files.ReadWrite.All
    6. Mail.Send
    7. User.ReadBasic.All
API権限

365-Stealerのセットアップ

ステップバイステップの手順

  1. 365-Stealerリポジトリをクローン:

    git clone https://github.com/AlteredSecurity/365-Stealer.git

  2. 必要なアプリケーションをインストール:

    Python3

    XAMPP

  3. ファイルを抽出して保存:

    • クローン後、365-Stealer フォルダを C:\xampp\htdocs\ にコピーして配置します。これによりPHPアプリケーションをホストし、Pythonを実行できます。
  4. Python依存関係をインストール: 次のコマンドを実行して、必要なPythonライブラリをインストールします。

    root@kitploit:~
    cd C:\xampp\htdocs\365-Stealer
    pip install -r requirements.txt
    
  5. 追加のセットアップ手順に従う: 必要なアプリケーションと依存関係をインストールした後、yoursVictims/Readme.md ファイルにある手順を必ず実行してください。このファイルでは、365-Stealerが正しく機能するために必要なデータベースとテーブルのセットアップ方法が説明されています。

365-Stealer管理ポータルの構成

パスの修正

  1. スクリプトパスを調整:

    • 必要に応じて、C:/xampp/htdocs/yourvictims/ にあるindex.phpファイル内の 365-Stealer.py、データベース、python3のパスを変更します。
管理構成
  1. ファイルパス内のスペースの処理:

    • Pythonがパスにスペースを含むディレクトリ(例:"Program Files")にインストールされている場合は、パスを引用符で囲んでください。例: "C:/Program Files/Python/python.exe"
管理構成

365-Stealer管理ポータルのIPホワイトリストを有効にする

  1. デフォルトのホワイトリスト:

    • デフォルトではIPホワイトリストが有効になっており、管理ポータルはローカルホストからのみアクセスできます。
  2. リモートIPの追加:

    • リモートIPからのアクセスを許可したい場合は、構成ファイルに目的のIPアドレスを追加します。
  3. IPホワイトリストの無効化:

    • IPホワイトリストを完全に無効にするには、構成ファイルで $enableIpWhiteList = false; を設定します。
管理構成

OPSECの考慮事項

アクセス制限: セキュリティ上の理由から、365-Stealer管理ポータルへのアクセスは常に自分が管理するインフラストラクチャに制限してください。

公開露出を避ける: 365-Stealer管理ポータルをインターネットに直接公開しないでください。潜在的な侵害を避けるために、安全なプライベートネットワークからのみアクセスできるようにしてください。

コマンドラインのヘルプ

root@kitploit:~
usage: 365-Stealer.py [-h] [--app-registration] [--set-config] [--get-config] [--code CODE] [--token TOKEN] [--client-id CLIENT_ID]
                      [--client-secret CLIENT_SECRET] [--refresh-token REFRESH_TOKEN] [--token-path TOKEN_PATH]
                      [--refresh-all] [--refresh-user REFRESH_USER] [--redirect-url REDIRECT_URL]
                      [--database-path DATABASE_PATH] [--no-stealing] [--upload UPLOAD] [--create-rules CREATE_RULES]
                      [--send-mail SEND_MAIL] [--delete-all-data] [--delete-user-data DELETE_USER_DATA] [--run-app]
                      [--no-ssl] [--port PORT] [--disable-logs]
                      [--injection]
                      [--custom-steal {listusers,checklicence,outlook,onedrive,onenote} [{listusers,checklicence,outlook,onedrive,onenote} ...]]
                      [--delay DELAY]
optional arguments:
  -h, --help            show this help message and exit
  --app-registration    Azure App Registration
  --set-config          Set 365-Stealer Configuration
  --get-config          Get 365-Stealer Configuration
  --code CODE           Provide Authorization Code
  --token TOKEN         Provide Access Token
  --client-id CLIENT_ID
                        Provide Application Client ID
  --client-secret CLIENT_SECRET
                        Provide Application Client Secret
  --refresh-token REFRESH_TOKEN
                        Provide Refresh Token
  --token-path TOKEN_PATH
                        Provide Access Token file path
  --refresh-all         Steal all user's data again.
  --refresh-user REFRESH_USER
                        Steal particular user's data again.(Provide EmailID)
  --redirect-url REDIRECT_URL
                        Redirect Url
  --database-path DATABASE_PATH
                        Provide Database Path
  --no-stealing         Steal only Tokens
  --upload UPLOAD       Add files in victim's OneDrive(Provide File Path)
  --create-rules CREATE_RULES
                        Provide json file containing outlook rules
  --send-mail SEND_MAIL
                        Provide json file to send email
  --delete-all-data     Delete all data from the database!
  --delete-user-data DELETE_USER_DATA
                        Delete specific user data from the database!
  --run-app             Host the Phising App
  --no-ssl              Use http(port 80)
  --port PORT           Provide custom port to Host the Phishing App
  --disable-logs        Disable all http access logs
  --custom-steal {listusers,checklicence,outlook,onedrive,onenote} [{listusers,checklicence,outlook,onedrive,onenote} ...]
                        Steal specific data
  --injection           Enable Macro Injection
  --delay DELAY         Delay the request by specifying time in seconds while stealing

ブログ

Azureでの初期アクセス攻撃 – 2025年の不正同意付与攻撃の理解と実行

新しいバージョンの365-Stealer(旧バージョンを一から書き直したもの)に関するブログ記事です。この記事では、Microsoft 365における不正同意付与(ICG)攻撃の仕組みについて説明しています。

以前のブログ記事 - 365-Stealerの紹介

バグと機能リクエスト

バグを発見した場合や機能リクエストがある場合は、Issueを作成してください。

貢献

プロジェクトに貢献して改善したい場合は、ぜひご協力ください。

ツールをダウンロード
  • 共有データ:すべての侵害データはdatabase.dbファイルに保存され、チームと共有して既存の盗まれたトークンとデータを活用できます。
  • メールの検索とフィルタリング:365-Stealer管理ポータルを使用して、キーワード、件名、ユーザーのメールアドレスで特定のメールを検索したり、添付ファイルのあるメールをフィルタリングしたりできます。
  • ユーザーデータのエクスポート:侵害されたテナントからユーザー情報をダンプし、データをCSVファイルにエクスポートしてさらなる分析や使用が可能です。