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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
o365spray — Microsoft O365を標的にしたユーザー名列挙とパスワードスプレー攻撃ツール。 | Kitploit
ツール/GitHubGitHub/0xzdh/o365spray
パスワード攻撃情報収集ペネトレーションテストクラウドセキュリティ認証
GitHub0xzdh/o365spray

o365spray

Microsoft O365を標的にしたユーザー名列挙とパスワードスプレー攻撃ツール。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

o365spray

o365spray は、Microsoft Office 365 (O365) を対象としたユーザー名の列挙とパスワードスプレーを行うツールです。このツールは、謝辞に記載されている研究者によって調査・特定された、一連の列挙およびスプレー手法を再実装したものです。

教育、許可された、または研究目的のみに使用してください。

警告: Autologon、oAuth2、RST のユーザー列挙モジュールは、ユーザーごとに1回の認証試行を送信することで動作します。これらのモジュールをパスワードスプレーと一緒に1回の実行で使用する場合、o365spray はパスワードスプレーを実行する前に自動的にロックアウトタイマーをリセットします。列挙のみを実行する場合は、ユーザーは認証試行が何回行われたか、いつ行われたかを把握し、パスワードスプレーを実行する前に手動でロックアウトタイマーをリセットする必要があります。

目次

  • 使用法
  • モジュール
    • 検証
    • 列挙
    • スプレー
  • FireProx ベース URL
    • 列挙
    • スプレー
  • ユーザーエージェントのランダム化
  • 謝辞
  • バグ
  • 以前のバージョン

使用法

o365spray

ドメインがO365を使用しているか検証します:
o365spray --validate --domain test.com

指定されたドメインに対してユーザー名の列挙を実行します:
o365spray --enum -U usernames.txt --domain test.com

指定されたドメインに対してパスワードスプレーを実行します:
o365spray --spray -U usernames.txt -P passwords.txt --count 2 --lockout 5 --domain test.com

root@kitploit:~
usage: o365spray [flags]

o365spray | Microsoft O365 User Enumerator and Password Sprayer -- v3.0.4

options:
  -h, --help            show this help message and exit

Target:
  -d DOMAIN, --domain DOMAIN
                        Target domain for validation, user enumeration, and/or
                        password spraying.

Actions:
  --validate            Run domain validation only.

  --enum                Run username enumeration.

  --spray               Run password spraying.

Credentials:
  -u USERNAME, --username USERNAME
                        Username(s) delimited using commas.

  -p PASSWORD, --password PASSWORD
                        Password(s) delimited using commas.

  -U USERFILE, --userfile USERFILE
                        File containing list of usernames.

  -P PASSFILE, --passfile PASSFILE
                        File containing list of passwords.

  --paired PAIRED       File containing list of credentials in username:password
                        format.

Password Spraying Configuration:
  -c COUNT, --count COUNT
                        Number of password attempts to run per user before resetting
                        the lockout account timer.
                        Default: 1

  -l LOCKOUT, --lockout LOCKOUT
                        Lockout policy's reset time (in minutes).
                        Default: 15 minutes

Module Configuration:
  --validate-module VALIDATE_MODULE
                        Specify which valiadtion module to run.
                        Default: getuserrealm

  --enum-module ENUM_MODULE
                        Specify which enumeration module to run.
                        Default: office

  --spray-module SPRAY_MODULE
                        Specify which password spraying module to run.
                        Default: oauth2

  --adfs-url ADFS_URL   AuthURL of the target domain's ADFS login page for password
                        spraying.

Scan Configuration:
  --sleep [-1, 0-120]   Throttle HTTP requests every `N` seconds. This can be randomized
                        by passing the value `-1` (between 1 sec and 2 mins).
                        Default: 0

  --jitter [0-100]      Jitter extends --sleep period by percentage given (0-100).
                        Default: 0

  --rate RATE           Number of concurrent connections (attempts) during
                        enumeration and spraying.
                        Default: 10

  --poolsize POOLSIZE   Maximum size of the ThreadPoolExecutor.
                        Default: 10000

  --safe SAFE           Terminate password spraying run if `N` locked accounts
                        are observed.
                        Default: 10

