
Um script Python para escanear vulnerabilidades do servidor Apache Tomcat.

Um script Python para escanear vulnerabilidades em servidores Apache Tomcat.
-tt/--target.-tu/--target-url./manager/html.--list-cves, exibe descrições detalhadas dos CVEs com --show-cves-descriptions.Agora você pode instalá-lo a partir do PyPI (versão mais recente é ) com este comando:
sudo python3 -m pip install apachetomcatscanner
$ ./ApacheTomcatScanner.py -h
Apache Tomcat Scanner v3.4 - por Remi GASCOU (Podalirius)
uso: ApacheTomcatScanner.py [-h] [-v] [--debug] [-C] [--show-cves-descriptions] [-T THREADS] [-s] [--no-colors] [--only-http] [--only-https] [--export-xlsx EXPORT_XLSX] [--export-json EXPORT_JSON] [--export-sqlite EXPORT_SQLITE]
[-PI PROXY_IP] [-PP PROXY_PORT] [-rt REQUEST_TIMEOUT] [--tomcat-username TOMCAT_USERNAME] [--tomcat-usernames-file TOMCAT_USERNAMES_FILE] [--tomcat-password TOMCAT_PASSWORD]
[--tomcat-passwords-file TOMCAT_PASSWORDS_FILE] [-tf TARGETS_FILE] [-tt TARGET] [-tu TARGET_URL] [-tp TARGET_PORTS] [-ad AUTH_DOMAIN] [-ai AUTH_DC_IP] [-au AUTH_USER] [-ap AUTH_PASSWORD]
[-ah AUTH_HASHES] [--ldaps] [--subnets]
Um script Python para escanear vulnerabilidades em servidores Apache Tomcat.
opções:
-h, --help mostra esta mensagem de ajuda e sai
-v, --verbose Modo verbose. (padrão: False)
--debug Modo debug, para enorme verbosidade. (padrão: False)
-C, --list-cves Lista os IDs de CVEs que afetam cada versão encontrada. (padrão: False)
--show-cves-descriptions
Exibe a descrição dos CVEs encontrados. (padrão: False)
-T THREADS, --threads THREADS
Número de threads (padrão: 250)
-s, --servers-only Se estiver consultando o ActiveDirectory, obtém apenas servidores e não todos os objetos de computador. (padrão: False)
--no-colors Desativa saída colorida. (padrão: False)
--only-http Escaneia apenas com esquema HTTP. (padrão: False, escaneia com HTTP e HTTPS)
--only-https Escaneia apenas com esquema HTTPS. (padrão: False, escaneia com HTTP e HTTPS)
Exportar resultados:
--export-xlsx EXPORT_XLSX
Arquivo XLSX de saída para armazenar os resultados.
--export-json EXPORT_JSON
Arquivo JSON de saída para armazenar os resultados.
--export-sqlite EXPORT_SQLITE
Arquivo SQLITE3 de saída para armazenar os resultados.
Configuração avançada:
-PI PROXY_IP, --proxy-ip PROXY_IP
IP do proxy.
-PP PROXY_PORT, --proxy-port PROXY_PORT
Porta do proxy
-rt REQUEST_TIMEOUT, --request-timeout REQUEST_TIMEOUT
Define o timeout das requisições HTTP.
--tomcat-username TOMCAT_USERNAME
Nome de usuário Tomcat único a ser testado para login.
--tomcat-usernames-file TOMCAT_USERNAMES_FILE
Arquivo contendo uma lista de nomes de usuário Tomcat para testar login
--tomcat-password TOMCAT_PASSWORD
Senha Tomcat única a ser testada para login.
--tomcat-passwords-file TOMCAT_PASSWORDS_FILE
Arquivo contendo uma lista de senhas Tomcat para testar login
Alvos:
-tf TARGETS_FILE, --targets-file TARGETS_FILE
Caminho para o arquivo contendo uma lista linha por linha de alvos.
-tt TARGET, --target TARGET
IP, FQDN ou CIDR do alvo.
-tu TARGET_URL, --target-url TARGET_URL
URL do alvo para o gerenciador Tomcat.
-tp TARGET_PORTS, --target-ports TARGET_PORTS
Portas alvo para escanear em busca de servidores Apache Tomcat.
-ad AUTH_DOMAIN, --auth-domain AUTH_DOMAIN
Domínio Windows para autenticar.
-ai AUTH_DC_IP, --auth-dc-ip AUTH_DC_IP
IP do controlador de domínio.
-au AUTH_USER, --auth-user AUTH_USER
Nome de usuário da conta do domínio.
-ap AUTH_PASSWORD, --auth-password AUTH_PASSWORD
Senha da conta do domínio.
-ah AUTH_HASHES, --auth-hashes AUTH_HASHES
Hashes LM:NT para passar o hash para este usuário.
--ldaps Usa LDAPS (padrão: False)
--subnets Obtém todas as sub-redes do domínio e as usa como alvos (padrão: False)

Você também pode listar os CVEs de cada versão com a opção --list-cves:

O scanner inclui uma verificação automática de atualização do banco de dados de CVEs para garantir que você sempre tenha os dados de vulnerabilidade mais recentes.
Quando você executa o scanner, ele verifica automaticamente se o banco de dados de CVEs tem mais de 30 dias. Se estiver desatualizado, você verá:
[!] O banco de dados de CVEs está desatualizado (última atualização: 2025-11-01T13:00:00)
[*] Você pode atualizá-lo executando: python apachetomcatscanner/data/update_db_nvd.py
[?] Deseja atualizar agora? Isso pode levar vários minutos. (s/N):
Digite s para atualizar imediatamente, ou pressione Enter para pular e continuar a varredura.
Para pular a verificação de atualização completamente, use a flag --no-auto-update:
python ApacheTomcatScanner.py -tt target.com --list-cves --no-auto-update
Você pode atualizar manualmente o banco de dados de CVEs a qualquer momento:
cd apachetomcatscanner/data
python update_db_nvd.py
Nota: As atualizações usam a API oficial do NVD com limite de taxa (5 requisições a cada 30 segundos). O processo pode levar vários minutos, mas pode ser interrompido e retomado a qualquer momento. Considere obter uma chave de API gratuita do NVD para atualizações mais rápidas: https://nvd.nist.gov/developers/request-an-api-key
Pull requests são bem-vindos. Sinta-se à vontade para abrir uma issue se quiser adicionar outras funcionalidades.