【漏洞复现】tomcat后台弱口令与getshell
tomcat可以配置开启一个管理员后台,允许管理员在后台以上传文件的形式部署web应用,默认情况下后台只允许本机访问,若配置不当可造成攻击者通过弱口令进入后台,并部署含有后门的web应用。
同时访问后台也需要对应用户具有相应的权限:
- manager(后台管理)
- manager-gui 拥有html页面权限
- manager-status 拥有查看status的权限
- manager-script 拥有text接口的权限,和status权限
- manager-jmx 拥有jmx权限,和status权限
- host-manager(虚拟主机管理)
- admin-gui 拥有html页面权限
- admin-script 拥有text接口权限
相关权限的详细说明:http://tomcat.apache.org/tomcat-8.5-doc/manager-howto.html
影响版本
tomcat7+
漏洞复现
复现版本为tomcat8.0
后台弱口令:tomcat:tomcat
msf中也包含tomcat口令爆破模块:auxiliary/scanner/http/tomcat_mgr_login
接下来部署后门,将冰蝎的shell.jsp压缩成zip,再将后缀zip改为war
上传文件并部署即可
访问:http://10.128.0.12:8080/shell/shell.jsp
修复方式
以等保2.0对tomcat中间件的要求
- 应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换
- 前提是开启管理控制台
- 应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施
- tomcat目录/conf/server.xml下配置
- 当进行远程管理时,应采取必要措施防止鉴别信息在网络传输过程中被窃听
- https
- 应采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份鉴别,且其中一种鉴别技术至少应使用密码技术来实现
- 应对登录的用户分配账户和权限
- 应重命名或删除默认账户,修改默认账户的默认口令
- 应及时删除或停用多余的、过期的账户,避免共享账户的存在
- 应授予管理用户所需的最小权限,实现管理用户的权限分离
- 应由授权主体配置访问控制策略,访问控制策略规定主体对客体的访问规则
- 访问控制的粒度应达到主体为用户级或进程级,客体为文件、数据库表级
- 应对重要主体和客体设置安全标记,并控制主体对有安全标记信息资源的访问
- 应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计
- 审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息
- 应对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等
- 应对审计进程进行保护,防止未经授权的中断