Tomcat
Try Hard Security Group
Descubrimiento
Normalmente se ejecuta en el puerto 8080
Error común de Tomcat:
Enumeración
Identificación de la Versión
Para encontrar la versión de Apache Tomcat, se puede ejecutar un comando simple:
Ubicación de los Archivos del Manager
Identificar las ubicaciones exactas de los directorios /manager
y /host-manager
es crucial, ya que sus nombres podrían ser modificados. Se recomienda realizar una búsqueda de fuerza bruta para localizar estas páginas.
Enumeración de Nombres de Usuario
Para versiones de Tomcat anteriores a la 6, es posible enumerar nombres de usuario a través de:
Credenciales Predeterminadas
El directorio /manager/html
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 básica HTTP, con credenciales comunes siendo:
admin:admin
tomcat:tomcat
admin:
admin:s3cr3t
tomcat:s3cr3t
admin:tomcat
Estas credenciales pueden ser probadas usando:
Otro directorio notable es /manager/status
, que muestra la versión de Tomcat y del sistema operativo, lo que facilita la identificación de vulnerabilidades.
Ataque de Fuerza Bruta
Para intentar un ataque de fuerza bruta en el directorio del gestor, se puede usar:
Vulnerabilidades Comunes
Divulgación de Rastreo de Contraseñas
Acceder a /auth.jsp
puede revelar la contraseña en un rastreo bajo circunstancias afortunadas.
Codificación de URL Doble
La vulnerabilidad CVE-2007-1860 en mod_jk
permite la codificación de URL doble para la travesía de directorios, lo que habilita el acceso no autorizado a la interfaz de gestión a través de una URL especialmente diseñada.
Para acceder a la interfaz web de gestión de Tomcat, ve a: pathTomcat/%252E%252E/manager/html
/examples
Las versiones de Apache Tomcat de la 4.x a la 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 verificados en busca de acceso no autorizado 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
Explotación de Travesía de Directorios
En algunas configuraciones vulnerables de Tomcat puedes obtener acceso a directorios protegidos en Tomcat usando la ruta: /..;/
Por ejemplo, podrías acceder a la página del administrador de Tomcat accediendo a: www.vulnerable.com/lalala/..;/manager/html
Otra forma de evadir rutas protegidas usando este truco es acceder a http://www.vulnerable.com/;param=value/manager/html
RCE
Finalmente, si tienes acceso al Administrador de Aplicaciones Web de Tomcat, puedes cargar e implementar un archivo .war (ejecutar código).
Limitaciones
Solo podrás implementar un WAR si tienes suficientes privilegios (roles: admin, manager y manager-script). Estos 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).
Metasploit
Metasploit es una herramienta de código abierto ampliamente utilizada para el desarrollo y ejecución de exploits contra una máquina remota. Ofrece una amplia gama de módulos que pueden ser utilizados para realizar pruebas de penetración en sistemas y aplicaciones web.
Shell inverso MSFVenom
Crear el archivo war para desplegar:
Sube el archivo revshell.war
y accede a él (/revshell/
):
revshell.war
y accede a él (/revshell/
):Conexión de shell inversa y de enlace con tomcatWarDeployer.py
En algunos escenarios esto no funciona (por ejemplo, en versiones antiguas de sun)
Descargar
Shell inverso
Shell de conexión
Usando Culsterd
Método manual - Web shell
Cree index.jsp con este contenido:
Método Manual 2
Obtén un web shell JSP como este y crea un archivo WAR:
POST
El nombre del archivo de credenciales de Tomcat es tomcat-users.xml
Otras formas de obtener credenciales de Tomcat:
Otras herramientas de escaneo de tomcat
Referencias
Grupo de Seguridad Try Hard
Última actualización