
Microsoft Entra IDを標的とする攻撃ツールの観測可能なAPIエンドポイントとユーザーエージェントを文書化する防御研究ツールであり、検知エンジニアリングとインシデント対応を支援します。
EntraTrace は、Microsoft Entra ID を標的とする攻撃ツールの観測可能な挙動を文書化および特定するための防御的セキュリティリサーチツールです。
本プロジェクトは、AzureHound、AADInternals、O365Enum、PingCastle などのツールを中心に、それらが生成する UserAgent および API のアーティファクトに焦点を当てた自動ナレッジベースを構築します。
🚧 開発中
本プロジェクトは活発に開発が進められています。データ、ツールのカバレッジ、および機能は時間とともに進化します。
コントリビューション、リサーチ、修正、および追加のツール分析を歓迎します。
EntraTrace は、防御側に有用となり得る情報に焦点を当てており、以下を含みます:
目標は、攻撃ツールの挙動を防御チームにとって理解しやすくし、実用的な情報へと変換できるようにすることです。
| ツール | ユニーク API 数 | ユニーク API 呼び出し数 | UserAgents |
|---|---|---|---|
| aadinternals | 4 | 110 | 18 |
| AzureHound | 2 | 28 | 0 |
| Graphpython | 3 | 119 | 17 |
| GraphRunner | 4 | 67 | 21 |
| GraphSpy | 2 | 38 | 2 |
| MFASweep | 4 | 17 | 11 |
| MicroBurst | 3 | 78 | 0 |
| MSOLSpray | 1 | 1 | 0 |
| o365enum | 1 | 1 | 2 |
| o365spray | 1 | 1 | 2 |
| pingcastle | 3 | 14 | 1 |
| PowerZure | 3 | 29 | 0 |
| ROADtools | 4 | 434 | 7 |
| ropci | 3 | 15 | 0 |
| Stormspotter | 3 | 4 | 0 |
| TeamFiltration | 3 | 62 | 2 |
| TokenSmith | 2 | 8 | 0 |
| TokenTactics | 4 | 8 | 16 |
| TokenTacticsV2 | 4 | 30 | 23 |
攻撃的セキュリティツールは、アイデンティティ環境の評価や攻撃に頻繁に使用されます。それらのツールが Entra ID とどのようにやり取りするかを理解することは、防御側がその使用を特定し、不審なアクティビティを調査し、検知カバレッジを向上させるのに役立ちます。
EntraTrace は、攻撃ツールのリサーチと防御的セキュリティ運用の間のギャップを埋めることを目指しています。
EntraTrace は以下の用途に使用できます:
以下の KQL ハンティングクエリを使用して、ログデータに対して IOC スイープを実行できます:
リポジトリは毎日更新されますが、ローカルデプロイもサポートされています。リポジトリのルートから Python を使用してローカルで実行するには、実行前に組み込みのヘルプ出力を使用して利用可能なオプションを確認してください。
⚠️ - スクリプトをローカルで実行すると、プロファイル作成に必要な情報を抽出するために攻撃的ツールを含むリポジトリがローカルにダウンロードされるため、セキュリティアラートが発生する可能性があります。
# Extract API behavior from a repo or refresh all profile entries
python .\Scripts\ExtractToolBehavior.py --all-profiles --output-dir .\Profiles
# Export tool user agents from YAML profiles into a CSV
python .\Scripts\SummarizeUserAgents.py --profiles-dir .\Profiles --output .\Indicator Lists\UserAgents.csv
SummarizeUserAgents.py はプロファイル YAML ファイルからユーザーエージェントデータをハンティング用 CSV にエクスポートします。ExtractToolBehavior.py は Profiles\Tools.txt が存在する場合はそこからリポジトリ URL を読み取り、存在しない場合は出力ディレクトリ内の YAML プロファイルファイルで見つかったすべての repository_url にフォールバックします。-h または --help 付きで実行すると、パラメータの全セットと動作を確認できます。🤖 EntraTrace は AI の支援を受けて開発されています。 AI は開発および研究プロセスの全体で活用されており、成果物については人間によるレビューと検証が行われています。
ライセンス情報については LICENSE を参照してください。