LDAPnomnom是一款专为安全测试设计的开源工具,能够通过LDAP Ping请求快速、匿名地批量检测Active Directory用户名。这款工具的最大特点是不会在Windows事件日志中留下痕迹,同时支持极高的检测速度,是渗透测试和安全审计的利器。
什么是LDAPnomnom?
LDAPnomnom是一个基于Go语言开发的安全工具,它利用了LDAP Ping请求的特性来检测Active Directory中的有效用户名。与传统的用户名检测工具不同,LDAPnomnom利用了域控制器的dcLocator机制,使得检测过程更加隐蔽和高效。
核心功能亮点:
- 匿名检测:无需认证即可进行用户名探测
- 高速运行:支持高达10,000个用户名/秒的检测速度
- 无日志记录:不会在Windows事件日志中生成记录
- 自动检测:能够自动发现域控制器和域名
- 并行处理:支持多个服务器和多个连接并行运行
如何安装LDAPnomnom
方法一:使用Go命令直接安装
go install github.com/lkarlslund/ldapnomnom@latest
方法二:从源码构建
git clone https://gitcode.com/gh_mirrors/ld/ldapnomnom
cd ldapnomnom
go build
快速上手:基本用法详解
基本命令格式
ldapnomnom [--server dc1.domain.suffix[,dc2.domain.suffix] | --dnsdomain domain.suffix] [--port number] [--tlsmode notls|tls|starttls] [--input filename] [--output filename] [--parallel number-of-connections] [--maxservers number-of-servers] [--maxstrategy fastest|random] [--throttle n] [--maxrequests n]
实用场景示例
场景1:高速批量检测
连接至contoso.local域下的最多32个服务器,每个服务器使用16个连接:
ldapnomnom --input 10m_usernames.txt --output multiservers.txt --dnsdomain contoso.local --maxservers 32 --parallel 16
场景2:单服务器检测
连接至指定服务器,使用4个并行连接:
ldapnomnom --input 10m_usernames.txt --output results.txt --server 192.168.0.11 --parallel 4
场景3:提取rootDSE属性
ldapnomnom --output rootDSEs.json --dump
高级配置选项
连接参数优化
- --server:指定要连接的域控制器列表
- --dnsdomain:指定DNS域名后缀
- --port:LDAP端口(默认为389)
- --tlsmode:传输模式(NoTLS、TLS、StartTLS)
- --parallel:每个服务器的并行连接数(默认为8)
- --maxservers:最大并行服务器数(默认为8)
规避检测策略
- --throttle 20:在每次请求之间添加20毫秒延迟
- --maxrequests 1000:每1000个请求后断开连接并重新连接
技术原理深度解析
LDAP Ping机制
LDAPnomnom利用了Microsoft的LDAP Ping请求机制,这是域控制器定位服务的一部分。通过发送特定的搜索请求,工具能够判断用户名是否存在,而不会触发常规的认证日志。
并行处理架构
工具采用多服务器、多连接的并行架构,能够同时向多个域控制器发送请求,显著提高了检测效率。
安全防护与检测
检测方法
- 网络层面监控:分析未加密的LDAP流量或LDAPS的流量模式
- 自定义监控:需要建立专门针对此类流量的检测规则
防护措施
- 重命名管理员账户
- 审计账户密码策略
- 尽可能移除服务主体名称(SPN)
- 为拥有SPN的账户设置长而复杂的密码
实际应用场景
安全测试
在渗透测试中,LDAPnomnom可以帮助安全团队快速识别有效的用户名,为后续的安全评估或横向移动分析提供基础。
系统审计
系统管理员可以使用该工具来审计域环境中的用户名策略,检查是否存在弱密码或默认账户。
性能优化技巧
- 选择合适的服务器策略:使用"fastest"策略自动选择响应最快的域控制器
- 调整并行连接数:根据网络带宽和服务器性能优化并行参数
- 使用TLS加密:在需要规避网络检测时使用TLS模式
常见问题解答
Q:为什么使用LDAPnomnom而不是其他工具? A:LDAPnomnom的优势在于其匿名性、高速性和无日志记录特性。
Q:工具是否支持IPv6? A:是的,只要DNS解析能够正常工作,工具就支持IPv6环境。
Q:如何处理连接错误? A:工具会自动处理连接问题,并在可能的情况下重新建立连接。
LDAPnomnom作为一款专业的安全测试工具,为安全研究人员和系统管理员提供了强大的用户名检测能力。通过合理配置和使用,它能够帮助用户更好地理解和保护自己的Active Directory环境。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



