POC详情: 3843db88ec22be37af5a5147229bc9a6ca3691f1

来源
关联漏洞
标题: Apache Tomcat 安全漏洞 (CVE-2017-12615)
描述:Apache Tomcat是美国阿帕奇(Apache)软件基金会下属的Jakarta项目的一款轻量级Web应用服务器,它主要用于开发和调试JSP程序,适用于中小型系统。 Apache Tomcat 7.0.0版本至7.0.79版本存在远程代码执行漏洞。当上述版本的Tomcat启用HTTP PUT请求方法时,远程攻击者可以构造恶意请求利用该漏洞向服务器上传包含任意代码执行的jsp文件,并被服务器执行该文件,导致攻击者可以执行任意代码。
描述
最新tomcat自动化漏洞扫描利用工具,支持批量弱口令检测、后台部署war包getshell、CVE-2017-12615 文件上传、CVE-2020-1938/CNVD-2020-10487 文件包含
介绍
# TomcatScanPro

      如果您觉得这个项目对您有帮助,别忘了点亮 Star ⭐!
      您的支持是我们继续优化和改进这个项目的动力! 😊

## 简介

本项目是一个针对 **Tomcat** 服务的弱口令检测、漏洞检测以及本地文件包含(LFI)攻击工具。除了支持 **CVE-2017-12615** 漏洞的多种利用方式外,新版本还集成了 **CNVD-2020-10487** 漏洞(Tomcat AJP 协议本地文件包含漏洞)的利用功能,帮助用户高效检测和利用漏洞获取服务器敏感信息。工具同时支持对多个 URL 进行并发检测,并通过动态线程池机制,优化资源利用率,提升检测效率。

新版本功能改进
      
    1、新增 CNVD-2020-10487(AJP 协议本地文件包含)漏洞检测与利用功能,支持灵活配置目标文件路径与判断条件。
    2、支持三种 CVE-2017-12615 漏洞利用方式,并提供详细日志记录以区分每种利用方式的成功或失败。
    3、增强了弱口令检测功能,支持通过后台部署 WAR 包进行 getshell 操作,增强工具的漏洞利用能力。
    4、通过配置文件灵活管理漏洞检测参数,增加了工具的灵活性和可定制性。
    5、动态线程池调整机制,根据任务数量动态调整线程数量,提升并发检测效率。

## 功能

### 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.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`文件中记录成功的登录信息和Webshell的URL。

   ```
   python TomcatWeakPassChecker.py
   ```


![QQ20240909-091735](https://github.com/user-attachments/assets/d87e935e-8ce4-4d8a-b310-fa0e2988be49)



## 环境安装

通过以下命令安装所需模块:

```bash
pip install -r requirements.txt
```


## 注意事项

- 使用此脚本时请遵守相关法律法规,不要进行未授权的操作。
- 本脚本仅供教育和测试用途,不承担任何由不当使用造成的后果。



使用有什么问题或改进想法,在Issues提出
文件快照

[4.0K] /data/pocs/3843db88ec22be37af5a5147229bc9a6ca3691f1 ├── [3.9K] config.yaml ├── [4.0K] data │   ├── [9.6K] passwd.txt │   ├── [ 34] urls.txt │   └── [ 42] user.txt ├── [3.7K] README.md ├── [ 40] requirements.txt ├── [ 0] success.txt └── [ 28K] TomcatScanPro.py 1 directory, 8 files
神龙机器人已为您缓存
备注
    1. 建议优先通过来源进行访问。
    2. 如果因为来源失效或无法访问,请发送邮箱到 f.jinxu#gmail.com 索取本地快照(把 # 换成 @)。
    3. 神龙已为您对POC代码进行快照,为了长期维护,请考虑为本地POC付费,感谢您的支持。