Tomcat
Discovery
Di solito gira sulla porta 8080
Errore comune di Tomcat:
Enumeration
Version Identification
Per trovare la versione di Apache Tomcat, può essere eseguita un semplice comando:
Questo cercherà il termine "Tomcat" nella pagina dell'indice della documentazione, rivelando la versione nel tag del titolo della risposta HTML.
Posizione dei file Manager
Identificare le posizioni esatte delle directory /manager
e /host-manager
è cruciale poiché i loro nomi potrebbero essere alterati. Si consiglia una ricerca brute-force per localizzare queste pagine.
Enumerazione degli username
Per le versioni di Tomcat precedenti alla 6, è possibile enumerare gli username tramite:
Credenziali Predefinite
La directory /manager/html
è particolarmente sensibile in quanto consente il caricamento e la distribuzione di file WAR, il che può portare all'esecuzione di codice. Questa directory è protetta da autenticazione HTTP di base, con credenziali comuni che sono:
admin:admin
tomcat:tomcat
admin:
admin:s3cr3t
tomcat:s3cr3t
admin:tomcat
Queste credenziali possono essere testate utilizzando:
Un'altra directory notevole è /manager/status
, che visualizza la versione di Tomcat e del sistema operativo, aiutando nell'identificazione delle vulnerabilità.
Attacco Brute Force
Per tentare un attacco brute force sulla directory manager, si può usare:
Along with setting various parameters in Metasploit to target a specific host.
Vulnerabilità Comuni
Divulgazione della Password nel Backtrace
Accedere a /auth.jsp
può rivelare la password in un backtrace in circostanze fortunate.
Doppia Codifica URL
La vulnerabilità CVE-2007-1860 in mod_jk
consente la codifica URL doppia per il path traversal, permettendo l'accesso non autorizzato all'interfaccia di gestione tramite un URL appositamente creato.
Per accedere al web di gestione di Tomcat vai a: pathTomcat/%252E%252E/manager/html
/examples
Le versioni di Apache Tomcat da 4.x a 7.x includono script di esempio che sono suscettibili a divulgazione di informazioni e attacchi di cross-site scripting (XSS). Questi script, elencati in modo completo, dovrebbero essere controllati per accessi non autorizzati e potenziale sfruttamento. Trova ulteriori informazioni qui
/examples/jsp/num/numguess.jsp
/examples/jsp/dates/date.jsp
/examples/jsp/snp/snoop.jsp
/examples/jsp/error/error.html
/examples/jsp/sessions/carts.html
/examples/jsp/checkbox/check.html
/examples/jsp/colors/colors.html
/examples/jsp/cal/login.html
/examples/jsp/include/include.jsp
/examples/jsp/forward/forward.jsp
/examples/jsp/plugin/plugin.jsp
/examples/jsp/jsptoserv/jsptoservlet.jsp
/examples/jsp/simpletag/foo.jsp
/examples/jsp/mail/sendmail.jsp
/examples/servlet/HelloWorldExample
/examples/servlet/RequestInfoExample
/examples/servlet/RequestHeaderExample
/examples/servlet/RequestParamExample
/examples/servlet/CookieExample
/examples/servlet/JndiServlet
/examples/servlet/SessionExample
/tomcat-docs/appdev/sample/web/hello.jsp
Sfruttamento del Path Traversal
In alcune configurazioni vulnerabili di Tomcat puoi ottenere accesso a directory protette in Tomcat utilizzando il path: /..;/
Quindi, ad esempio, potresti essere in grado di accedere alla pagina di gestione di Tomcat accedendo a: www.vulnerable.com/lalala/..;/manager/html
Un altro modo per bypassare i percorsi protetti usando questo trucco è accedere a http://www.vulnerable.com/;param=value/manager/html
RCE
Infine, se hai accesso al Tomcat Web Application Manager, puoi caricare e distribuire un file .war (eseguire codice).
Limitazioni
Potrai distribuire un WAR solo se hai sufficienti privilegi (ruoli: admin, manager e manager-script). Questi dettagli possono essere trovati in tomcat-users.xml solitamente definito in /usr/share/tomcat9/etc/tomcat-users.xml
(varia tra le versioni) (vedi POST section).
Metasploit
MSFVenom Reverse Shell
Crea il war da distribuire:
Carica il file
revshell.war
e accedi ad esso (/revshell/
):
Bind e reverse shell con tomcatWarDeployer.py
In alcuni scenari questo non funziona (ad esempio versioni obsolete di sun)
Download
Reverse shell
Bind shell
Utilizzando Culsterd
Metodo manuale - Web shell
Crea index.jsp con questo contenuto:
Puoi anche installare questo (consente upload, download ed esecuzione di comandi): http://vonloesch.de/filebrowser.html
Metodo Manuale 2
Ottieni una shell web JSP come questa e crea un file WAR:
POST
Il nome del file delle credenziali di Tomcat è tomcat-users.xml
Altri modi per raccogliere le credenziali di Tomcat:
Altri strumenti di scansione tomcat
Riferimenti
Last updated