域内用户名枚举

发布时间 2023-08-09 23:46:22作者: lisenMiller

在无域内有效凭证的情况下,枚举出域内存在的用户名,在对其进行密码喷洒获得域内有效凭证

利用原理:kerberos认证的as-req阶段,请求包cname对应的值是用户名。当用户状态分别为

1.用户存在且启用 KDC_ERR_PREAUTH_REQUIRED

2.用户存在但禁用 KDC_ERR_CLIENT_REVOKED NTSTATUS:STATUS_ACCOUNT_DISABLED

3.用户不存在。as-req各不相同。

域内用户名枚举工具

kerbrute

kerbrute_windows_amd64.exe userenum --dc 10.211.55.4 -d xie.com user.txt

--dc 制定域控ip -d 制定域名

pykerbrute

通过tcp,udp两种模式进行工作,user.txt中的用户名格式不需要加域名后缀。

#udp模式

python2 enumaduser.py 10.211.55.4 xie.com user.txt udp 

#tcp模式

python2 enumaduser.py 10.211.55.4 xie.com user.txt tcp

域内枚举攻击防御

1.流量层面 检测同一ip短时间是否发送了大量as-req包来判断,如果同一个ip在短时间内发送了大量的as-req包

2.日志层面 默认域内用户枚举并不会对不存在的用户名产生事件日志

tips:需要在组策略中配置审核策略和高级审核策略。