Tomcat弱密码检测与漏洞利用集成工具

admin 2025-12-23 16:01:46 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: TomcatScan是一款集成Tomcat漏洞检测工具,支持检测CVE-2017-12615、CNVD-2020-10487及CVE-2024-50379等漏洞。具备弱口令爆破、WAR包部署WebShell及AJP文件包含攻击功能。基于Python3.6开发,通过配置文件可自动化执行攻击链,适用于安全人员进行Tomcat服务安全验证与渗透测试。 综合评分: 75 文章分类: 安全工具,漏洞POC,WEB安全,渗透测试


cover_image

Tomcat 弱密码检测与漏洞利用集成工具

ZapcoMan

W小哥

2025年12月22日 18:00 中国香港

TomcatScan 代码使用说明文档

目录

  1. 项目简介
  2. 环境配置
  3. 代码结构
  4. 主要功能
  5. 使用方法
  6. 配置文件
  7. 常见问题
  8. 支持漏洞
  9. 免杀
  10. 其他功能和作者语

项目简介

TomcatScan这是一个用于检测 Tomcat 服务器漏洞的工具,支持以下主要功能:

  • 检测 CVE-2017-12615 和 CNVD-2020-10487 漏洞。
  • 进行弱口令检测。

环境配置

确保你的环境中已安装 Python 3.6 及以上版本,并安装所需的依赖库。可以通过以下命令安装所有依赖:

 pip install -r requirements.txt

依赖库包括 , , 等。requests``yaml``bs4

代码结构

项目目录结构如下:

E:\python\Python_project\TomcatScan\
├── common\
│   └── common.py
├── config.yaml
├── README.md
├── model\
├── Tomcat\
│   ├── constants.py
│   └── Tomcat.py
├── pocs\
│   └── CVE_2024_50379.py
├── AjpBodyRequest.py
├── AjpForwardRequest.py
├── AjpResponse.py
└── NotFoundException.py
└── TomcatScan.py

每个文件的主要功能如下:

  • common/common.py

    : 提供通用工具函数。

  • config.yaml

    : 配置文件,包含线程池、重试机制、 CVE-2020-1938(CNVD-2020-10487) 漏洞检测等配置信息。

  • README.md

    : 项目的使用说明文档。

  • model/Tomcat/constants.py

    : 定义常量,用于AJP请求的准备。

  • model/Tomcat/Tomcat.py

    : 实现与 Tomcat 服务器的连接和请求处理。

  • model/AjpBodyRequest.py

    : 处理 AJP Body 请求的序列化和发送。

  • model/AjpForwardRequest.py

    : 处理 AJP Forward 请求的创建、序列化和解析。

  • model/AjpResponse.py

    : 解析 AJP 响应数据。

  • model/NotFoundException.py

    : 自定义异常类。

  • POC/CVE_2024_50379.py

    : CVE_2024_50379 POC EXP 脚本

  • TomcatScan.py

    : 主程序逻辑,负责加载配置、初始化资源并启动漏洞检测流程。

主要功能

1. CVE-2017-12615 漏洞检测

  • 工具支持三种利用方式:

    PUT /1.jsp/

    PUT /1.jsp%20

    PUT /1.jsp::$DATA

  • 成功上传后,工具会尝试访问并执行上传的 JSP 文件,判断是否能远程执行代码。

  • 对每种利用方式的结果分别记录成功或失败状态。

** 2.CVE-2020-1938/CNVD-2020-10487 (AJP 协议本地文件包含漏洞)**

  • 工具利用 AJP 协议进行本地文件包含(LFI)攻击,默认读取 WEB-INF/web.xml 文件,但文件路径和判断条件可以通过配置文件灵活调整。
  • 支持对目标文件中的关键字(例如 “Welcome”)进行自定义判断,确定文件读取成功与否。
  • 检测到文件包含成功后,详细记录成功的 URL 和读取到的敏感文件路径。

2. 弱口令检测

  • 支持通过用户名与密码组合进行弱口令暴力破解。
  • 若登录成功,工具会自动尝试上传 WebShell 文件,提供远程管理和代码执行能力。
  • 登录成功以及 WebShell 上传的结果都会详细记录在日志文件中。

3. 后台部署 WAR 包 getshell

  • 在弱口令破解成功后,工具会尝试通过 Tomcat 管理后台上传 包,以获取远程代码执行权限。WAR
  • 部署的 包会自动在服务器上解压并生成 JSP Shell 文件,访问该文件后便可以获取 Shell 权限。WAR
  • 支持通过配置文件自定义文件的内容。Shell

** 4.Apache-Tomcat条件竞争致远程代码执行漏洞(CVE-2024-50379) **

  • 由于 Apache Tomcat 在路径校验逻辑中存在缺陷,当在不区分大小写的系统(如 Windows)上启用了 default servlet 的写入功能(默认关闭)时,攻击者可构造恶意请求绕过路径一致性检查,从而可能上传 webshell 并造成远程代码执行。漏洞利用需要条件竞争,对网络以及机器性能环境等有一定要求。

  • 利用条件竞争致远程代码执行漏洞(CVE-2024-50379)

  • 利用成功后 windows 电脑 会打开 计算器 或者访问地址 也会打开 计算器

  • 代码中注释的部分 是 打开计算器,现在 则是可以直接将木马种进去 和 CNVD-2020-10487 (AJP 协议本地文件包含漏洞) 一样 是 哥斯拉的 jsp 木马文件

  • 影响版本:

  • Apache Tomcat 11.0.0-M1到11.0.1

  • Apache Tomcat 10.1.1.0 – m1到10.1.33

  • Apache Tomcat 9.0.0。M1到9.0.97

使用方法

  1. 准备包含URL、用户名和密码的文本文件,分别命名为、和。urls.txt``user.txt``passwd.txt
  2. urls.txt保存格式:https://127.0.0.1/ 或者 https://127.0.0.1/manager/html 脚本会自行判断检测
  3. 在中配置文件路径和其他设置。config.yaml
  4. 运行脚本,将会在文件中记录成功利用漏洞信息。success.txt
  python TomcatScan.py

关注公众号回复“20251222”获取工具地址。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:W小哥 ZapcoMan《Tomcat 弱密码检测与漏洞利用集成工具》

评论:0   参与:  2