Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
adit — GoによるADWS(net.tcp/9389)経由のActive Directory偵察および読み取り専用セキュリティ監査 | Kitploit
ツール/GitHubGitHub/joda32/adit
防御ツール特権昇格偵察脆弱性分析スクリプトと自動化構成監査情報収集ネットワークセキュリティペネトレーションテスト認証レッドチーミング
1182ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
GitHub
joda32/adit

adit

GoによるADWS(net.tcp/9389)経由のActive Directory偵察および読み取り専用セキュリティ監査

リポジトリを見る

adit

adit は、シングルバイナリの Active Directory 偵察 および 読み取り専用のセキュリティ監査ツールであり、LDAP ではなく ADWS (Active Directory Web Services, TCP/9389) を介してドメインコントローラーと通信します。

adit とは鉱山への水平坑道 — 静かな侵入経路のことです。LDAP/389 ではなく ADWS を介して AD をクエリすることで、トラフィックは WCF の net.tcp フレーミング、バイナリ XML の SOAP となり、一般的でないポートを使用するため、従来の LDAP よりも検査・フィルタリング・シグネチャ検知される可能性がはるかに低くなります — それでいて同じディレクトリデータを返します。adit は ADWS プロトコルスタック全体を Go で実装しており、外部ランタイム依存はありません。

┌────────────┐   net.tcp/9389   ┌──────────────┐
│   adit     │ ───────────────▶ │  ADWS on DC  │ ──▶ local LDAP
│  (Linux)   │   NMF · NNS ·    │  (port 9389) │
│            │   NBFSE · SOAP   └──────────────┘
└────────────┘
  • 偵察 (Recon) — 31 のコレクターがディレクトリを CSV、スタイル付き XLSX ワークブック、自己完結型 HTML ダッシュボードにエクスポートします。
  • 監査 (Audit) — 読み取り専用の検出エンジンが 27 のルール (DCSync、危険な ACL、AdminSDHolder、委任、ロースト、ADCS ESC1–4/9、古い/レガシーオブジェクトなど) を評価し、重大度順にランク付けされた JSON レポートを出力します。これはダッシュボードの先頭にも表示されます。
  • 到達性 (Reach) — 全体を HTTP CONNECT または SOCKS4/4a/5 プロキシ経由でルーティングし、ジャンプホスト経由でしか到達できない DC を監査できます。
  • 認証 (Auth) — NTLM または Kerberos、完全に自前実装 (NTLMv2 sign+seal、RFC 4121 sealed GSS Wrap)、impacket に対してバイト単位で検証済み。

adit は防御/監査および許可された評価のためのツールです。評価を許可されているディレクトリに対してのみ実行してください。

機能

機能詳細
トランスポートWCF net.tcp (TCP/9389) 上の ADWS — MC-NMF フレーミング、MS-NNS ハンドシェイク、MC-NBFS/NBFSE バイナリ XML、WS-Enumeration/WS-Transfer SOAP
認証NTLMv2 (sign + seal) および Kerberos (ccache / keytab / password; RFC 4121 sealed GSS)
偵察コレクター31 モジュール (下記参照) → モジュールごとの CSV
レポートスタイル付きマルチシート XLSX ワークブック + 自己完結型 HTML ダッシュボード (検索/ソート、重大度バッジ、スクロールスパイ)
セキュリティ監査27 の読み取り専用ルール (ADCS ESC1–4/9 を含む) → 重大度順 JSON、ダッシュボードにも表示
プロキシ / ジャンプホストHTTP CONNECT、SOCKS5/5h、SOCKS4/4a (プロキシ認証 + リモート DNS 対応)
ページングサーバー側 WS-Enumeration Pull ページング、ページサイズ設定可能
オフラインレポート以前に収集した CSV から XLSX/HTML を再構築、DC 不要
依存関係純粋な Go; LDAP ライブラリなし、.NET なし、外部サービスなし

コレクター

forest, domain, trusts, sites, subnets, schemahistory, dcs, users, userspns, groups, computers, computerspns, ous, gpos, gplinks, passwordpolicy, fgpp, dnszones, dnsrecords, kerberoastable, asreproastable, krbtgt, adcs, cas, laps, protectedgroups, groupmembers, gmsa, dmsa, printers, bitlocker

