Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
ldapdomaindump — 通过LDAP的Active Directory信息转储工具 | Kitploit
工具/GitHubGitHub/dirkjanm/ldapdomaindump
侦察信息收集渗透测试
GitHubdirkjanm/ldapdomaindump

ldapdomaindump

通过LDAP的Active Directory信息转储工具

查看仓库
1.4k23131年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

LDAPDomainDump

通过LDAP转储Active Directory信息

简介

在Active Directory域中,任何经过身份验证的用户(或计算机)都可以通过LDAP检索大量有趣的信息。这使得LDAP成为内网渗透测试信息收集阶段中一个非常有用的协议。问题在于,LDAP数据通常不易以易于阅读的格式获取。

ldapdomaindump 是一款旨在解决该问题的工具,它通过收集和解析可通过LDAP获取的信息,并将其输出为人类可读的HTML格式,以及机器可读的JSON和CSV/TSV/greppable文件。

该工具的设计目标如下:

  • 轻松概览域中所有用户/组/计算机/策略
  • 既支持用户名和密码认证,也支持NTLM哈希认证(需要ldap3 >=1.3.1)
  • 支持使用与LDAP服务已建立的认证连接运行工具,便于与中继工具(如impackets的ntlmrelayx)集成

工具输出多个文件,包含域中对象的概览:

  • domain_groups: 域中的组列表
  • domain_users: 域中的用户列表
  • domain_computers: 域中的计算机账户列表
  • domain_policy: 域策略,如密码要求和锁定策略
  • domain_trusts: 入站和出站域信任及其属性

以及两个分组文件:

  • 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 包可以通过 python setup.py install 从git源码安装,或者对于最新发布版,使用 pip install ldapdomaindump。

使用方法

使用该工具有三种方式:

  • 仅使用源码:运行 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和制表符分隔输出(greppable)三种格式输出所有文件。此外,还有两个方便的分组文件(users_by_group 和 computers_by_os)。这些分组文件没有greppable输出。默认情况下,分组文件的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。 转换工具将读取用户/组/计算机/信任的 .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

下载工具