Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ldapdomaindump — LDAP経由のActive Directory情報ダンプツール | Kitploit
ツール/GitHubGitHub/dirkjanm/ldapdomaindump
偵察情報収集ペネトレーションテスト
GitHubdirkjanm/ldapdomaindump

ldapdomaindump

LDAP経由のActive Directory情報ダンプツール

リポジトリを見る
1.4k2311年前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有

LDAPDomainDump

LDAP経由のActive Directory情報ダンプツール

はじめに

Active Directoryドメインでは、認証されたユーザー(またはマシン)であれば、LDAPを介して多くの興味深い情報を取得できます。 そのため、内部ネットワークのペネトレーションテストにおける偵察フェーズで情報を収集するためのプロトコルとして、LDAPは興味深いものとなっています。 問題は、LDAPからのデータが読みやすい形式で利用できないことが多いことです。

ldapdomaindumpは、LDAPから利用可能な情報を収集・解析し、人間が読みやすいHTML形式、および機械可読なJSON、CSV/TSV/grep可能なファイルとして出力することで、この問題を解決するツールです。

このツールは以下の目標を念頭に設計されました:

  • ドメイン内の全ユーザー/グループ/コンピューター/ポリシーの簡単な概要
  • ユーザー名とパスワードによる認証、およびNTLMハッシュによる認証(ldap3 >=1.3.1が必要)
  • 既存の認証済みLDAPサービス接続を使用してツールを実行できるため、impacketのntlmrelayxなどのリレーツールとの統合が可能

このツールは、ドメイン内のオブジェクトの概要を含む複数のファイルを出力します:

  • domain_groups: ドメイン内のグループのリスト
  • domain_users: ドメイン内のユーザーのリスト
  • domain_computers: ドメイン内のコンピューターアカウントのリスト
  • domain_policy: パスワード要件やロックアウトポリシーなどのドメインポリシー
  • domain_trusts: 受信および送信のドメイン信頼とそのプロパティ

さらに、2つのグループ化されたファイル:

  • domain_users_by_group: グループごとのドメインユーザー(所属グループ別)
  • domain_computers_by_os: オペレーティングシステムごとにソートされたドメインコンピューター

依存関係とインストール

ldap3 2.0以上とdnspythonが必要です。ldapdomaindumpはPython 3.6以降が必要です。

依存関係は pip install ldap3 dnspython future で手動インストールできますが、通常はgitまたはpypiからメインパッケージをインストールする際にpipが自動的に処理します。

ldapdomaindumpパッケージは、gitソースから python setup.py install でインストールするか、最新リリースの場合は pip install ldapdomaindump でインストールできます。

使用方法

このツールを使用するには3つの方法があります:

  • ソースのみの場合、python ldapdomaindump.py を実行
  • インストール後、python -m ldapdomaindump を実行
  • インストール後、ldapdomaindump を実行

ヘルプは -h スイッチで表示できます:

root@kitploit:~
usage: ldapdomaindump.py [-h] [-u USERNAME] [-p PASSWORD] [-at {NTLM,SIMPLE}]
                         [-o DIRECTORY] [--no-html] [--no-json] [--no-grep]
                         [--grouped-json] [-d DELIMITER] [-r] [-n DNS_SERVER]
                         [-m]
                         HOSTNAME

Domain information dumper via LDAP. Dumps users/computers/groups and
OS/membership information to HTML/JSON/greppable output.

Required options:
  HOSTNAME              Hostname/ip or ldap://host:port connection string to
                        connect to (use ldaps:// to use SSL)

Main options:
  -h, --help            show this help message and exit
  -u USERNAME, --user USERNAME
                        DOMAIN\username for authentication, leave empty for
                        anonymous authentication
  -p PASSWORD, --password PASSWORD
                        Password or LM:NTLM hash, will prompt if not specified
  -at {NTLM,SIMPLE}, --authtype {NTLM,SIMPLE}
                        Authentication type (NTLM or SIMPLE, default: NTLM)

Output options:
  -o DIRECTORY, --outdir DIRECTORY
                        Directory in which the dump will be saved (default:
                        current)
  --no-html             Disable HTML output
  --no-json             Disable JSON output
  --no-grep             Disable Greppable output
  --grouped-json        Also write json files for grouped files (default:
                        disabled)
  -d DELIMITER, --delimiter DELIMITER
                        Field delimiter for greppable output (default: tab)

Misc options:
  -r, --resolve         Resolve computer hostnames (might take a while and
                        cause high traffic on large networks)
  -n DNS_SERVER, --dns-server DNS_SERVER
                        Use custom DNS resolver instead of system DNS (try a
                        domain controller IP)
  -m, --minimal         Only query minimal set of attributes to limit memmory
                        usage

オプション

認証

ほとんどのADサーバーはNTLM認証をサポートしています。まれにサポートしていない場合は、--authtype SIMPLE を使用してください。

出力形式

デフォルトでは、ツールはすべてのファイルをHTML、JSON、およびタブ区切り出力(grep可能)で出力します。また、便利なように2つのグループ化されたファイル(users_by_group と computers_by_os)もあります。これらにはgrep可能な出力はありません。グループ化されたファイルのJSON出力は、非常に大きなファイルを作成するだけで、他のファイルにはないデータも含まれないため、デフォルトでは無効になっています。

DNS解決

重要なオプションは -r オプションで、コンピューターのDNSHostName属性をIPv4アドレスに解決するかどうかを決定します。 これは非常に便利ですが、DNSHostName属性は自動的に更新されません。ADドメインがコンピューターのホスト名にサブドメインを使用している場合、DNSHostNameが正しくなく、解決できないことがよくあります。また、ドメイン内のすべてのホスト名を解決すると、ドメインコントローラーに高い負荷がかかる可能性があることに留意してください。

ネットワークとメモリ使用量の最小化

デフォルトでは、ldapdomaindumpは読み取れるすべての属性を.jsonファイルにダンプしようとします。大規模なネットワークでは、グループ関係がディスクに書き込まれる前にメモリ内で計算されるため、多くのメモリを使用します。最小限必要な属性(.htmlおよび.grepファイルにデフォルトで表示されるもの)のみをダンプするには、--minimal スイッチを使用してください。

BloodHoundを使用したグループの可視化

LDAPDomainDumpには、ldapdomaindumpの .json ファイルをBloodHound用のCSVファイルに変換するユーティリティが含まれています。このユーティリティは ldd2bloodhound と呼ばれ、インストール時にパスに追加されます。または、ソースから実行している場合は python -m ldapdomaindump.convert または python ldapdomaindump/convert.py で実行できます。 変換ツールは、users/groups/computers/trustsの .json ファイルを読み込み、group_membership.csv と trust.csv に変換します。これらをBloodHoundに追加できます。これらのファイルは、かなり古い BloodHound 1.x とのみ互換性があることに注意してください。最新バージョンのサポートは計画されていません。BloodHound.pyプロジェクトがこの目的で作成されたためです。DCOnly収集方法では、このツールもLDAPとのみ通信し、ldapdomaindumpよりも多くの情報を収集します。

enum4linuxのような見やすい出力によるダンプの可視化

LDAPDomainDumpには、ldapdomaindumpの .json ファイルをenum4linuxのような出力に変換するユーティリティが含まれています。このユーティリティは ldd2pretty と呼ばれ、インストール時にパスに追加されます。または、ソースから実行している場合は python -m ldapdomaindump.pretty または python ldapdomaindump/pretty.py で実行できます。

ライセンス

MIT

ツールをダウンロード