渗透测试带防御的内网域(attack靶场)
一、环境搭建
这个靶场来自暗月内网渗透,是在前几天网上冲浪的时候看到这篇文章 https://zhuanlan.zhihu.com/p/349613752,就下载靶场回来玩一下
靶场地址: https://pan.baidu.com/s/12pSYxSU-ZmurQ9--GFiaXQ 提取码: 3p47
拓扑图是这样的,靶场渗透的最终目标是域控中的 flag.txt
靶机下载解压后是三个挂起的虚拟机,需要手动添加两个 vmnet 18、vmnet 19 两个网卡,设置如下
另外我还将 web 服务器的 Ethernet0 网卡设置为自动获取 ip 地址,所以目前的网络环境是
- 攻击机
网卡 192.168.2.0/24
- web 服务器
第一块网卡 桥接 192.168.2.234
第二块网卡 vmnet18 10.10.1.0/24
- oa 服务器
第一块网卡 vmnet18 10.10.1.0/24
第二块网卡 vmnet19 10.10.10.0/24
- dc 域控
网卡 vmnet19 10.10.10.0/24
在攻击机的 hosts 绑定域名,windows 系统在 C:\Windows\System32\drivers\etc\hosts
192.168.2.234 www.moonlab.com
二、漏洞利用
2.1siteserver管理员密码重置
访问域名一片空白,访问 robots.txt 发现几个目录
访问 /SiteServer/ 路径,直接跳到管理员登录界面,尝试几个弱口令没有登录进去后,百度找到这个 cms 的历史漏洞,点击忘记密码输入猜测的用户名
点击下一步,然后谷歌浏览器在设置->网站设置->JavaScript->禁止处禁用 js,在输入找回密码问题答案时什么都不填直接下一步即可找回密码
使用账户 admin/admin5566 成功登录后台
2.2siteserver后台getshell
后台的显示管理->模板管理->添加首页模板写一个免杀🐎,🐎的位置在网站的根目录,访问一下 http://www.moonlab.com/T_shell.aspx 确定🐎没问题(这里是一个坑,最开始我没有搞定 aspx 的免杀,以为写一个 asp 的就可以了,但是后续权限就不够了)
改用 aspx 免杀马后,用魔改的蚁剑成功连接
查看一下当前权限为 iis apppool\moonlab,操作系统为 windows server 2016,tasklist /svc 命令列出每个进程所调用的服务,发现存在杀软,这时候想直接上线 msf 的,但是运行程序蚁剑提示拒绝访问,需要先提升权限
2.3printspoofer提权
工具下载地址 https://github.com/itm4n/PrintSpoofer,自己做一下免杀上传到 C:\Windows\Temp 目录,运行程序成功提权
PrintSpoofer.exe -i -c "whoami"
三、内网渗透
3.1web服务器免杀上线msf
接下来想上 msf 或者 cs 继续后渗透操作,使用之前学习的工具(这篇博客里 https://www.cnblogs.com/wkzb/p/14676271.html)免杀 msf 生成的 exe,但是失败了,又尝试了原来学习的 msf 模块的 web_delivery 生成 payload 方式(这篇博客里 https://www.cnblogs.com/wkzb/p/13760679.html),成功弹回 meterpreter 终端,这里还尝试了是否可以拿这个 meterpreter 派生到 cs 仍然保持免杀,但是失败了,cs 可以上线,但是无法执行命令
3.2web服务器信息搜集
hashdump 命令获取账户信息,解密得到 Administrator 账号密码
解密 Windows NTLM Hash e7114141b0337bdce1aedf5594706205 Administrator/!@#QWE123
ipconfig /all 发现 web 服务器有双网卡,内网 10.10.1.0/24 网段,web 服务器不在域中
3.3arp主机存活探测
发现 ip 为 10.10.1.130 的主机
run arp_scanner -r 10.10.1.0/24
3.4扫描内网主机端口
添加路由、挂Socks4a代理
run autoroute -s 10.10.1.0/24 run autoroute -p background use auxiliary/server/socks4a set srvport 1080 run
nmap 扫描主机开放端口
proxychains nmap -p 22,21,80,88,135,139,445,443,888,1433,3306,3389,6379,7001,8080,8000,9000 -Pn -sT 10.10.1.130 --open
proxychains 调用火狐访问内网主机 80 端口,发现是通达 oa
proxychains firefox 10.10.1.130 -p 80
四、横向移动
4.1通达oa getshell
工具下载地址 https://github.com/Al1ex/TongDa-RCE,将 tongda_rce.py 原本的 shell 修改为一个免杀马,这里遇到的坑是,第一次运行工具提示没有漏洞,多运行几次就好了
proxychains3 python3 tongda_rce.py http://10.10.1.130
访问写入 shell 的地址 http://10.10.1.130/ispirit/interface/404.php,没被杀嘿嘿
配置蚁剑内网代理连接通达 oa 的 shell
4.2oa服务器信息搜集
在 oa 服务器的蚁剑终端执行命令出现没有回显的问题,把请求超时时间设置到最大即可解决,搜集一下这台服务器的信息
whoami netstat -ano ipconfig /all net start //运行的服务 tasklist /svc //进程列表
总结一下
- oa 服务器有双网卡
- 两个 ip 分别是 10.10.1.130 和 10.10.10.166,发现了新网段 10.10.10.0/24
- 当前是 system 权限
- 服务器有 360,windows firewall 等防护措施
4.3web、oa服务器免杀上线cs
接下来上线 msf 会更好操作,这里开一个上帝视角,作者说 shellcode 免杀后 oa 主机可以上线 msf,但是在使用命令的期间 session 多次失败,应该是服务器有些防护软件会对操作进行拦截,作者的解决办法是登录服务器把服务器安全狗进行关闭或者停止主动防御。这里我想将目标上线 cs,因为它在后渗透阶段相比于 msf 更稳定、易操作一些,msf 的 session 掉线重连太费时费力了,又因为 oa 服务器是不出网的,所以要先上线 web 服务器
这里有两个坑点是之前看别人的博客说 cs 尽量不勾选 x64,比较不稳定,但是今天实验发现如果不勾选生成的 shellcode 完全无效,可能要分不同的场景吧。还有就是由于这个靶机间隔时间比较长,上次做的 PrintSpoofer 已经不免杀了,蚁剑运行时会出现“系统无法执行指定的程序”的回显,重新做一下免杀问题解决
做一下 shellcode 的免杀,然后 web 服务器成功上线 cs
4.4域信息搜集
4.5哈希传递
开了上帝视角看到接下来只要将 oa 这台不出网的服务器上线 cs,再做一下域信息搜集、抓密码、哈希传递即可拿到域控权限,那为什么我的 4.3、4.4、4.5 小节不完整呢,因为做到 web 服务器上线的时候 oa 死机了,我懒得等它恢复天真的以为把它删了,重新解压一个出来就好了,但是解压的时候我才发现我的硬盘已经很满了,这三个靶机是分段压缩的,虽然我只想要 oa,但是分段压缩的一定要一起解压才可以!!没想到我的靶机渗透大结局是硬盘空间不够了呜呜呜
五、总结
这个靶场督促我学习了一下 webshell、printspoofer、shellcode 免杀,还发现了自己的 cs 版本有点低,查不出网主机上线的资料时,一些 payload 都没有,还踩了一些坑又从坑里爬出来,总之感谢师傅的靶场!!!受益匪浅
(还要感谢 npy 耐心安慰,踩坑没头绪的时候我有点心态崩,比心)
参考文章:
https://www.baikesec.com/webstudy/penetration/48.html
https://zhuanlan.zhihu.com/p/349613752