CyberSploit1 – VULNHUB - Linux - Fácil
Cybersploit es una máquina de tipo CTF diseñada para reforzar conocimientos en pentesting web, enumeración y explotación básica. Inspirada en escenarios del mundo real, esta máquina simula un entorno vulnerable donde es necesario aplicar técnicas comunes como fuzzing, análisis de código y posibles vectores de ejecución remota.
Nuestro primer paso será identificar nuestra ip y buscar la máquina objetivo en la red con la herramienta netdiscover.
Con la ip de la máquina objetivo identificada, realizaremos un escaneo con nmap para descubrir que puertos y servicios tiene habilitado.
Encontramos que el objetivo tiene los puertos 22 y 80 abiertos, Nmap tiene un script básico de enumeración de directorios que utilizaremos para escanear el servicio web (puerto 80)
Una vez terminado el escane0, nos encontramos un documento llamado robots.txt, y, que al acceder a él nos muestra un texto aparentemente codificado.
vista herramienta curl
vista navegador web
este texto a simple vista es ilegible, sin embargo, podemos usar una aplicacion web para descifrarlo.
https://gchq.github.io/CyberChef/
En esta página ponemos el texto cifrado en el input.
al presionar la varita automáticamente descifrará el texto cifrado obteniendo la primera flag.
Al acceder por un navegador web a la máquina objetivo no tendremos más información. Una buena practica es inspeccionar la página web en búsqueda de comentarios o algun tipo de información.
Aquí encontramos un posible usuario llamado itsskv
Como la página web no tienen ningún panel de login probaremos ingresar por el servicio SSH (puerto 22) que nos encontramos disponible en el escaneo inicial.
Para conectarse al servicio debemos usar el siguiente formato.
Luego de intentos fallidos con contraseñas básicas (admin, root, etc) y al no tener más información intentamos ingresar la flag como contraseña cybersploit{youtube.com/c/cybersploit}.
Listamos los archivos y directorios del servicio y nos encontramos con la flag2.txt que al leerla vemos otro texto cifrado. Al igual que el paso anterior, usaremos cyberchef para descifrarla.
Esta vez el texto descubierto está en binario.
Con una sesión activa (SSH) en la máquina víctima, podemos usar el comando uname -a
para obtener información sobre el sistema operativo.
Con esta informacion sabemos que tenemos la versión 3.13.0 de Linux, asi que nuestro siguiente paso será buscar vulnerabilidades sobre esta versión.
En exploit database encontramos un exploit que nos ayudará a escalar privilegios. Una vez descargado lo transferiremos
Para esto abriremos un servidor web en el puerto 8080
Desde la sesión de la máquina comprometida descargaremos el exploit descargado en la máquina atacante.
Usamos gcc para compilar el exploit.c, y este nos dará un nuevo archivo llamado a.out
Y ejecutamos el exploit a.out
Una vez ejecutado el script nos convertimos en usuario root. Ya solo nos queda encontrar la última flag, que normalmente se encuentra en la ruta /root