Vlunstack ATT&CK实战系列——红队实战(三)Writeup
2019-12-27 11:26:54 Author: xz.aliyun.com(查看原文) 阅读量:449 收藏

0x00 简介

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

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

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

ip:192.168.1.110

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


0x01 外部打点

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

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

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

testuser cvcvgjASD!@

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

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

得到了joomla!的数据库

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

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

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

通过模板修改,getshell:

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

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

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

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

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

尝试使用wwwuser通过ssh登陆192.168.1.110

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

查看centos内核版本:

可以用脏牛提权:

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

0x02 拿域控

解法一:

上msf,scp上传payload到centos:

centos执行payload获取shell:

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

扫描获取周围windows信息:

得到了三台加入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的本地管理员

没想到还真成了:

将目标网络代理出来:

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

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

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

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

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

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

得到重要文件flag.txt:

解法二:

​ 通过在获取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,监听

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

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

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

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

mssql触发UNC:

MultiRelay监听获取到win7 shell:

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

获取到win7本地密码:

administrator 123qwe!ASD

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

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

发现存在TEST域的administrator进程:

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

使用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\"
//注意转义符

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


0x03 总结

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


文章来源: http://xz.aliyun.com/t/6988
如有侵权请联系:admin#unsafe.sh