【漏洞复现】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

image-20220608102157022
image-20220608102220076

msf中也包含tomcat口令爆破模块:auxiliary/scanner/http/tomcat_mgr_login

接下来部署后门,将冰蝎的shell.jsp压缩成zip,再将后缀zip改为war

上传文件并部署即可

image-20220608103050387

访问:http://10.128.0.12:8080/shell/shell.jsp

image-20220608103117062

修复方式

以等保2.0对tomcat中间件的要求

  • 应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换
    • 前提是开启管理控制台
  • 应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施
    • tomcat目录/conf/server.xml下配置
  • 当进行远程管理时,应采取必要措施防止鉴别信息在网络传输过程中被窃听
    • https
  • 应采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份鉴别,且其中一种鉴别技术至少应使用密码技术来实现
  • 应对登录的用户分配账户和权限
  • 应重命名或删除默认账户,修改默认账户的默认口令
  • 应及时删除或停用多余的、过期的账户,避免共享账户的存在
  • 应授予管理用户所需的最小权限,实现管理用户的权限分离
  • 应由授权主体配置访问控制策略,访问控制策略规定主体对客体的访问规则
  • 访问控制的粒度应达到主体为用户级或进程级,客体为文件、数据库表级
  • 应对重要主体和客体设置安全标记,并控制主体对有安全标记信息资源的访问
  • 应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计
  • 审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息
  • 应对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等
  • 应对审计进程进行保护,防止未经授权的中断