简单离奇的偷塔行为
字数 1321 2025-08-18 17:33:38
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提权:
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程序
-
计划任务分析:
ls -l /etc/cron*检查了以下目录:
- /etc/cron.d
- /etc/cron.daily
- /etc/cron.hourly
- /etc/cron.monthly
- /etc/cron.weekly
未发现可写或可利用的计划任务
-
自动化漏洞检测:
使用linux-exploit-suggester脚本检测潜在内核漏洞:https://github.com/mzet-/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特有的提权向量有哪些?
此案例展示了即使获取了初始立足点,在严格的安全配置下提权仍面临重大挑战,强调了纵深防御的重要性。