Adalanche - Active Directory ACL 攻撃パス可視化ツール チートシート
Adalanche はオープンソースの Go ベースツール。Active Directory オブジェクト、権限(ACL)、グループメンバーシップを収集し、攻撃パスを即座にグラフ化 — 誰が誰を攻撃できるか、その方法は何かを示します。外部データベースやインジェスタスタック不要で動作します。AD をダンプして分析し、ブラウザで対話的なグラフを提供します。BloodHound の高速で自己完結した代替/補完物として、認可された AD セキュリティ評価に最適です。
認可された Active Directory 評価のみを対象。ディレクトリデータの収集と分析はドメイン所有者の許可が必要です。
インストール
| 方法 | 実行方法 |
|---|
| Binary | GitHub Releases から Windows/Linux/macOS 用をダウンロード |
| ソースから | go install github.com/lkarlslund/adalanche@latest |
| Single binary | 依存関係なし。collector + analyzer + web UI が 1 つに |
| 確認 | adalanche version |
2 つのフェーズ
| フェーズ | コマンド |
|---|
| Collect | AD データをローカルファイルにダンプ |
| Analyze | データをロードしてグラフ UI を提供 |
データ収集
# ドメイン(LDAP)から認証済みで収集
adalanche collect activedirectory \
--domain example.local \
--username analyst --password '***' \
--server dc01.example.local
| フラグ | 目的 |
|---|
--domain | ターゲット AD ドメイン(FQDN) |
--server | クエリするドメインコントローラー |
--username / --password | 認証情報(または Kerberos) |
--authmode | 認証方法(ntlm、kerberos など) |
--tlsmode | TLS/LDAPS オプション |
| collectors | activedirectory 、プラスローカルマシンコレクター |
データは圧縮されたオブジェクトとしてローカル data/ ディレクトリに保存されます。
グラフの分析・提供
# 収集したデータをロードして web UI を開く
adalanche analyze
# → http://localhost:8080 にブラウズ
| フラグ | 目的 |
|---|
--datapath | 収集したデータの場所 |
--bind | web UI のアドレス/ポート |
| Query box | LDAP スタイル/ビルトイン クエリを入力 |
| Pre-defined analyses | ”Who can reach Domain Admins”など |
マップするもの(攻撃エッジ)
| エッジ/手法 | 意味 |
|---|
WriteDACL / WriteOwner | オブジェクトの権限を書き換え可能 |
GenericAll / GenericWrite | オブジェクトの完全/部分的制御 |
ForceChangePassword | ターゲットのパスワードをリセット可能 |
AddMember | 特権グループに自分を追加可能 |
AllExtendedRights | DCSync およびその他の機密権限 |
| Kerberos delegation | 制約付き/制約なし委任悪用 |
| GPO links | リンク済みグループポリシーでの制御 |
クエリ
| クエリ | 検索対象 |
|---|
| Target Domain Admins | DA グループに到達できるすべて |
| ユーザーを選択 → “Reach” | そのプリンシパルが最終的に制御できるもの |
| エッジタイプでフィルター | WriteDACL のみ、委任のみなど |
| Shortest path | A から高価値ターゲットへの最小チェーン |
UI は任意のプリンシパルから機密ターゲットへの最短権限昇格パスをハイライトします。これがコア評価出力です。
一般的なワークフロー
# 完全な評価:収集して分析
adalanche collect activedirectory --domain corp.local \
--username audit --password '***' --server dc.corp.local
adalanche analyze # ブラウザを開いて "Domain Admins" をターゲット
# オフライン分析:data/ フォルダを共有して、どこでも分析
adalanche analyze --datapath ./data
Adalanche vs BloodHound
| 項目 | Adalanche | BloodHound (CE) |
|---|
| バックエンド | なし(シングルバイナリ) | Neo4j / API + collectors |
| フォーカス | ACL/権限攻撃パス | 広範な AD/Azure 攻撃パス |
| セットアップ | 最小限 | より重いスタック |
| Collectors | ビルトイン AD + ローカル | SharpHound / AzureHound / NetExec |
| 最適用途 | 高速な ACL 中心分析 | 包括的なパスマッピング |
BloodHound と NetExec などのコレクターを補完。Adalanche を高速でデータベース不要の ACL 分析に使用。
リソース