ADCS (adcs) は ESC1–ESC4/ESC9 を検出します; laps は各パスワードを誰が読めるかを報告します; protectedgroups は Protected Users を監査します。現在のリストは adit -list-modules を実行してください。

監査チェック

-audit は 27 の読み取り専用ルールを実行します。検出結果にはルール ID、重大度、影響を受けるオブジェクト、証拠、および修復方法が含まれ、Adit-Audit.json に書き出されます (また、-collect と組み合わせた場合は、ダッシュボードの先頭に「Audit Findings」セクションが表示されます)。エンジンはシークレット属性値 (LAPS / gMSA / BitLocker) を決して読み取りませんが、偵察コレクターは読み取ることができます。

ルール重大度検出内容
AD-DOM-010Critical非 Tier-0 プリンシパルが保持する DCSync (レプリケーション) 権限
AD-ACL-001/005/006/007/011–016Critical特権オブジェクトに対する危険な制御 (GenericAll/Write、WriteDACL/Owner、ForceChangePassword、Write SPN / KeyCredentialLink / member / AllowedToAct)
AD-SDH-001/002CriticalAdminSDHolder の予期しない制御 / 所有者
AD-CS-001Critical–MediumESC1 — 証明書テンプレートが登録者指定のサブジェクトを許可
AD-CS-002Critical–MediumESC2 — Any-Purpose / EKU なしの証明書テンプレート
AD-CS-003High–MediumESC3 — Certificate Request Agent テンプレート
AD-CS-004HighESC4 — 証明書テンプレートの脆弱なアクセス制御
AD-CS-009HighESC9 — 証明書テンプレートにセキュリティ拡張がない
AD-CS-005Critical/HighESC5 — PKI オブジェクト (NTAuthCertificates、CA ストア、CA オブジェクト) の危険な制御
AD-CS-006InfoAD CS が存在 — ESC6/ESC7/ESC8 はホストレベルの検証が必要 (ADWS 経由では観測不可)
AD-DOM-008Highドメイン全体で可逆パスワード暗号化が有効
AD-USR-001HighKerberos 事前認証が無効 (AS-REP ロースト可能)
AD-USR-009Highアカウントが DES 暗号化のみを使用
AD-CMP-006High非 DC での非制約委任
AD-KCL-001High特権アカウント上の Key Credential (シャドウクレデンシャル)
AD-KRB-001Highkrbtgt パスワードが古い
AD-DOM-005MediumMachine Account Quota > 0 (任意のユーザーがコンピューターを参加可能)
AD-USR-002MediumKerberoast 可能なサービスアカウント (特権の場合は High)
AD-USR-005MediumPASSWD_NOTREQD が設定
AD-USR-006Medium特権アカウントのパスワードが無期限
AD-USR-011Medium特権アカウントのパスワードが古い
AD-CMP-008Mediumリソースベースの制約付き委任が構成済み
AD-CMP-012Mediumレガシー / サポート対象外のオペレーティングシステム
AD-GRP-009Medium特権グループ内の外部セキュリティプリンシパル
AD-GRP-020MediumprimaryGroupID による隠れた特権メンバーシップ
AD-TRU-001/003High/MediumSID フィルタリングなし / SID 履歴ありの信頼
AD-DNS-003/004Medium/LowWPAD / ISATAP レコードが存在
AD-CMP-011Low古いコンピューターアカウント
AD-INT-005HighsIDHistory に特権 SID が含まれる

しきい値は調整可能です: -krbtgt-max-age、-priv-pwd-max-age、-stale-days。

ADCS に関する注意: ESC1–ESC5 および ESC9 は ADWS 経由で AD オブジェクトから評価されます。ESC6 (EDITF_ATTRIBUTESUBJECTALTNAME2)、ESC7 (CA ロール ACL)、ESC8 (Web 登録 / NTLM リレー) は CA ホストのレジストリ/HTTP エンドポイントに存在し、ADWS 経由では観測できません — AD-CS-006 は CA が存在することを検出し、ホスト上で (例えば Certipy で) 検証できるようにします。

はじめかた

Go 1.26+ が必要です。その他のビルド依存はありません。

