Swamp
Difficulty: Easy
Recon
Empezamos haciendo un reconocimiento de red para identificar el host de la máquina víctima:
sudo nmap -sn 192.168.56.0/24
Host identificados:
192.168.56.1
192.168.56.100
192.168.56.102 (objetivo)
192.168.56.101 (nuestra Kali atacante)
Le realizamos un escaneo con nmap:
Desglose del comando:
-sC: Ejecuta los scripts por defecto de nmap (NSE, Nmap Scripting Engine), orientados a información básica y detección de vulnerabilidades comunes.
-sV: Detecta la versión de los servicios que corren en los puertos abiertos.
-p-: Escanea todos los puertos TCP posibles (del 1 al 65535), no solo los más comunes.
--open: Muestra únicamente los puertos que están abiertos, ocultando los cerrados/filtrados.
-T5: Usa la “máxima velocidad” en el escaneo, reduciendo los tiempos de espera entre pruebas. Es el nivel más agresivo y puede generar más tráfico en la red.

Puertos identificados:
22/tcp
53/tcp
80/tcp
El puerto 80 abierto nos indica que hay un sitio web, hay un redirect hacia el dominio swamp.nyx. Lo añadiremos al archivo /etc/hosts de nuestra máquina atacante:

Comprobamos accediendo desde el navegador de la máquina atacante:

DNS Zone Transfer
Con este tipo de ataque vamos a intentar obtener información del dominio DNS (por ejemplo, subdominios)

Descubrimos múltiples subdominios, los añadiremos al archivo /etc/hosts:

Vemos que los subdominios hacen referencia a la película de Shrek (la ciénaga, el asno, fiona, etc). Podemos entrar en los subdominios añadidos.
Visitamos farfaraway.swamp.nyx desde el navegador:

Inspeccionamos el código fuente de la página y vemos que se importa el archivo script.js:

Analizamos el código del archivo en el Debugger y localizamos el siguiente string codificado:

Parece estar codificado en base64, vamos a hacer un decode:

Obtenemos las credenciales shrek:putopesaoelasno
Anteriormente, hemos identificado que el puerto 22/tcp está abierto, es el puerto que se utiliza para el servicio SSH, vamos a intentar acceder con las credenciales que hemos obtenido.


Privilege Escalation
Hemos obtenido acceso con el usuario shrek al sistema objetivo, vamos a probar si podemos ejecutar como root.

Se identifica que se puede ejecutar el binario header_checker.
Revisamos que necesita header_checker para ejecutarse:

Probaremos a ver que es lo que hace header_checker:

Lo que está haciendo header_checker es un curl.
Probaremos a inyectar un comando justo después de utilizar el binario para ver si se ejecuta:

Ejecutamos el comando como root, por lo que podríamos inyectar comandos que se ejecuten como root en el sistema objetivo.
Ponemos otra consola en nuestra máquina atacante a la escucha:

Desde el terminal con la sesión SSH shrek@swamp ejecutamos el comando para recibir la conexión en la máquina atacante:


Podemos ejecutar comandos en el sistema objetivo:

Mostramos el contenido de user.txt que es una de las flags.
Buscamos y mostramos la flag root.txt que sería la otra que nos quedaría:

Última actualización