《内网安全攻防:渗透测试实战指南》读书笔记:跨域攻击分析及防御
Posted 思源湖的鱼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《内网安全攻防:渗透测试实战指南》读书笔记:跨域攻击分析及防御相关的知识,希望对你有一定的参考价值。
目录
前言
本篇继续阅读学习《内网安全攻防:渗透测试实战指南》,本章是跨域攻击分析及防御,对利用域信任关系实现跨域攻击的典型方法进行了分析,并对如何部署安全的内网生产环境给出了建议,内容非常简短
大型企业一般通过域林进行共享资源
- 根据不同职能区分的部门,从逻辑上以主域和子域进行划分,以方便统一管理
- 在物理层,通常使用防火墙将各个子公司及各个部门划分为不同的区域
- 攻击者如果得到饿了某个子公司或者某个部门的域控制器全新啊,但没有得到整个公司内网的全部权限(或者需要的资源不在此域中),往往会想办法获取其他部门(或者域)的权限
一、跨域攻击方法
常见的跨域攻击方法有:
- 常规渗透方法(例如利用Web漏洞跨域获取权限)
- 利用已知域散列值进行哈希传递攻击或者票据传递攻击(例如DC的本地管理员密码相同)
- 利用域信任关系进行跨域攻击
二、利用域信任关系的跨域攻击
1、域信任简介
域信任的作用是解决多域环境中的跨域资源共享问题
- 默认情况下,特定Windows域中的所有用户都可以通过该域中的资源进行身份验证
- 域环境不会无条件的接受来自其他域的凭证,如果用户想要访问当前域边界以外的资源,需要使用域信任
- 域信任作为域的一种机制,允许另一个域的用户在通过身份验证后访问本域的资源
- 从Windows server 2003开始,域信任关系变为双向的,且可以通过信任关系进行传递
- 只有Domain Admins组中的用户可以管理域信任关系
2、获取域信息
在域中,Enterprise Admins组(仅出现在林的根域中)的成员具有对目录林中所有域的完全控制权限。默认情况下,该组包含林中所有域控制器上具有Administrator权限的成员
使用LG.exe这个工具,能够用来枚举远程主机用户和组的信息
//枚举域中的用户组
lg.exe <domain name>\\.
//枚举远程机器的本地组用户
lg.exe \\\\dc
//获取远程用户中全部用户的SID
lg.exe \\\\dc -lu -sidsout
//获取指定组中所有成员的SID
lg.exe \\\\dc\\administrators -sidsout
3、利用域信任秘钥(NTLM Hash)获取目标域的权限
利用mimikatz导出信任秘钥并伪造信任票据(具有sidHistory)、利用asktgs请求TGS、利用kirbikator将TGS信息注入内存,获取目标域的权限。
使用mimikatz可以在构建黄金票据时设置sidHistory,因此,如果攻击者获取了任意域的krbtgt散列值,就可以利用sidHistory获得该林的完整权限。
4、利用krbtgt散列值获取目标域的权限
在DC上使用mimikatz获取krbtgt散列值、在子域使用普通用户权限构造并注入黄金票据,获取目标域的权限
5、利用无约束委派和MS-RPRN获取信任林权限
如果攻击者已经获取了域林中某个域控制器的权限或者配置了无约束委派的任何服务器的
权限,就可以使用MS-RPRN使信任林的域控制器向已被控制的服务器发送身份认证请求,利用捕获的票据获取信任林内任意用户的散列值
两个工具:
- Rubeus监控身份认证请求:https://github.com/GhostPack/Rubeus
- SpoolSample发送身份认证请求:https://github.com/leechristensen/SpoolSample
三、防范跨域攻击
外网Web往往会配置WAF以及配备维护人员定期安全检测,而内网的Web(内部办公、测试服务器等)更脆弱,往往存在弱口令和存在未及时补丁的漏洞
在很多公司中,虽然为不同的部门划分了不同的域,但域管理员可能是同一批人,因此可能出现域管理员的用户名和密码相同的情况
故重要的是检查DC的本地管理员密码是否与其他域的DC本地管理员密码相同
结语
本章比较简短,主要是利用域信任关系实现跨域攻击
以上是关于《内网安全攻防:渗透测试实战指南》读书笔记:跨域攻击分析及防御的主要内容,如果未能解决你的问题,请参考以下文章
《内网安全攻防:渗透测试实战指南》读书笔记:跨域攻击分析及防御
《内网安全攻防:渗透测试实战指南》读书笔记:内网渗透测试基础
《内网安全攻防:渗透测试实战指南》读书笔记:隐藏通信隧道技术