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)
Normalmente se ejecuta en el puerto 8080
Error común de Tomcat:
Para encontrar la versión de Apache Tomcat, se puede ejecutar un comando simple:
Esto buscará el término "Tomcat" en la página de índice de documentación, revelando la versión en la etiqueta de título de la respuesta HTML.
Identificar las ubicaciones exactas de los directorios /manager
y /host-manager
es crucial ya que sus nombres podrían ser alterados. Se recomienda una búsqueda de fuerza bruta para localizar estas páginas.
Para versiones de Tomcat anteriores a la 6, es posible enumerar nombres de usuario a través de:
El /manager/html
directorio es particularmente sensible ya que permite la carga y despliegue de archivos WAR, lo que puede llevar a la ejecución de código. Este directorio está protegido por autenticación HTTP básica, siendo las credenciales comunes:
admin:admin
tomcat:tomcat
admin:
admin:s3cr3t
tomcat:s3cr3t
admin:tomcat
Estas credenciales se pueden probar usando:
Otro directorio notable es /manager/status
, que muestra la versión de Tomcat y del sistema operativo, ayudando en la identificación de vulnerabilidades.
Para intentar un ataque de fuerza bruta en el directorio del administrador, se puede usar:
Along with setting various parameters in Metasploit to target a specific host.
Acceder a /auth.jsp
puede revelar la contraseña en un backtrace bajo circunstancias afortunadas.
La vulnerabilidad CVE-2007-1860 en mod_jk
permite la codificación doble de URL para la traversía de rutas, lo que permite el acceso no autorizado a la interfaz de gestión a través de una URL especialmente diseñada.
Para acceder a la web de gestión de Tomcat, ve a: pathTomcat/%252E%252E/manager/html
Las versiones de Apache Tomcat de 4.x a 7.x incluyen scripts de ejemplo que son susceptibles a la divulgación de información y ataques de scripting entre sitios (XSS). Estos scripts, listados de manera exhaustiva, deben ser revisados para detectar accesos no autorizados y posibles explotaciones. Encuentra más información aquí
/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
En algunas configuraciones vulnerables de Tomcat puedes obtener acceso a directorios protegidos en Tomcat usando la ruta: /..;/
Así que, por ejemplo, podrías acceder a la página del gestor de Tomcat accediendo a: www.vulnerable.com/lalala/..;/manager/html
Otra forma de eludir rutas protegidas usando este truco es acceder a http://www.vulnerable.com/;param=value/manager/html
Finalmente, si tienes acceso al Gestor de Aplicaciones Web de Tomcat, puedes subir y desplegar un archivo .war (ejecutar código).
Solo podrás desplegar un WAR si tienes suficientes privilegios (roles: admin, manager y manager-script). Esos detalles se pueden encontrar en tomcat-users.xml generalmente definido en /usr/share/tomcat9/etc/tomcat-users.xml
(varía entre versiones) (ver sección POST).
Crea el war para desplegar:
Sube el archivo revshell.war
y accede a él (/revshell/
):
En algunos escenarios esto no funciona (por ejemplo, versiones antiguas de sun)
Crea index.jsp con este contenido:
También podrías instalar esto (permite la carga, descarga y ejecución de comandos): http://vonloesch.de/filebrowser.html
Obtén un shell web JSP como este y crea un archivo WAR:
El nombre del archivo de credenciales de Tomcat es tomcat-users.xml
y este archivo indica el rol del usuario dentro de tomcat.
Ejemplo:
Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)