HTTP Configuration:
  --useragents USERAGENTS
                        File containing list of user agents for randomization.

  --timeout TIMEOUT     HTTP request timeout in seconds. Default: 25

  --proxy PROXY         HTTP/S proxy to pass traffic through
                        (e.g. http://127.0.0.1:8080).

  --proxy-url PROXY_URL
                        FireProx API URL.

Output Configuration:
  --output OUTPUT       Output directory for results and test case files.
                        Default: current directory

Debug:
  -v, --version         Print the tool version.

  --debug               Enable debug output.

モジュール

検証

  • getuserrealm (デフォルト)

列挙

  • autologon
  • oauth2 (デフォルト)
  • office
  • onedrive
  • rst

onedrive モジュールは、対象ユーザーが以前に OneDrive にログインしていることを前提としています。有効なユーザーがまだ OneDrive を使用していない場合、そのアカウントは「無効」と表示されます。

スプレー

  • activesync
  • adfs
  • autodiscover
  • autologon
  • oauth2 (デフォルト)
  • reporting
  • rst

oAuth2 モジュールはフェデレーションスプレーに使用できますが、これは対象テナントがパスワード同期を有効にしている場合にのみ機能することに注意してください。そうでない場合、認証は常に失敗します。デフォルトの仕組みは、フェデレーションが検出された場合に 'adfs' モジュールにフォールバックすることです。

FireProx ベース URL

Microsoft はパスワードスプレーの実行をより困難にしており、FireProx のようなツールを使用することで、IP アドレスベースのレート制限をバイパスできます。

o365spray で FireProx を使用するには、以下のベース URL テーブルに基づいて、指定された o365spray モジュールのプロキシ URL を作成します。プロキシ URL は、--proxy-url を介して渡すことができます。

注: FireProx URL を作成するために使用したベース URL に対応する、正しい --enum-module または --spray-module フラグを使用してください。

列挙

OneDrive URL の 'tenant' 値は、--domain フラグで指定されたドメイン名の値です。

スプレー

ユーザーエージェントのランダム化

User-Agent のランダム化がサポートされ、--useragents フラグに User-Agent ファイルを指定することで実現できます。o365spray には、resc/user-agents.txt 経由で 4,800 以上のエージェントを含むサンプルファイルが含まれています。

サンプルデータセットのエージェントは、以下から収集されました:

  • https://github.com/sqlmapproject/sqlmap/blob/master/data/txt/user-agents.txt
  • https://www.useragentstring.com/pages/useragentstring.php?name=

Omnispray

o365spray フレームワークは、新しいツール Omnispray に移植されました。このツールは、元の列挙・スプレーフレームワークをモジュール化し、O365 だけでなく汎用的なターゲット指定を可能にすることを目的としています。Omnispray には、任意のターゲット向けに修正・活用できる列挙用およびスプレー用のテンプレートモジュールが含まれています。

謝辞

バグ

バグやエラーが発生した場合は、詳細を記載して Issue を開いてください(または修正案を含む Pull Request を送信してください)。以前のバージョンの使用については、以下のセクションを参照してください。

以前のバージョンの使用

問題が発生した場合は、コードの書き換え前の以前のバージョンをチェックアウトしてみてください:

root@kitploit:~
# v1.3.7
git checkout e235abdcebad61dbd2cde80974aca21ddb188704

# v2.0.4
git checkout a585432f269a8f527d61f064822bb08880c887ef
ツールをダウンロード
ModuleBase URL
autodiscoverhttps://outlook.office365.com/
autologonhttps://autologon.microsoftazuread-sso.com/
oauth2https://login.microsoftonline.com/
officehttps://login.microsoftonline.com/
rsthttps://login.microsoftonline.com/
onedrivehttps://<tenant>-my.sharepoint.com/
ModuleBase URL
activesynchttps://outlook.office365.com/
adfsCurrently not implemented
autodiscoverhttps://autodiscover-s.outlook.com/
autologonhttps://autologon.microsoftazuread-sso.com/
oauth2https://login.microsoftonline.com/
reportinghttps://reports.office365.com/
rsthttps://login.microsoftonline.com/
AuthorTool/ResearchLink
gremwello365enum: office.com 経由の認証なしユーザー列挙o365enum
grimhackeroffice365userenum: ActiveSync ユーザー列挙の研究と発見。office365userenum / blog post
RaikiaUhOh365: Autodiscover 経由の認証なしユーザー列挙。UhOh365
dafthackMSOLSpray: MSOL 経由のパスワードスプレーMSOLSpray
byt3bl33d3rMSOLSpray: Python による再実装Gist
nyxgeekonedrive_user_enum: OneDrive ユーザー列挙onedrive_user_enum / blog post
Mr-Un1k0d3radfs-spray: ADFS パスワードスプレーadfs-spray
Nestori SyynimaaAADInternals: oAuth2 および autologon モジュールAADInternals
Daniel Chronlund / xFreed0mInvoke-AzureAdPasswordSprayAttack / ADFSpray: Office 365 レポート API パスワードスプレーInvoke-AzureAdPasswordSprayAttack / ADFSpray
Optiv (Several Authors)Go365: RST ユーザー列挙およびパスワードスプレーモジュールGo365
byt3bl33d3rSprayingToolkit: コード参照SprayingToolkit
sensepostruler: コード参照Ruler