简单离奇的偷塔行为
字数 1321 2025-08-18 17:33:38

Tomcat弱口令漏洞利用与提权技术分析

漏洞概述

本文记录了一个针对Tomcat服务器的渗透测试过程,攻击者通过弱口令漏洞获取服务器权限,并尝试多种提权方法。该案例展示了从信息收集到获取shell,再到提权尝试的完整攻击链。

信息收集阶段

  1. 目标识别:发现目标IP地址(xx.xx.xx.xx)
  2. 端口扫描:仅开放80(HTTP)和443(HTTPS)端口
  3. 服务识别:确认运行Tomcat 8服务器

初始入侵

  1. 利用弱口令:通过常见的Tomcat管理员弱口令(未明确说明具体凭证)成功登录管理后台
  2. 部署WAR包:通过管理界面上传恶意WAR包获取webshell
  3. 备用方案:发现WAR包中已内置webshell(/var/lib/tomcat8/webapps/ROOT/WEB-INF/classes/)

Webshell获取与问题

  1. 初始连接失败:蚁剑连接内置webshell失败,可能密码被修改
  2. 文件写入问题:尝试写入文件时文件名前自动添加反斜杠导致无法访问
  3. 最终解决方案:使用一句话木马(报错但功能正常)成功获取shell

提权尝试

环境信息

  • 操作系统:Amazon Linux
  • 限制条件:
    • 无gcc编译器
    • 无法访问外网
    • Tomcat权限受限

提权方法尝试

  1. SUID提权

    find / -perm -u=s -type f 2>/dev/null
    find / -user root -perm -4000-print2>/dev/null
    find / -user root -perm -4000-exec ls -ldb {} \;
    

    未发现可利用的SUID程序

  2. 计划任务分析

    ls -l /etc/cron*
    

    检查了以下目录:

    • /etc/cron.d
    • /etc/cron.daily
    • /etc/cron.hourly
    • /etc/cron.monthly
    • /etc/cron.weekly
      未发现可写或可利用的计划任务
  3. 自动化漏洞检测
    使用linux-exploit-suggester脚本检测潜在内核漏洞:

    https://github.com/mzet-/linux-exploit-suggester
    

    结果指向需要内核提权,但因环境限制无法编译利用

技术要点总结

  1. Tomcat弱口令利用

    • 常见默认凭证如tomcat:tomcat、admin:admin等
    • 通过管理界面部署WAR包是常见攻击方式
  2. Webshell绕过技巧

    • 内置webshell可能被修改密码
    • 文件名自动添加字符时的绕过方法
    • 报错型一句话木马的实用性
  3. 受限环境下的提权挑战

    • 无编译器环境限制本地提权
    • 网络隔离限制外部资源下载
    • 严格的权限控制增加提权难度
  4. Amazon Linux特殊考虑

    • 特有的awslogs和publishlogs服务
    • Elastic Beanstalk相关配置(cron.logrotate.*.conf)

防御建议

  1. 预防措施

    • 强制修改Tomcat默认凭证
    • 限制管理界面访问IP
    • 禁用不必要的WAR部署功能
  2. 检测措施

    • 监控异常的WAR包部署
    • 检查WEB-INF/classes目录下的可疑文件
    • 审计cron任务变更
  3. 加固措施

    • 对Tomcat运行账户进行权限限制
    • 定期更新Amazon Linux安全补丁
    • 配置适当的网络访问控制

未解决问题

  1. 在无编译器、无外网访问的受限环境下,是否有其他有效的提权方法?
  2. 如何绕过文件名自动添加反斜杠的限制?
  3. Amazon Linux特有的提权向量有哪些?

此案例展示了即使获取了初始立足点,在严格的安全配置下提权仍面临重大挑战,强调了纵深防御的重要性。

Tomcat弱口令漏洞利用与提权技术分析 漏洞概述 本文记录了一个针对Tomcat服务器的渗透测试过程,攻击者通过弱口令漏洞获取服务器权限,并尝试多种提权方法。该案例展示了从信息收集到获取shell,再到提权尝试的完整攻击链。 信息收集阶段 目标识别 :发现目标IP地址(xx.xx.xx.xx) 端口扫描 :仅开放80(HTTP)和443(HTTPS)端口 服务识别 :确认运行Tomcat 8服务器 初始入侵 利用弱口令 :通过常见的Tomcat管理员弱口令(未明确说明具体凭证)成功登录管理后台 部署WAR包 :通过管理界面上传恶意WAR包获取webshell 备用方案 :发现WAR包中已内置webshell(/var/lib/tomcat8/webapps/ROOT/WEB-INF/classes/) Webshell获取与问题 初始连接失败 :蚁剑连接内置webshell失败,可能密码被修改 文件写入问题 :尝试写入文件时文件名前自动添加反斜杠导致无法访问 最终解决方案 :使用一句话木马(报错但功能正常)成功获取shell 提权尝试 环境信息 操作系统:Amazon Linux 限制条件: 无gcc编译器 无法访问外网 Tomcat权限受限 提权方法尝试 SUID提权 : 未发现可利用的SUID程序 计划任务分析 : 检查了以下目录: /etc/cron.d /etc/cron.daily /etc/cron.hourly /etc/cron.monthly /etc/cron.weekly 未发现可写或可利用的计划任务 自动化漏洞检测 : 使用linux-exploit-suggester脚本检测潜在内核漏洞: 结果指向需要内核提权,但因环境限制无法编译利用 技术要点总结 Tomcat弱口令利用 : 常见默认凭证如tomcat:tomcat、admin:admin等 通过管理界面部署WAR包是常见攻击方式 Webshell绕过技巧 : 内置webshell可能被修改密码 文件名自动添加字符时的绕过方法 报错型一句话木马的实用性 受限环境下的提权挑战 : 无编译器环境限制本地提权 网络隔离限制外部资源下载 严格的权限控制增加提权难度 Amazon Linux特殊考虑 : 特有的awslogs和publishlogs服务 Elastic Beanstalk相关配置(cron.logrotate.* .conf) 防御建议 预防措施 : 强制修改Tomcat默认凭证 限制管理界面访问IP 禁用不必要的WAR部署功能 检测措施 : 监控异常的WAR包部署 检查WEB-INF/classes目录下的可疑文件 审计cron任务变更 加固措施 : 对Tomcat运行账户进行权限限制 定期更新Amazon Linux安全补丁 配置适当的网络访问控制 未解决问题 在无编译器、无外网访问的受限环境下,是否有其他有效的提权方法? 如何绕过文件名自动添加反斜杠的限制? Amazon Linux特有的提权向量有哪些? 此案例展示了即使获取了初始立足点,在严格的安全配置下提权仍面临重大挑战,强调了纵深防御的重要性。