内网渗透
01基础知识
02域环境的搭建
03工作组权限
04域内权限
05Windows本地认证
06网络认证
07Kerberos协议
08工作组的信息搜集
09域内的信息搜集
10工作组的密码抓取
11域内的密码抓取
12Dcsync原理以及攻击
13RDP密码凭证抓取
14横向移动概述
15IPC$横向移动
16PTH哈希传递
17PTK密钥传递
18PTT票据传递
19PSexec进行横向移动
20SMBexec进行横向移动
21利用WinRM服务进行横向移动
22利用WMI进行横向移动
23用户枚举与喷洒
24用户枚举与喷洒-实验
25Roasting攻击
26Kerberoasting
27黄金票据
28黄金票据-实验
29白银票据
30白银票据-实验
31委派概述
32非约束性委派攻击
33约束性委派攻击
34约束性委派攻击-实验
35基于资源的约束性委派
36基于资源的约束性委派-实验
-
+
首页
23用户枚举与喷洒
## 枚举用户原理 ### Kerberos协议  提供身份信息的数据包是AS-REQ(AS-requests) 发送TGT的数据包是AS-REP(AS-response) ### 数据包分析 使用kekeo工具申请TGT时,进行抓包分析 AS-REQ数据包中主要包含了一些用户的信息,由客户端发送给AS的数据包,其中由几个字段信息 - PA-DATA pA-ENC-TIMESTAMP 使用用户的hash,或者AES key加密时间戳 生成value - kdc-options 协商字段 - cname 请求的用户名 - realm: 域名 - sname 请求的服务名  ### 枚举原理 在AS-REQ阶段客户端向AS发送用户名,cname字段存放用户名,AS对用户名进行验证,用户存在与不存在返回的数据包信息不同。 分别有四种错误代码: - KRB5DC_ERR_PREAUTH_REQUIRED 需要额外的预认证(用户名存在,但没有提供密码) - KRB5KDC_ERR_PREAUTH_FAILED 用户名存在,但密码错误 - KRB5DC_ERR_CLIENT_REVOKED 客户端凭证已被吊销(用户名被禁用) - KRB5DC_ERR_C_PRINCIPAL_UNKNOWN 在Kerberos数据库中找不到客户端(用户名不存在) 参考地址:[4771 (F) Kerberos 预身份验证失败。 (Windows 10) - Windows security | Microsoft Learn](https://learn.microsoft.com/zh-cn/windows/security/threat-protection/auditing/event-4771) 可以利用返回的KRB5DC_ERR_PREAUTH_REQUIRED或KRB5KDC_ERR_PREAUTH_FAILED 错误代码,进行枚举用户名。 如果提供正确的账户密码,在Kerberos数据包中就会出现msg-type:krb-as-rep字段。 数据包中的PA-DATA字段是由NTLM-HASH或AES KEY加密的,故原理上明文密码、NTLM-HASH、AES256都可以进行喷洒。 ### 参考脚本代码 ``` https://github.com/3gstudent/pyKerbrute/blob/master/EnumADUser.py ``` 关键代码  ### 注意事项 1、域环境中可以使用Kerberos和NTLM协议进行喷洒域内用户 2、工作组中可以使用NTLM协议进行hash碰撞 ## 工具 ### kerbrute kerbrute由Go语言开发,github已提供编译好的文件 地址:https://github.com/ropnop/kerbrute/releases > 用法 用户名枚举 ``` kerbrute.exe userenum --dc 域控IP -d 域名 用户字典 ```  密码喷洒(单密码,多用户,有锁定策略) ``` kerbrute.exe passwordspray --dc 域控IP -d 域名 用户字典 密码 ```  密码喷洒(多密码,单用户,无锁定策略) ``` kerbrute.exe bruteuser --dc 域控IP -d 域名 密码字典 用户名 ```  ### pykerbute python2编写,注意运行环境 > 用法 用户名枚举 ``` EnumADUser.py IP地址 域名 用户名字典 tcp或udp ```  密码喷洒-明文密码 ``` ADPwdSpray.py IP地址 域名 用户名字典 clearpassword 明文密码 tcp或udp ```  密码喷洒-hash值 ``` ADPwdSpray.py IP地址 域名 用户名字典 ntlmhash hash值 tcp或udp ``` ``` ADPwdSpray.py 192.168.110.10 xbxaq.com user.txt ntlmhash DB40247DAB331AC57C207032F198F364 tcp ```  [NTLM哈希 - 工具匠 (toolkk.com)](https://www.toolkk.com/tools/ntlm-hash) ## 工作组和域内喷洒区别 ### 工作组中机器 - 工作组机器-使用NTLM协议 - 域内机器-使用Kerberos或者NTLM协议 ### 域内机器 - 域内机器-kerberos协议 - 工作组机器-NTLM协议
毛林
2025年9月7日 11:39
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档(打印)
分享
链接
类型
密码
更新密码