拓冰建站拓冰建站
首页 / 资讯中心 / 正文

NTLM完整拆解:攻击者如何用32位十六进制串撬开域,以及adsec的8个练习如何帮你堵上

NTLM完整拆解攻击者如何用32位十六进制串撬开域以及adsec的8个练习如何帮你堵上【免费下载链接】adsecAn introduction to Active Directory security项目地址: https://gitcode.com/gh_mirrors/ad/adsec凌晨三点坐在你部门某台办公机上的攻击者没有试过一个密码。他只是复制了一段32位的十六进制串就着它把一排机器挨个登录了进去。这段串叫NTLM哈希而adsecActive Directory Security 101这门课就是带你从机制层面拆清楚它怎么生成、怎么被滥用、又怎么防。 建立直觉为什么系统不存你的密码却还能刷开它想象银行金库的门。送货车来了门卫不问密码是什么而是喊出一个随机三位数司机把自己私有的那个数心算加上去报总数。总数对得上就放行。私有的数全程没有离开司机嘴——NTLMNT LAN Manager微软的老牌质询应答认证协议整个机制就是这一思路。NTLM里真正扮演私有数的是NTHash密码先转成UTF-16LE编码再过一次MD4散列得到16字节的值系统只存这个值从不存密码本身。本地机器账户的哈希存在SAM数据库域账户的哈希则全部存放在域控的NTDS.dit里。验证全程只用哈希比对所以哈希一旦被偷明文密码就再也无所谓了——一句话解释了后面所有攻击的根源。adsec是一套面向新手的Active Directory安全入门课程一份理论课件slides/AD-Security-101.pdf、一份实验环境搭建指南lab-setup/README.md、8个循序渐进的攻防练习exercises/目录外加打包好的攻击工具。适合没接触过AD认证、或者只用过Windows却没想过它内里怎么转的人。机制解剖NTLM挑战响应如何分三步完成认证第一步协商Negotiate。客户端先发一条协商消息声明支持哪个版本NTLMv1还是v2、是否支持签名与加密。这一步相当于定下整场交易的规则。第二步挑战Challenge。服务器生成一个随机数丢回来v1是8字节v2是16字节。每次认证这个数都不同攻击者没法拿上一次的认证包直接重放。第三步应答与验证Authenticate。客户端拿NTHash当密钥对随机数做运算得出应答连同用户名一起送回服务器用存储的哈希做完全相同的运算结果一致即放行。两个版本的差距不小记住结论即可对比项NTLMv1NTLMv2核心算法基于DES加密挑战值基于HMAC-MD5的密钥散列服务器挑战长度8字节16字节客户端随机数无有客户端挑战上下文信息时间戳、目标不含绑定进应答破解难度离线字典/彩虹表轻松撞明显提升v1没有任何上下文信息截获后即可离线破解任何环境都应直接禁用。攻击面地图把常见的NTLM攻击逐一钉到机制环节上现在把每种攻击放回上面这条时间线上一眼就能看出它卡的是哪一环。攻击手法利用的机制弱点一句话原理项目对应练习路径Pass-the-Hash本地管理员认证只验哈希、不验明文偷走NTHash直接拿去应答挑战exercises/2-NTLM.md从内存拖哈希NTHash驻留在进程内存里从LSASS dump出凭据连SAM都不用碰exercises/2-NTLM.md延伸题强制认证服务协议可被诱导向攻击者指定地址发起认证利用MS-RPRN/MS-EFSRPC缺陷让计算机账户主动上门exercises/3-NTLM-Relay.mdNTLM Relay认证不绑定目标服务身份把受害者的认证转给域控LDAP改写目录对象权限exercises/3-NTLM-Relay.mdRBCD资源基于约束委派利用msDS-AllowedToActOnBehalfOfOtherIdentity属性可被写入用中继身份写入委派ACL之后冒充任意用户exercises/6-Kerberos-RBCD.md中继链最难的一环是第一环让受害者自己发起认证。这像上门推销员他进不了门却能逼业主开门出示证件。打印服务MS-RPRN就是那扇门——把它的后端指到攻击者地址受害机器的计算机账户就会主动向攻击者认证。随后Relay接管它像话务员转接电话验证方只问来电人是不是真的从不问你最初打给谁于是这次已验证的认证可以被转接到域控这种更有价值的目标上。Pass-the-Hash则更直接。adsec的练习2里全过程就三步用Mimikatz的lsadump::sam拖出SAM然后一行命令sekurlsa::pth /user:Administrator /ntlm:hash /domain:doesnotmatter再用PsExec连上另一台机器横向移动完成。前提是两台机器设了同一个本地管理员密码哈希自然相同。 防御纵深按优先级堵住NTLM攻击的5条路线强制NTLMv2并启用SMB签名。组策略把LAN Manager身份验证级别设为仅发送NTLMv2响应并强制签名。效果v1的离线破解面直接消失中继也失去了可篡改的无签名通道这一条是底线。关键服务启用扩展保护EPA。EPA把认证绑定回最初那条TLS通道好比票根只在购票窗口有效中继想换个地方重放当场失效。分阶段限制NTLM。用限制NTLM策略组先开审计、再按源和目标拒绝逐步把流量迁到Kerberos一刀切禁用会砸死老应用。上LAPS随机化本地管理员密码。每台机器一个不同的本地管理员口令各机哈希不同PTH的横向移动就会在第一跳停住。切断强制认证盯防中继指纹。用RPC过滤器封掉MS-RPRN/MS-EFSRPC再监控域控上新计算机账户出现委派属性变更的组合事件这是Relay链的典型签名。 动手验证从零搭AD实验环境走通8个攻防练习先git clone https://gitcode.com/gh_mirrors/ad/adsec拿到完整课程。环境有两种搭法本地手动建三台Windows Server 2019虚拟机或用项目里的Terraform脚本一键部署到Azure。机器角色要点ADSEC-DC域控搭建contoso.com域ADSEC-00攻击起点域账户john在这里是本机管理员ADSEC-01受害者域账户blee在这里是本机管理员三台机器建好、DNS指向域控后按顺序跑两个脚本都在lab-setup/domain-setup-scripts/目录# 在 ADSEC-DC 上 cat -raw .\create-domain.ps1 | iex # 建域 # 成员服务器加入域后 cat -raw .\domainprepare.ps1 | iex # 生成练习用的用户、组、OU攻击工具全部打包在exercises/attacker-tools/的两个加密压缩包里Mimikatz、PsExec、impacket、SpoolSample、PowerMad等解压密码infected不用自己四处找。环境就绪后按顺序走练习主题文件路径预期收获侦察信息收集exercises/1-Reconnaissance.md用PowerView摸清域全貌NTLM与PTHexercises/2-NTLM.md完整走通拖哈希→注入→横向移动强制认证与中继exercises/3-NTLM-Relay.md亲眼看计算机账户的LDAP权限被中继改写Kerberos Roastingexercises/4-Kerberos-Roasting.md偷取并破解预认证哈希经典委派exercises/5-Kerberos-Delegation.md看懂服务间的信任链条RBCD委派exercises/6-Kerberos-RBCD.md兑现练习3抢来的委派权限ACL滥用exercises/7-ACL.md像读文件权限一样读目录权限持久化exercises/8-Persistence.md把一次性攻击变成长期驻留延伸一步从NTLM走向Kerberos大图景NTLM是Windows认证里的历史欠账只要还有一个SMB共享在用它降级这笔账就一直在。建议你从练习3开始亲手把中继服务器架起来看一个计算机账户自己走进域控的LDAP——看清那一刻上面五条防御你都会记得住。【免费下载链接】adsecAn introduction to Active Directory security项目地址: https://gitcode.com/gh_mirrors/ad/adsec创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门