Apache Tomcat Scanner: scan for Apache Tomcat server vulnerabilities

Apache Tomcat Scanner

A python script to scan for Apache Tomcat server vulnerabilities.

Features

  •  Multithreaded workers to search for Apache tomcat servers.
  •  Multiple target sources accepted:
    •  Retrieving list of computers from a Windows domain through an LDAP query to use them as a list of targets.
    •  Reading targets line by line from a file.
    •  Reading individual targets (IP/DNS/CIDR) from -tt/--target option.
    •  Reading individual targets URLs from -tu/--target-url option.
  •  Custom list of ports to test.
  •  Tests for /manager/html accessibility.
  •  Tests for default credentials to access the Tomcat Manager.
  •  List the CVEs of each version with the --list-cves option, print detailed CVEs descriptions with --show-cves-descriptions

Download

git clone https://github.com/p0dalirius/ApacheTomcatScanner.git

Use

$ ./ApacheTomcatScanner.py -h
Apache Tomcat Scanner v1.3 - by @podalirius_

usage: ApacheTomcatScanner.py [-h] [-v] [-C] [-T THREADS] [-PI PROXY_IP] [-PP PROXY_PORT] [-rt REQUEST_TIMEOUT] [-tf TARGETS_FILE] [-tt TARGET] [-tp TARGET_PORTS] [-ad AUTH_DOMAIN] [-ai AUTH_DC_IP] [-au AUTH_USER] [-ap AUTH_PASSWORD]
[-ah AUTH_HASH]

A python script to scan for Apache Tomcat server vulnerabilities.

optional arguments:
-h, --help show this help message and exit
-v, --verbose Verbose mode. (default: False)
-C, --list-cves List CVE ids affecting each version found. (default: False)
-T THREADS, --threads THREADS
Number of threads (default: 5)

-PI PROXY_IP, --proxy-ip PROXY_IP
Proxy IP.
-PP PROXY_PORT, --proxy-port PROXY_PORT
Proxy port
-rt REQUEST_TIMEOUT, --request-timeout REQUEST_TIMEOUT

-tf TARGETS_FILE, --targets-file TARGETS_FILE
-tt TARGET, --target TARGET
Target IP, FQDN or CIDR
-tp TARGET_PORTS, --target-ports TARGET_PORTS
Target ports to scan top search for Apache Tomcat servers.
-ad AUTH_DOMAIN, --auth-domain AUTH_DOMAIN
-ai AUTH_DC_IP, --auth-dc-ip AUTH_DC_IP
-au AUTH_USER, --auth-user AUTH_USER
-ap AUTH_PASSWORD, --auth-password AUTH_PASSWORD
-ah AUTH_HASH, --auth-hash AUTH_HASH

Example

 

You can also list the CVEs of each version with the –list-cves option:

 

Source: https://github.com/p0dalirius/