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

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

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

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

ツールディレクトリ

カテゴリ

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

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
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   └──────────────┘
└────────────┘

adit — ADWS を介した偵察と読み取り専用監査

  • 偵察 (Recon) — 31 個のコレクターがディレクトリを CSV、スタイル付き XLSX ワークブック、 および自己完結型 HTML ダッシュボードにエクスポートします。
  • 監査 (Audit) — 読み取り専用の検出エンジンが 30 個のルール (DCSync、危険な ACL、AdminSDHolder、委任、ロースト、ADCS ESC1–4/9、古い/レガシー オブジェクトなど) を評価し、重大度でランク付けされた JSON レポートを出力します。これはダッシュボードの先頭にも表示されます。
  • 到達 (Reach) — 全体を HTTP CONNECT または SOCKS4/4a/5 プロキシ経由でルーティングし、 ジャンプホスト経由でしか到達できない DC を監査します。
  • 認証 (Auth) — NTLM または Kerberos を完全に自前実装 (NTLMv2 sign+seal、RFC 4121 封印 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 / パスワード; RFC 4121 封印 GSS)
偵察コレクター31 個のモジュール (下記参照) → モジュールごとの CSV
レポートスタイル付きマルチシート XLSX ワークブック + 自己完結型 HTML ダッシュボード (検索/ソート、重大度バッジ、スクロールスパイ)
セキュリティ監査30 個の読み取り専用ルール (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 は 30 個の読み取り専用ルールを実行します。検出結果にはルール 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-005Mediumマシンアカウントクォータ > 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が含まれる
AD-USR-020HighuserPassword / unixUserPasswordに保存された復元可能なパスワード
AD-USR-021Highdescription / info / commentに残された可能性のあるパスワード(ヒューリスティック)
AD-DOM-012High/MediumPre-Windows 2000 Compatible Access内のEveryone / Anonymous / Authenticated Users

しきい値は調整可能です: -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 を渡してください。

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

ツールをダウンロード