
免责声明本文所有技术内容仅供授权红蓝对抗、渗透测试学习研究禁止在未授权企业内网、生产域环境执行票据请求、离线爆破等攻击操作未授权访问属于违法行为。全部演示均基于本地搭建的 AD 域靶场环境请勿对真实业务系统复现。目录1. Kerberos 预认证机制AS‑Rep Roasting 的底层来源1.1 什么是预认证1.2 默认开启预认证1.3 预认证关闭的账号来源1.4 AS‑REP 数据包内部加密细节2. AS‑Rep Roasting 攻击原理完整拆解2.1 普通账号预认证开启2.2 DONT_REQ_PREAUTH 账号预认证关闭3. 触发条件DONT_REQ_PREAUTH 标志详解3.1 userAccountControl 位标志3.2 现实环境中该标志产生的真实原因3.3 什么账号可以被 AS‑Rep Roasting4. 前置利用条件无需任何域凭证的 零门槛 攻击5. 攻击流程总览与数据包结构分析完整攻击链路AS‑REP hash 样本示例hashcat‑m182006. 枚举可攻击账号LDAP 查询、PowerView、BloodHound 多种手段方式 1Impacket windapsearch LDAP 查询方式 2Impacket GetNPUsers 一键枚举 请求最常用方式 3PowerView 域内机器执行powershell方式 4Rubeus 工具Windows 红队工具方式 5BloodHound 图形化狩猎查询7. AS‑Rep Roasting 复现全过程靶场实操多工具演示步骤 1使用 GetNPUsers 获取 AS‑REP Hash步骤 2hashcat 离线爆破Windows 靶机使用 Rubeus 完整流程8. 获取的 Hash 结构深度分析与离线爆破细节8.1 加密类型差异8.2 爆破的常见情况8.3 拿到明文之后后续处理9. AS‑Rep Roasting VS Kerberoasting 深度对比10. 拓展场景机器账号能否做 AS‑Rep Roasting11. 实战中的限制、特殊绕过与失效原因排查失效场景 1账号没有开启 DONT_REQ_PREAUTH失效场景 2账号禁用 / 密码过期失效场景 3网络不通域控 88 端口失效场景 4匿名 LDAP 枚举失败失效场景 5拿到 AS‑REP但是爆破不出密码有没有办法不爆破直接利用 AS‑REP12. 红队实战工作流、BloodHound 自动化挖掘、结合其他漏洞链式利用标准红队工作流链式利用场景举例13. 蓝队视角日志检测、流量特征、狩猎查询13.1 域控事件日志 ID13.2 SIEM 狩猎查询思路13.3 网络流量特征14. 全套防御加固方案组策略、PowerShell 脚本批量审计修复加固 1审计全域账号清除 DONT_REQ_PREAUTH 标志最核心加固 2强密码策略加固 3禁止 LDAP 匿名绑定加固 4域控日志审计收集 4768、4771 事件加固 5网络层面限制域控 88 端口访问范围加固 6安全基线巡检15. 高频误区与踩坑排错总结16. 真实护网案例复盘17. 学习总结最后网络安全需要学习那些知识网络安全零基础入门学习路线规划网络安全工程师企业级学习路线摘要AS‑Rep Roasting 是 AD 域渗透中一个 “零门槛”、隐蔽性极强的攻击技术攻击者甚至不需要任何域账号凭证仅靠 LDAP 匿名枚举就可以对开启了 “不需要 Kerberos 预认证”DONT_REQ_PREAUTH标志的域用户账号发起攻击拿到该账号的 AS‑REP 响应离线爆破出明文密码。它与 Kerberoasting 经常被一起提起但本质完全不同Kerberoasting 需要先有一个域用户账号去请求 TGS 票据而 AS‑Rep Roasting 连账号都不用直接对目标用户请求 AS‑REP。它利用的是 Kerberos 认证流程中 “不要求预认证” 时KDC 直接返回用该用户密码哈希加密的 AS‑REP 响应这一特性攻击者拿响应离线爆破。很多初学者把这两个攻击搞混或者不知道 AS‑Rep Roasting 触发条件导致复现失败。本文从 Kerberos 预认证机制讲起完整拆解 AS‑Rep Roasting 原理、触发条件、LDAP 枚举方法、GetNPUsers 等工具用法、hashcat 离线爆破、完整复现过程、特殊场景拓展、绕过限制、红队实战技巧、事件日志检测与全套防御加固。读完本篇可以完整掌握 AS‑Rep Roasting 全链路理解不同 Windows 版本行为差异、机器账号是否可被攻击、各种踩坑排错同时掌握蓝队排查加固思路。适合内网渗透初学者、红蓝对抗人员、安全运维工程师阅读。1. Kerberos 预认证机制AS‑Rep Roasting 的底层来源要理解 AS‑Rep Roasting必须先理解 Kerberos 的预认证 Pre‑Authentication机制。预认证不是一个漏洞是 Kerberos 协议设计的安全校验环节。1.1 什么是预认证在 Kerberos 认证流程的第一步 AS‑REQ客户端向 KDC 索要 TGT 票据KDC 必须验证客户端是否真的知道该账号的密码这个身份校验环节就是预认证 Pre‑Auth。正常完整 AS 请求流程客户端构造AS‑REQ请求带上目标用户名、Realm 域名客户端使用用户密码 NTLM 哈希加密当前时间戳PA‑ENC‑TIMESTAMP放到预认证负载中请求发送给域控 KDC 服务KDC 读取 AD 数据库中该用户的密码哈希解密 PA‑ENC‑TIMESTAMP如果解密成功时间戳在合理时间窗口内代表客户端掌握账号密码KDC 返回AS‑REP里面包含加密后的 TGT 票据TGT 使用 krbtgt 账号哈希加密。通俗理解预认证相当于入场答题KDC 要求你出示一个用密码加密的时间戳答对才给你 TGT 入场券。1.2 默认开启预认证Windows AD 域内所有新建用户账号预认证默认开启userAccountControl 属性默认不携带 DONT_REQ_PREAUTH (0x20) 标志。此时攻击者在不知道密码的情况下发送不带合法预认证的 AS‑REQKDC 直接返回KDC_ERR_PREAUTH_REQUIRED拒绝请求不会返回 AS‑REP 响应。1.3 预认证关闭的账号来源部分老旧业务系统、遗留第三方软件、老版本 Linux 客户端不支持 Kerberos 预认证扩展字段 PA‑ENC‑TIMESTAMP。运维人员为了业务能正常跑手动在 AD 账号属性勾选 “不需要 Kerberos 预身份验证”。勾选之后userAccountControl增加 0x20 位标志也就是DONT_REQ_PREAUTH。一旦该标志开启KDC 收到该用户的 AS‑REQ 时不再强制校验预认证字段即使请求里面没有 PA‑ENC‑TIMESTAMPKDC 依旧生成并返回 AS‑REP 数据包。AS‑Rep Roasting 全部危害根源就来自这里。1.4 AS‑REP 数据包内部加密细节AS‑REP 数据包中有两部分加密数据enc‑part使用目标用户账号密码哈希加密里面包含会话密钥 Session‑KeyTGT 票据部分使用 krbtgt 哈希加密。AS‑Rep Roasting 攻击就是拿到被用户自身密码哈希加密的 enc‑part 部分这一段数据可以拿出来离线暴力破解不需要和域控交互。2. AS‑Rep Roasting 攻击原理完整拆解当某个用户账号开启了DONT_REQ_PREAUTH攻击者对这个账号发起 AS 请求会发生两种截然不同的结果。2.1 普通账号预认证开启攻击者发送 AS‑REQ仅填写用户名不带 PA‑ENC‑TIMESTAMP 预认证数据KDC 返回错误码KDC_ERR_PREAUTH_REQUIRED响应中返回该账号支持的加密类型不会返回 AS‑REP没有可爆破的数据攻击终止。2.2 DONT_REQ_PREAUTH 账号预认证关闭攻击者构造 AS‑REQ 请求仅传入用户名、域名不携带任何预认证信息攻击者不知道账号密码数据包发送到域控 88 端口 KDC 服务KDC 查询 AD检测到该账号设置 DONT_REQ_PREAUTH跳过预认证校验逻辑KDC 正常生成 AS‑REP 响应enc‑part使用目标用户的 NTLM 密码哈希进行加密完整 AS‑REP 返回攻击者机器攻击者提取 AS‑REP 中 enc‑part 字段转换为 hashcat 可识别的 AS‑REP hash 格式本地离线字典爆破尝试解密 enc‑part解密成功即可得到用户 Kerberos 会话密钥进一步得到账号明文密码。关键点整个过程攻击者不需要登录域、不需要任何账号口令仅仅需要知道 AD 内存在的用户名网络可达域控 88 端口即可。⚠️重要区分拿到的 AS‑REP 哈希不是用户 NTLM Hash是被用户密码哈希加密后的 Kerberos 数据包。只能离线爆破不能直接用于 PtH 哈希传递。爆破成功得到明文密码之后才能提取 NTLM Hash 用于横向移动。3. 触发条件DONT_REQ_PREAUTH 标志详解3.1 userAccountControl 位标志DONT_REQ_PREAUTH对应十六进制值0x20十进制 32。userAccountControl 是一个位掩码属性一个账号会叠加多个标志例如 NORMAL_ACCOUNT (0x200)。举例普通关闭预认证用户 userAccountControl 0x200 | 0x20 544。不要直接判断 userAccountControl 等于 32要用按位与运算判断是否包含 0x20 位。3.2 现实环境中该标志产生的真实原因老旧业务兼容旧版 Unix、Linux、Java 业务程序Kerberos 客户端不支持 PA‑ENC‑TIMESTAMP 预认证扩展运维为了业务跑通手动关闭预认证第三方应用对接 AD部分商用软件对接 AD 做 Kerberos 登录开发不完善不支持预认证历史遗留迁移账号从 NT4、旧 MIT‑Kerberos 环境迁移过来的账号保留旧配置运维误操作复制用户模板账号模板勾选不需要预认证新建账号继承错误配置红队持久化后门攻击者拿到域权限之后对普通用户、高权限管理员账号添加 DONT_REQ_PREAUTH 标志埋下后门后续可以无凭证获取 hash。注意微软官方不建议业务环境随意关闭 Kerberos 预认证会直接引入 AS‑Rep Roasting 攻击面。3.3 什么账号可以被 AS‑Rep Roasting✅普通域用户、域管理员、服务账号只要开启 DONT_REQ_PREAUTH都可以被攻击⚠️机器账号计算机对象默认不能设置 DONT_REQ_PREAUTH 标志AD 图形界面无法勾选需要通过 LDAP 修改属性现实环境极少后面拓展章节专门讲解❌禁用账号账号禁用KDC 拒绝 AS‑REQ无法拿到 AS‑REP❌密码过期账号同样 KDC 拒绝返回合法 AS‑REP。4. 前置利用条件无需任何域凭证的 “零门槛” 攻击AS‑Rep Roasting 最大威胁点就是可以做到零凭证打点但不是无条件需要满足全部条件网络可达域控 TCP 88 端口Kerberos KDC攻击机必须能够访问域控 88 端口内网环境基本满足外网如果域控 88 暴露互联网外网攻击者也可以直接发起攻击。获取到目标有效 AD 用户名不需要密码只需要账号 samAccountName。用户名来源LDAP 枚举、邮件地址、社工信息、源码泄露、SRC 信息泄露、BloodHound 导出的用户列表。目标账号开启 DONT_REQ_PREAUTH0x20标志账号启用、密码未过期字典爆破有成功率AS‑REP 只能字典爆破不能彩虹表秒破账号密码强度决定攻击成败。简单密码、社工密码极易被爆破高强度复杂密码几乎无法破解。限制现代 AD 默认禁用 LDAP 匿名绑定。纯匿名 LDAP 拿不到用户列表这种情况下零凭证只能逐个猜用户名效率很低。实战更多场景是拿到一个低权限普通域用户账号用这个账号做 LDAP 查询批量找出所有 DONT_REQ_PREAUTH 账号再执行 AS‑Rep 请求。5. 攻击流程总览与数据包结构分析完整攻击链路信息收集获取AD用户名列表 ↓ 筛选账号LDAP查询userAccountControl筛选带有DONT_REQ_PREAUTH(0x20)账号 ↓ 构造AS‑REQ发送到域控TCP88不带预认证PA‑ENC‑TIMESTAMP ↓ KDC检测DONT_REQ_PREAUTH标志返回AS‑REP响应数据包 ↓ 提取AS‑REP中的enc‑part加密块转换hashcat 18200格式hash ↓ hashcat字典离线爆破解密得到会话密钥输出明文密码 ↓ 拿到明文密码生成NTLM Hash进行内网登录、横向移动AS‑REP hash 样本示例hashcat‑m18200$krb5asrep$23$testuserCORP.LOCAL:abc123xxx...字段解析$krb5asrep$23$标记为 AS‑REP23 代表加密类型 aes256‑cts‑hmac‑sha1‑96testuserCORP.LOCAL用户名和 Realm 域名冒号之后是 base64 编码的加密 enc‑part 数据。注意老环境可能出现 etypes 17 (aes128)、18 (rc4‑hmac)hashcat‑m18200 全部支持。6. 枚举可攻击账号LDAP 查询、PowerView、BloodHound 多种手段实战中手工一个个猜用户名效率极低需要批量筛选 AD 中所有开启 DONT_REQ_PREAUTH 的账号。下面列举 4 种常用实战手段。方式 1Impacket windapsearch LDAP 查询# 使用低权限域账号查询全部用户输出userAccountControl windapsearch -d corp.local -u user01 -p Password123 --users full过滤 userAccountControl 包含 0x20 (DONT_REQ_PREAUTH) 的账号。匿名模式现代 AD 默认禁止匿名绑定-u -p 大概率查询失败。方式 2Impacket GetNPUsers 一键枚举 请求最常用# 提供域账号自动筛选DONT_REQ_PREAUTH账号直接发送AS‑REQ拿到hash impacket‑GetNPUsers.py corp.local/user01:Password123 -dc‑ip 192.168.10.10 -request -outputfile asrep_hashes.txt # 尝试匿名大部分环境无效 impacket‑GetNPUsers.py corp.local/ -no‑pass -dc‑ip 192.168.10.10参数解释‑request筛选完成之后立刻向 KDC 发送 AS‑REQ获取 AS‑REP 哈希‑outputfile保存 hashcat 格式 hash 到文件。方式 3PowerView 域内机器执行powershell# 导入powerview Import‑Module .\PowerView.ps1 # 筛选DONT_REQ_PREAUTH账号 Get‑DomainUser -UACFilter DONT_REQ_PREAUTH | Select‑Object samAccountName,userAccountControl,userPrincipalName输出所有关闭预认证的账号名之后可以结合 Rubeus 去请求 AS‑REP。方式 4Rubeus 工具Windows 红队工具Rubeus 是 Windows 平台 Kerberos 工具集可以枚举 获取 AS‑REP。# 枚举DONT_REQ_PREAUTH账号 Rubeus.exe asrep /enum # 直接对指定用户请求AS‑REP Rubeus.exe asrep /user:nopreauthuser /domain:corp.local /dc:192.168.10.10输出的 hash 同样为 hashcat‑m18200 格式。方式 5BloodHound 图形化狩猎查询BloodHound 导入 AD 数据后原始查询MATCH (u:User) WHERE u.dontreqpreauthtrue RETURN u.name,u.samaccountname直接列出全部 AS‑Rep Roasting 攻击面账号。红蓝对抗中拿到普通域权限优先打开 BloodHound一眼定位风险账号。7. AS‑Rep Roasting 复现全过程靶场实操多工具演示靶场环境域corp.local域控 DC01 192.168.10.10测试账号user_nopreauth开启 DONT_REQ_PREAUTH密码设置为 Qwerty123攻击机Kali 2024impacket 最新版本。步骤 1使用 GetNPUsers 获取 AS‑REP Hashimpacket‑GetNPUsers.py corp.local/lowuser:Pass1234192.168.10.10 -request -outputfile asrep.txt终端输出类似[*] Getting users with DONT_REQ_PREAUTH property... [*] User: user_nopreauth $krb5asrep$23$user_nopreauthCORP.LOCAL:xxxxxxx哈希保存到 asrep.txt。步骤 2hashcat 离线爆破hashcat -m 18200 asrep.txt /usr/share/wordlists/rockyou.txt爆破成功输出$krb5asrep$23$user_nopreauthCORP.LOCAL:xxxxxxx:Qwerty123得到明文密码 Qwerty123。Windows 靶机使用 Rubeus 完整流程域内低权限主机上传 Rubeus.exe执行获取 asrep hashRubeus.exe asrep /user:user_nopreauth /dc:192.168.10.10将输出 hash 复制出来拿到 Kali 做 hashcat 爆破或者使用 powershell 版本 hashcat。注意Rubeus 只负责拿到 AS‑REP 哈希Windows 环境没有自带爆破能力依旧需要字典爆破。8. 获取的 Hash 结构深度分析与离线爆破细节8.1 加密类型差异AD 域账号支持多种 Kerberos 加密类型rc4‑hmac (etype 23)老兼容模式对应 NTLM 哈希aes128‑cts‑hmac‑sha1‑96(etype17)aes256‑cts‑hmac‑sha1‑96 (etype18现代 Windows 默认)hashcat‑m18200 全部支持这三类 etype 的 AS‑REP 哈希。很多新手疑惑为什么 AS‑REP 爆破不能像 NTLM 一样秒跑AS‑REP 加密块是 Kerberos 特定结构没有公开大规模彩虹表只能字典暴力尝试密码计算开销更大爆破速度比普通 NTLM 哈希慢很多。8.2 爆破的常见情况✅密码在字典内直接输出明文❌密码不在字典永远跑不出结果⚠️密码复杂长密码爆破时间极长实战几乎不可解。8.3 拿到明文之后后续处理爆破得到明文密码可以生成对应 NTLM hash明文Qwerty123 → NTLM Hash:64F12CDDAA88D77E9B4A44881A82E548之后可以 wmiexec、smbexec、evil‑winrm 进行域内登录横向移动。9. AS‑Rep Roasting VS Kerberoasting 深度对比两个攻击都针对 Kerberos 票据爆破经常混淆完整对比对比项AS‑Rep RoastingKerberoasting攻击对象开启 DONT_REQ_PREAUTH 的普通域用户账号设置 SPN 服务主体名称的账号服务账号所需凭证可以零凭证仅需要用户名也可低权限账号枚举必须拥有一个合法域账号凭证请求票据AS‑REQ获取 AS‑REP 响应TGS‑REQ获取 TGS 服务票据hashcat 模式‑m 18200‑m 13100加密密钥被用户密码哈希加密被 SPN 所属账号密码哈希加密攻击前提userAccountControl DONT_REQ_PREAUTH(0x20)账号注册 SPN 服务主体名称能否零凭证打点✅可以❌不可以必须域账号现实环境出现概率较低属于错误配置较高业务大量 SPN 账号记忆口诀AS‑Rep账号关预认证不要凭证拿 AS‑REPKerberoasting账号挂 SPN要有域账号拿 TGS。10. 拓展场景机器账号能否做 AS‑Rep Roasting默认情况下 Windows AD 不允许给计算机对象机器账号设置 DONT_REQ_PREAUTH 标志。AD 图形界面中计算机属性完全没有 “不需要 Kerberos 预身份验证” 勾选框。但是可以通过 LDAP 修改计算机对象 userAccountControl 属性强行追加 0x20 标志。这个属于非正常配置真实内网几乎不会原生出现大多是攻击者拿到域权限之后恶意修改后门。如果机器账号被强行设置 DONT_REQ_PREAUTH那么同样可以 AS‑Rep Roasting爆破机器账号密码。机器账号密码是系统随机强密码长度 120 字符字典爆破几乎不可能成功实际利用价值极低。红队实战基本不会把精力放在机器账号 AS‑Rep Roasting。11. 实战中的限制、特殊绕过与失效原因排查很多同学复现 AS‑Rep Roasting 失败下面整理全部常见失效场景。失效场景 1账号没有开启 DONT_REQ_PREAUTH现象GetNPUsers 扫描没有输出任何 hashRubeus 请求返回 KDC_ERR_PREAUTH_REQUIRED。排查核对账号 userAccountControl 属性确认 0x20 位是否存在。失效场景 2账号禁用 / 密码过期账号虽然开启 DONT_REQ_PREAUTH但是账号禁用KDC 拒绝返回 AS‑REP。排查AD 账号属性账号状态密码过期时间。失效场景 3网络不通域控 88 端口防火墙拦截 TCP88 KerberosAS‑REQ 数据包发不到 KDC。排查nc‑zv 域控ip 88测试连通性。失效场景 4匿名 LDAP 枚举失败现代 AD 默认禁止 LDAP 匿名绑定不能匿名拿到用户列表。解决需要至少一个低权限域账号做 LDAP 查询。失效场景 5拿到 AS‑REP但是爆破不出密码不是漏洞是密码强度高于字典。没有通用绕过只能扩充社工字典。有没有办法不爆破直接利用 AS‑REP答案不行。AS‑REP 的 enc‑part 被用户密码哈希加密没有密码无法解密出会话密钥没有绕过爆破直接登录的方法。这点和 NTLM 中继、Shadow‑Credentials 完全不一样。重要误区拿到 AS‑REP 不等于拿到权限只是拿到一份加密数据包爆破失败攻击完全失效。12. 红队实战工作流、BloodHound 自动化挖掘、结合其他漏洞链式利用标准红队工作流拿到内网优先尝试 LDAP 匿名访问匿名可用尝试枚举全部用户批量检测 AS‑Rep匿名被禁用寻找低权限域账号钓鱼、弱密码、本地溢出提权拿到域用户会话使用 GetNPUsers / PowerView / BloodHound 筛选 DONT_REQ_PREAUTH 账号对风险账号获取 AS‑REP 哈希hashcat 社工字典爆破爆破成功获取明文密码收集凭证横向移动如果爆破失败记录该风险配置点写入漏洞报告该配置本身属于高危安全配置缺陷。链式利用场景举例场景 1外网进入内网零凭证域控 88 端口对外开放通过社工拿到一批用户名批量 AS‑Rep Roasting爆破成功拿到管理员账号拿下域。场景 2内网拿到普通域 user 权限BloodHound 发现存在 DONT_REQ_PREAUTH 的域管理员账号获取 AS‑REP 爆破直接提升域管权限。场景 3红队持久化拿到域管权限后新建域账号开启 DONT_REQ_PREAUTH作为后门后续不需要原有权限直接 AS‑Rep Roasting 拿 hash 爆破。实战经验护网行动中很多企业审计缺失遗留老旧业务账号关闭预认证往往是突破口。但是如果密码是强密码只能上报配置缺陷无法实际利用。13. 蓝队视角日志检测、流量特征、狩猎查询13.1 域控事件日志 ID当攻击者发送 AS‑REQ 请求 KDC无论成功失败都会生成 Kerberos 预认证事件。事件 ID 4768A Kerberos authentication ticket (TGT) was requested只要 KDC 返回 AS‑REPAS‑Rep Roasting 攻击成功拿到响应就会产生 4768 日志。日志字段Pre‑authentication type0代表没有使用预认证。狩猎重点事件 4768Pre‑authentication type 等于 0来源 IP 不是正常业务服务器。正常业务环境绝大多数 4768 预认证类型不为 0出现大量 pre‑auth type0 就是 AS‑Rep Roasting 攻击特征。事件 ID 4771Kerberos 预认证失败。账号预认证开启攻击者尝试 AS‑REQ返回预认证错误产生 4771 日志。大量 4771 代表攻击者批量扫描账号。13.2 SIEM 狩猎查询思路监控 4768 事件筛选Pre‑Authentication Type0统计异常源 IP定期 LDAP 扫描全域用户告警 userAccountControl 包含 DONT_REQ_PREAUTH (0x20) 账号监控短时间大量 4771 事件代表攻击者批量暴力扫描用户名。13.3 网络流量特征攻击机向域控 TCP88 发送大量 AS‑REQ Kerberos 请求没有 PA‑ENC‑TIMESTAMP 预认证扩展。流量层面可以检测 AS‑REQ 数据包缺少 PA‑ENC‑TIMESTAMP 扩展字段。14. 全套防御加固方案组策略、PowerShell 脚本批量审计修复加固 1审计全域账号清除 DONT_REQ_PREAUTH 标志最核心业务上没有明确需求所有账号必须开启 Kerberos 预认证。PowerShell 脚本批量查询全域关闭预认证账号Import‑Module ActiveDirectory Get‑ADUser -Filter {userAccountControl -band 0x20} -Properties userAccountControl | Select‑Object Name,SamAccountName,userAccountControl清除 DONT_REQ_PREAUTH 标志脚本# 清除0x20位开启预认证 $user Get‑ADUser user_nopreauth -Properties userAccountControl Set‑ADUser $user -Replace {userAccountControl ($user.userAccountControl -band (-bnot 0x20))}注意修改前确认业务系统兼容性修改之后依赖关闭预认证的老旧业务会认证失败需要业务测试。加固 2强密码策略即使因为老旧业务不得不保留部分账号关闭预认证必须设置高强度复杂密码极大提高爆破难度。加固 3禁止 LDAP 匿名绑定组策略配置禁用 LDAP 匿名绑定阻断攻击者匿名枚举用户列表。现代 Windows DC 默认已经开启。加固 4域控日志审计收集 4768、4771 事件集中日志平台收集域控安全日志对 Pre‑Authentication Type0 做告警。加固 5网络层面限制域控 88 端口访问范围域控 88 端口不对外网暴露内网仅业务服务器、工作站访问域控 88减少攻击面。加固 6安全基线巡检加入安全基线定期扫描全域一旦出现 DONT_REQ_PREAUTH 账号立刻告警。15. 高频误区与踩坑排错总结误区拿到 AS‑REP 哈希可以直接 PtH 登录错误。AS‑REP 是被用户密码加密的 Kerberos 数据包不是 NTLM Hash。必须爆破出明文密码之后再生成 NTLM Hash 才能 PtH。误区DONT_REQ_PREAUTH 等于漏洞DONT_REQ_PREAUTH 是 AD 合法配置标志不是漏洞业务错误配置引入攻击面。误区机器账号可以原生 AS‑Rep Roasting 拿权限机器账号默认不能设置该标志强行设置之后机器账号密码是随机超长强密码几乎无法爆破。误区AS‑Rep Roasting 一定能拿到密码必须密码存在于爆破字典否则攻击无效。很多环境扫描发现该配置但是无法实际利用属于配置风险。误区匿名 LDAP 一定能枚举用户Win2012R2 之后 AD 默认关闭 LDAP 匿名绑定匿名拿不到用户列表。误区AS‑Rep Roasting 需要 SMB、445 端口不需要攻击只需要访问域控 88 Kerberos 端口和 SMB 无关。误区AS‑Rep Roasting 和 Kerberoasting 原理一样二者完全不同AS‑Rep 针对预认证关闭Kerberoasting 针对 SPN 服务账号。16. 真实护网案例复盘某政企护网真实场景企业内网 AD 域一套老旧 Java 业务系统开发不支持 Kerberos 预认证。运维新建业务账号 biz_app勾选 “不需要 Kerberos 预身份验证”。该账号为域普通用户但是该账号被加入了部分业务服务器本地管理员组。红队进入内网拿到一个普通员工域账号BloodHound 扫描发现 biz_app 账号 DONT_REQ_PREAUTH 开启。GetNPUsers 获取 AS‑REP 哈希社工字典爆破成功密码为业务简写 年份简单密码。拿到账号密码之后登录多台业务服务器横向移动最终进一步拿到域控权限。事后根因业务账号关闭预认证业务账号配置弱密码业务账号权限过大分配本地管理员没有基线巡检长期未发现错误配置。整改方案升级业务程序支持 Kerberos 预认证取消 DONT_REQ_PREAUTH修改高强度密码回收多余权限加入基线巡检。这个案例可以看到 AS‑Rep Roasting 在真实攻防中的危害往往是错误配置 弱密码组合导致沦陷。17. 学习总结AS‑Rep Roasting 是针对 Kerberos 预认证关闭账号的攻击技术核心根源账号开启 DONT_REQ_PREAUTH (0x20) 标志KDC 跳过预认证校验返回用户密码哈希加密的 AS‑REP 数据包攻击特点可以做到零凭证打点只需要用户名和域控 88 连通性但是攻击成功依赖字典爆破强密码环境攻击失效工具链GetNPUsersImpacket、Rubeus、hashcat‑m18200可以搭配 BloodHound 做批量狩猎和 Kerberoasting 区分AS‑Rep 打预认证关闭账号Kerberoasting 打 SPN 服务账号不要混淆蓝队防御优先审计清理 DONT_REQ_PREAUTH 配置业务确需保留的账号设置强密码监控 4768 事件中 Pre‑Authentication Type0定期基线巡检攻防现实该攻击属于配置缺陷利用不是协议漏洞真实环境不一定能爆破出密码但只要存在 DONT_REQ_PREAUTH 账号就属于高危风险点需要上报整改。再次提醒票据请求、爆破操作仅限授权靶场、授权红蓝对抗严禁未授权对内网生产环境执行。最后网络安全需要学习那些知识网络安全零基础入门学习路线规划初级1、网络安全理论知识2天①了解行业相关背景前景确定发展方向。②学习网络安全相关法律法规。③网络安全运营的概念。④等保简介、等保规定、流程和规范。非常重要2、渗透测试基础一周①渗透测试的流程、分类、标准②信息收集技术主动/被动信息搜集、Nmap工具、Google Hacking③漏洞扫描、漏洞利用、原理利用方法、工具MSF、绕过IDS和反病毒侦察④主机攻防演练MS17-010、MS08-067、MS10-046、MS12-20等3、操作系统基础一周①Windows系统常见功能和命令②Kali Linux系统常见功能和命令③操作系统安全系统入侵排查/系统加固基础4、计算机网络基础一周①计算机网络基础、协议和架构②网络通信原理、OSI模型、数据转发流程③常见协议解析HTTP、TCP/IP、ARP等④网络攻击技术与网络安全防御技术⑤Web漏洞原理与防御主动/被动攻击、DDOS攻击、CVE漏洞复现5、数据库基础操作2天①数据库基础②SQL语言基础③数据库安全加固6、Web渗透1周①HTML、CSS和JavaScript简介②OWASP Top10③Web漏洞扫描工具④Web渗透工具Nmap、BurpSuite、SQLMap、其他菜刀、漏扫等恭喜你如果学到这里你基本可以从事一份网络安全相关的工作比如渗透测试、Web 渗透、安全服务、安全分析等岗位如果等保模块学的好还可以从事等保工程师。薪资区间6k-15k到此为止大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗想要入坑黑客网络安全的朋友给大家准备了一份282G全网最全的网络安全资料包免费领取7、脚本编程初级/中级/高级在网络安全领域。是否具备编程能力是“脚本小子”和真正黑客的本质区别。在实际的渗透测试过程中面对复杂多变的网络环境当常用工具不能满足实际需求的时候往往需要对现有工具进行扩展或者编写符合我们要求的工具、自动化脚本这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中想要高效地使用自制的脚本工具来实现各种目的更是需要拥有编程能力.零基础入门建议选择脚本语言Python/PHP/Go/Java中的一种对常用库进行编程学习 搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP IDE强烈推荐Sublime ·Python编程学习学习内容包含语法、正则、文件、 网络、多线程等常用库推荐《Python核心编程》不要看完 ·用Python编写漏洞的exp,然后写一个简单的网络爬虫 ·PHP基本语法学习并书写一个简单的博客系统 熟悉MVC架构并试着学习一个PHP框架或者Python框架 (可选) ·了解Bootstrap的布局或者CSS。8、超级黑客这部分内容对零基础的同学来说还比较遥远就不展开细说了贴一个大概的路线。网络安全工程师企业级学习路线视频配套资料国内外网安书籍、文档工具当然除了有配套的视频同时也为大家整理了各种文档和书籍资料工具并且已经帮大家分好类了。一些我自己买的、其他平台白嫖不到的视频教程要学习网安其实不难难的是坚持和相信自己我的经验是既然已经选定网安你就要相信它相信它能成为你日后进阶的高效渠道这样自己才会更有信念去学习才能在碰到困难的时候坚持下去。机会属于有准备的人这是一个实力的时代。人和人之间的差距不在于智商而在于如何利用业余时间只要你想学习什么时候开始都不晚不要担心这担心那你只需努力剩下的交给时间这份完整版的学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】