Tomcat 弱密码检测 与漏洞利用

admin 2025年1月15日10:42:52评论47 views字数 2241阅读7分28秒阅读模式

 

工具介绍

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

Tomcat 弱密码检测 与漏洞利用

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

下载

https://github.com/einzbernnn/Tomcatscan

环境配置

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

 pip install -r requirements.txt

依赖库包括 requestsyamlbs4 等。

代码结构

项目目录结构如下:

E:pythonPython_projectTomcatScan├── common│   └── common.py├── config.yaml├── README.md├── Tomcat│   ├── constants.py│   └── Tomcat.py├── tomcatscan│   ├── AjpBodyRequest.py│   ├── AjpForwardRequest.py│   ├── AjpResponse.py│   ├── NotFoundException.py│   └── __init__.py└── TomcatScan.py

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

  • AjpBodyRequest.py: 处理 AJP Body 请求的序列化和发送。
  • AjpForwardRequest.py: 处理 AJP Forward 请求的创建、序列化和解析。
  • AjpResponse.py: 解析 AJP 响应数据。
  • NotFoundException.py: 自定义异常类。
  • Tomcat.py: 实现与 Tomcat 服务器的连接和请求处理。
  • TomcatScan.py: 主程序逻辑,负责加载配置、初始化资源并启动漏洞检测流程。
  • config.yaml: 配置文件,包含线程池、重试机制、CNVD-2020-10487 漏洞检测等配置信息。

主要功能

1. CVE-2017-12615 漏洞检测

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

    PUT /1.jsp/

    PUT /1.jsp%20

    PUT /1.jsp::$DATA

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

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

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

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

2. 弱口令检测

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

3. 后台部署 WAR 包 getshell

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

使用方法

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

配置文件

配置文件 config.yaml 包含了项目的各项配置参数,用户可以根据需要进行修改。主要配置项包括:

  • files: 文件路径配置
  • thread_pool: 线程池配置
  • retry: 重试机制配置
  • cnvd_2020_10487: CNVD-2020-10487 漏洞检测配置

工具下载

https://github.com/codervibe/TomcatScan/tree/master

支持漏洞:

  1. CNVD-2020-10487(AJP协议本地文件包含)漏洞检测,支持灵活配置目标文件路径与判断条件。
  2. CVE-2017-12615文件上传漏洞的不同利用方式的检测
  3. 弱口令爆破成功后自动配置war进行getshell

其他功能:

  1. 引入配置文件,使得调整参数更加灵活
  2. 增加处理登录时无法访问URL的情况,并在重试次数达到顶点时(默认3次)将URL从待检测列表中排除
  3. 在上传成功或失败后删除WAR文件与JSP文件,磁盘空间浪费
  4. 增加上传失败时重试机制(默认3次),避免网络问题或服务器偶尔响应慢可能会导致上传失败问题
  5. 使用随机生成的文件名增加脚本的灵活和隐蔽性
  6. 自定义webshell默认Godzilla马,连接密码pass 加密密钥 xc
  7. 动态调整线程池大小:根据用户名和密码的组合队列计算调整线程池大小
  8. 使用的 tomcat版本为apache-tomcat-8.5.31 哥斯拉是最新版 godzilla:https://github.com/BeichenDream/Godzilla/releases/tag/v4.0.1-godzilla
 

原文始发于微信公众号(夜组科技圈):Tomcat 弱密码检测 与漏洞利用

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年1月15日10:42:52
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Tomcat 弱密码检测 与漏洞利用https://cn-sec.com/archives/3630376.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息