通过中间人攻击获取域控
# 通过中间人攻击获取域控
2021 defcon议题解析
在渗透或者攻击时,没有credentials或0-day时,可以尝试MITM,在内网中移动。最常目标就是AD。
![](https://img2020.cnblogs.com/blog/2414837/202110/2414837-20211010200712088-1324961975.png)
NTML relay
参考
Hash窃取与传递 - xyylll - 博客园 (cnblogs.com)
print spooler LPF 打印机漏洞 - xyylll - 博客园 (cnblogs.com)
MS15-011
组策略中的漏洞可能允许远程代码执行。在加入域的系统连接到域控制器时,组策略检索和应用连接数据的方式存在远程代码执行漏洞。成功利用此漏洞的攻击者可以完全控制受影响的系统。攻击者随后可安装程序;查看、更改或删除数据;或者创建拥有完全用户权限的新帐户。与拥有管理用户权限的用户相比,帐户被配置为拥有较少系统用户权限的用户受到的影响更小。
![](https://img2020.cnblogs.com/blog/2414837/202110/2414837-20211010200711622-1861723714.png)
微软发布的补丁:阻止了GPO操作NTML,配置阻止SMB中NTLM的使用
因此这个攻击途径难以利用。
找到新的攻击途径:Azure AD
在pc使用office365 等需要外网的服务时,不需要vpn也可以使用,这是因为Azure AD connect的存在,它将DC保存的密码或凭据复制到Azure AD云中。Use就可直接登录AD云。
这里,如果中间人在DC 和Azure AD Server之间,就可以注入对应的用户名和密码。user就可以使用注入的密码进行登录。
![](https://img2020.cnblogs.com/blog/2414837/202110/2414837-20211010200711294-913067167.png)
kerberos relay
![](https://img2020.cnblogs.com/blog/2414837/202110/2414837-20211010201447869-2003041655.png)
具体参考:Kerberos - xyylll - 博客园 (cnblogs.com)
黄金票据重放
![](https://img2020.cnblogs.com/blog/2414837/202110/2414837-20211010200711026-700204152.png)
只能对相同的服务器进行relay攻击,而且需要尽快重放。因为ticket对服务端有认证,还有时间戳。
TLS加密重放:
API可以验证TLS里的校验和,但是如果客户端发出的请求没有校验和,就可以进行重放
![](https://img2020.cnblogs.com/blog/2414837/202110/2414837-20211010200710707-2074319417.png)
KDC欺骗
![](https://img2020.cnblogs.com/blog/2414837/202110/2414837-20211010200710301-1959093695.png)
![](https://img2020.cnblogs.com/blog/2414837/202110/2414837-20211010200709932-315981439.png)
DC返回TGS-Rep时,添加服务器的秘密作为自身的身份验证,说明自己不是中间人。
由于此处无法修改TGS和TGT,需要接下来的工程。
Kerberos injection
在client选择DC的过程中加入中间人进行攻击。
![](https://img2020.cnblogs.com/blog/2414837/202110/2414837-20211010200709611-625430566.png)
这里在NETLOGON之前都并未验证DC,并且使用了不安全的协议。
![](https://img2020.cnblogs.com/blog/2414837/202110/2414837-20211010200709293-1925441230.png)
![](https://img2020.cnblogs.com/blog/2414837/202110/2414837-20211010200708942-979007070.png)
![](https://img2020.cnblogs.com/blog/2414837/202110/2414837-20211010200708490-1290688563.png)
攻击场景:
- 使用kerberos协议
- 来自DC的数据不需要验证
- 未配置固定DC
- 中间人在server和DNS之间。
攻击方法:
- 使用中间人重定向到恶意DC
- 客户端向非法服务器请求票据(需要注册服务主体名称 (SPN))
- 修改对输入数据的响应
![](https://img2020.cnblogs.com/blog/2414837/202110/2414837-20211010200708123-1881321887.png)
![](https://img2020.cnblogs.com/blog/2414837/202110/2414837-20211010200707593-1487028810.png)