欢迎访问Sunbet官网(www.sunbet.us),Allbet欧博官网(www.ALLbetgame.us)!

首页Sunbet_新闻事件正文

Vlunstack ATT&CK实战系列——红队实战(三)Writeup

b9e08c31ae1faa592019-12-27117申博_新闻事件

0x00 简介

vlunstack是红日安全团队出品的一个实战环境,本次测试的红日安全 ATT&CK实战系列——红队实战(三)靶场环境下载地址:

http://vulnstack.qiyuanxuetang.net/vuln/detail/5/

这是个黑盒测试,不提供虚拟机密码,得到的信息只有一个:

ip:192.168.1.110

经过后续渗透结果发现大致拓扑如下:

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第1张

0x01 外部打点

首先发现80端口网站是个joomla!,探测了一下版本,发现是3.9.2版本较高

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第2张

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第3张

然后扫了下目录,发现存在备份的配置文件configuration.php~

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第4张

如上图所示,得到了一个mysql普通数据库用户

testuser cvcvgjASD!@

然后curl了一下3306,发现开着

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第5张

然后尝试使用得到的mysql密码来连接

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第6张

得到了joomla!的数据库

joomla默认后端编辑模板即可getshell,所以我们需要获取管理员账户,根据官方文档使用sql添加一个即可

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第7张

如下图,添加额外的管理员admin2

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第8张

随后使用账号admin2 secret登录后台:http://192.168.1.110/administrator/index.php

通过模板修改,getshell:

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第9张

然后访问shell:http://192.168.1.110/templates/beez3/h1.php

连接后发现有disable_function,可以用LD_PRELOAD绕过

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第10张

能执行命令后,执行ifconfig uname看了下网卡以及内核

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第11张

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第12张

ubuntu内核比较新,暂时不考虑提权

在ubuntu上找到了个test.txt(略刻意)

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第13张

尝试使用wwwuser通过ssh登陆192.168.1.110

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第14张

由以下执行结果,我们不难发现,192.168.1.110不是我们gethell的主机,后端应该是nginx反代,我们目前得到的ubuntu的IP地址应该是192.168.93.100

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第15张

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第16张

查看centos内核版本:

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第17张

可以用脏牛提权:

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第18张

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第19张

脏牛提权成功,后面发现不用也能做(运气好),所以有了两种解法。解法一直接爆破,解法二中继。

0x02 拿域控

解法一:

上msf,scp上传payload到centos:

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第20张

centos执行payload获取shell:

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第21张

添加路由,然后meterpreter放在后台:

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第22张

扫描获取周围windows信息:

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第23张

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第24张

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第25张

得到了三台加入test域的windows主机

192.168.93.20 windows server 2008

192.168.93.30 windows 7

192.168.93.10 windows server 2012

尝试爆破一下windows server 2008的本地管理员

Joomla 3.9.13 二次注入分析(CVE-2019-19846)

[TOC] 前言 这一个需要管理员权限的二次SQL注入,利用起来比较鸡肋。这里仅分享一下挖洞时的思路,不包含具体的poc。 分析 漏洞触发点在components/com_content/models/articles.php:L458 $dateFiltering = $this->getState('filter.date_filtering', 'off'); $dateField = $this->getState('filter.date_field', 'a.created'); switch ($dateFiltering) { case 'range': ... $query->where( '(' . $dateField . ' >= ' . $startDateRange . ' AND ' . $dateField . ' <= ' . $endDateRange . ')' ); break; ... } 可以看

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第26张

没想到还真成了:

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第27张

将目标网络代理出来:

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第28张

本地windows使用proxifier,kali使用proxychains来代理socs4a:

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第29张

用wmiexec执行命令,查看进程时发现有test域的administrator的进程,于是尝试抓一下密码(直接steal token也行):

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第30张

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第31张

kali下使用smbclient通过代理连接windows server 2008 上传mimikatz

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第32张

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第33张

wmiexec远程执行mimikatz抓到了test域的administrator密码:

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第34张

查看windows server 2008的ip,然后ping test.org获取到域控制器ip

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第35张

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第36张

直接ipc连接(环境有点问题,3389连接域控提示administrator的密码过期了):

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第37张

得到重要文件flag.txt:

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第38张

解法二:

​ 通过在获取centos root后,使用Responder MultiRelay.py 进行中继,使用mssql的密码(同mysql)访问centos获取到win2008 administrator的ntlmv2后中继到win7(win7本地administrator同win2008,真实环境课可能获取到域管凭据的情况多一点,而不是本地密码相同),然后获取到win7凭据后登陆win2008,然后窃取test\administrator令牌, 登陆域控获取重要文件。

首先脏牛提权centos 得到的root,登陆centos,安装Responder。

然后生成shell,反弹meterpreter,创建路由,由于和解法一相同,所以不再赘述。

通过扫描,win2008开放了1433端口,mysql的密码就是mssql的密码:

testuser cvcvgjASD!@

由于获取到的是普通用户,所以不能用xp_cmdshell,但是可以获取到ntlmv2 hash

在centos创建好环境,安装Responder,监听

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第39张

使用auxiliary/admin/mssql/mssql_ntlm_stealer,执行xp_dirtree,触发UNC

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第40张

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第41张

msf触发UNC,获取到了win 2008的hash:

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第42张

这里可以直接使用开膛手破解hash,运气好可以得到administrator密码:

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第43张

运气不好可以尝试中继win2008打win7,由于win7 2008的本地administrator密码相同,所以也能成功,步骤如下:

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第44张

mssql触发UNC:

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第45张

MultiRelay监听获取到win7 shell:

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第46张

使用MultiRelay自带mimikatz抓取win7凭据:

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第47张

获取到win7本地密码:

administrator 123qwe!ASD

因为win2008的administrator凭据可以中继到win7,所以win2008的密码和win7相同。

psexec尝试用获取到的密码登录win2008查看进程

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第48张

发现存在TEST域的administrator进程:

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第49张

从centos上传incognito到win7再到win2008窃取令牌:

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第50张

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第51张

使用psexec incognito窃取TEST域administrator权限登录域控192.168.93.10将flag.txt复制到win2008:

set COMMAND C:\\incognito.exe execute -c \"TEST\\administrator\" \"cmd /c copy \\\\192.168.93.10\\C$\\users\\administrator\\Documents\\flag.txt C:\\1.txt\"
//注意转义符

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第52张

win2008中查看从域控copy到的flag :)

Vlunstack ATT&CK实战系列——红队实战(三)Writeup  申博_新闻事件 第53张

0x03 总结

​ 本次靶场为单域环境,较为基础,主要从端口扫描,目录扫描,joomla模板getshell,disable_function绕过,脏牛提权,smb中继,令牌窃取,横向移动等知识点考察练习常规红队技巧。


网友评论