Tomcat
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Di solito gira sulla porta 8080
Errore comune di Tomcat:
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.
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.
Per le versioni di Tomcat precedenti alla 6, è possibile enumerare gli username tramite:
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à.
Per tentare un attacco brute force sulla directory manager, si può usare:
Along with setting various parameters in Metasploit to target a specific host.
Accedere a /auth.jsp
può rivelare la password in un backtrace in circostanze fortunate.
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
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
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
Infine, se hai accesso al Tomcat Web Application Manager, puoi caricare e distribuire un file .war (eseguire codice).
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).
Crea il war da distribuire:
Carica il file revshell.war
e accedi ad esso (/revshell/
):
In alcuni scenari questo non funziona (ad esempio versioni obsolete di sun)
Crea index.jsp con questo contenuto:
Puoi anche installare questo (consente upload, download ed esecuzione di comandi): http://vonloesch.de/filebrowser.html
Ottieni una shell web JSP come questa e crea un file WAR:
Il nome del file delle credenziali di Tomcat è tomcat-users.xml
Altri modi per raccogliere le credenziali di Tomcat:
Impara e pratica Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)