# Build the binary
go build -o adit ./cmd/adit
./adit -version

# …or run without installing
go run ./cmd/adit -h

# Cross-compile release archives for linux/windows/darwin (amd64+arm64) into dist/
bash scripts/build-release.sh

-fqdn は DC の 実際の FQDN (IP ではない) でなければなりません: ADWS SOAP の To ヘッダーは WCF の AddressFilter によってエンドポイントと照合されるためです。例えば nslookup -type=SRV _ldap._tcp.dc._msdcs.<domain> <dc-ip> で確認できます。

使用方法

adit -dc <host> -fqdn <dc-fqdn> -d <DOMAIN> -u <user> -p <pass> [flags]

偵察

# RootDSE handshake only (verifies auth + the full protocol stack)
adit -dc 10.0.0.10 -fqdn dc01.example.local -d EXAMPLE.LOCAL -u user -p 'pass'

# Run every collector -> ./report/CSV-Files/*.csv + Adit-Report.{xlsx,html}
adit -dc 10.0.0.10 -fqdn dc01.example.local -d EXAMPLE.LOCAL -u user -p 'pass' \
  -collect all -o ./report

# A subset of collectors
adit -dc 10.0.0.10 -fqdn dc01.example.local -d EXAMPLE.LOCAL -u user -p 'pass' \
  -collect users,groups,computers,kerberoastable

セキュリティ監査

# Audit only -> Adit-Audit.json
adit -dc 10.0.0.10 -fqdn dc01.example.local -d EXAMPLE.LOCAL -u user -p 'pass' -audit

# Recon + audit: findings lead the XLSX + HTML dashboard
adit -dc 10.0.0.10 -fqdn dc01.example.local -d EXAMPLE.LOCAL -u user -p 'pass' \
  -collect all -audit -o ./report

Kerberos

# Password (synthesises a krb5.conf from the domain + DC if none is present)
adit -dc 10.0.0.10 -fqdn dc01.example.local -d EXAMPLE.LOCAL -u user -p 'pass' -auth kerberos

# Existing ticket cache
KRB5CCNAME=/tmp/krb5cc_1000 adit -dc 10.0.0.10 -fqdn dc01.example.local \
  -d EXAMPLE.LOCAL -u user -auth kerberos -ccache /tmp/krb5cc_1000

ジャンプホスト / プロキシ経由

ADWS は Web サービス ですが HTTP ではありません — 9389 上の生の TCP に乗ります — しかしプロキシはその TCP ストリームをトンネリングできます。プロトコルが許す場合 (SOCKS5/4a、HTTP CONNECT)、DC 名は プロキシ側で 解決されるため、内部専用の名前でも機能します。

# SSH dynamic forward = a local SOCKS5 proxy
ssh -D 1080 -N jump-host &
adit -dc dc01.corp.internal -fqdn dc01.corp.internal -d CORP.INTERNAL \
  -u user -p 'pass' -proxy socks5://127.0.0.1:1080 -collect all -audit -o ./report

# Other proxy forms
-proxy socks5://user:[email protected]:1080   # SOCKS5 with username/password auth
-proxy socks4a://10.0.0.5:1080             # SOCKS4a (remote DNS)
-proxy http://user:[email protected]:8080    # HTTP CONNECT (Basic auth)
-proxy https://proxy.corp:8443             # HTTP CONNECT over TLS to the proxy

-auth kerberos + パスワードの場合、KDC 交換は依然として直接行われます; ジャンプホスト経由の場合は、まずチケットを取得して -ccache / KRB5CCNAME を渡してください。

アドホッククエリとオフラインレポート

# Raw LDAP-filter query over ADWS, selecting attributes (paged automatically)
adit -dc 10.0.0.10 -fqdn dc01.example.local -d EXAMPLE.LOCAL -u user -p 'pass' \
  -query '(&(objectClass=user)(objectCategory=person))' \
  -attrs sAMAccountName,userAccountControl,objectSid

# Rebuild the workbook / dashboard from existing CSVs (no DC needed)
adit -generate-excel-from ./report/CSV-Files -o report.xlsx
adit -generate-html-from  ./report/CSV-Files -o report.html

フラグの全リストは adit -h を実行してください。

レイアウト

ツールをダウンロード