Tomcat
Entdeckung
Es läuft normalerweise auf Port 8080
Häufiger Tomcat-Fehler:
Enumeration
Versionsidentifikation
Um die Version von Apache Tomcat zu finden, kann ein einfacher Befehl ausgeführt werden:
Dies wird nach dem Begriff "Tomcat" auf der Dokumentationsindexseite suchen und die Version im Titel-Tag der HTML-Antwort offenbaren.
Standort der Manager-Dateien
Die genauen Standorte der /manager
und /host-manager
Verzeichnisse zu identifizieren, ist entscheidend, da ihre Namen möglicherweise geändert werden. Eine Brute-Force-Suche wird empfohlen, um diese Seiten zu finden.
Benutzername Enumeration
Für Tomcat-Versionen älter als 6 ist es möglich, Benutzernamen durch folgende Methoden zu enumerieren:
Standardanmeldeinformationen
Das /manager/html
Verzeichnis ist besonders sensibel, da es das Hochladen und Bereitstellen von WAR-Dateien ermöglicht, was zu einer Codeausführung führen kann. Dieses Verzeichnis ist durch eine grundlegende HTTP-Authentifizierung geschützt, wobei häufige Anmeldeinformationen sind:
admin:admin
tomcat:tomcat
admin:
admin:s3cr3t
tomcat:s3cr3t
admin:tomcat
Diese Anmeldeinformationen können getestet werden mit:
Ein weiteres bemerkenswertes Verzeichnis ist /manager/status
, das die Tomcat- und OS-Version anzeigt und bei der Identifizierung von Schwachstellen hilft.
Brute Force Angriff
Um einen Brute Force Angriff auf das Manager-Verzeichnis zu versuchen, kann man verwenden:
Along with setting various parameters in Metasploit to target a specific host.
Common Vulnerabilities
Password Backtrace Disclosure
Der Zugriff auf /auth.jsp
kann unter glücklichen Umständen das Passwort in einem Backtrace offenbaren.
Double URL Encoding
Die CVE-2007-1860-Schwachstelle in mod_jk
ermöglicht eine doppelte URL-Codierung von Pfadüberquerungen, die unbefugten Zugriff auf die Verwaltungsoberfläche über eine speziell gestaltete URL ermöglicht.
Um auf die Verwaltungswebseite von Tomcat zuzugreifen, gehen Sie zu: pathTomcat/%252E%252E/manager/html
/examples
Apache Tomcat Versionen 4.x bis 7.x enthalten Beispielskripte, die anfällig für Informationslecks und Cross-Site-Scripting (XSS)-Angriffe sind. Diese Skripte, die umfassend aufgelistet sind, sollten auf unbefugten Zugriff und potenzielle Ausnutzung überprüft werden. Finden Sie hier mehr Informationen
/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
Path Traversal Exploit
In einigen anfälligen Konfigurationen von Tomcat können Sie auf geschützte Verzeichnisse in Tomcat zugreifen, indem Sie den Pfad verwenden: /..;/
Sie könnten also beispielsweise in der Lage sein, die Tomcat-Manager-Seite zu erreichen, indem Sie auf Folgendes zugreifen: www.vulnerable.com/lalala/..;/manager/html
Eine andere Möglichkeit, geschützte Pfade mit diesem Trick zu umgehen, besteht darin, http://www.vulnerable.com/;param=value/manager/html
aufzurufen.
RCE
Schließlich, wenn Sie Zugriff auf den Tomcat Web Application Manager haben, können Sie eine .war-Datei hochladen und bereitstellen (Code ausführen).
Limitations
Sie können eine WAR nur bereitstellen, wenn Sie genug Berechtigungen (Rollen: admin, manager und manager-script) haben. Diese Details finden Sie normalerweise in tomcat-users.xml, die in /usr/share/tomcat9/etc/tomcat-users.xml
definiert ist (es variiert zwischen den Versionen) (siehe POST section).
Metasploit
MSFVenom Reverse Shell
Erstellen Sie die WAR-Datei zum Bereitstellen:
Laden Sie die
revshell.war
-Datei hoch und greifen Sie darauf zu (/revshell/
):
Bind- und Reverse-Shell mit tomcatWarDeployer.py
In einigen Szenarien funktioniert dies nicht (zum Beispiel bei alten Versionen von Sun)
Herunterladen
Reverse-Shell
Bind-Shell
Verwendung von Culsterd
Manuelle Methode - Web-Shell
Erstellen Sie index.jsp mit diesem Inhalt:
Du könntest dies auch installieren (ermöglicht Upload, Download und Befehlsausführung): http://vonloesch.de/filebrowser.html
Manuelle Methode 2
Holen Sie sich eine JSP-Web-Shell wie diese und erstellen Sie eine WAR-Datei:
POST
Der Name der Tomcat-Anmeldeinformationen-Datei ist tomcat-users.xml
Andere Möglichkeiten, um Tomcat-Anmeldeinformationen zu sammeln:
Andere Tomcat-Scanning-Tools
Referenzen
Last updated