🟢CyberSploit1
Write-up de la máquina CyberSploit1 de Proving Grounds #writeup #walkthrough
Last updated
Write-up de la máquina CyberSploit1 de Proving Grounds #writeup #walkthrough
Last updated
Comenzamos la resolución de este CTF con la enumeración de los servicios abiertos.
Dos servicios abiertos, puertos 22 y 80. El siguiente paso será la enumeración profunda de estos dos servicios.
Puertos abiertos:
Puerto 22 -> SSH -> OpenSSH 5.9
Puerto 80 -> HTTP -> Apache httpd 2.2.22
Tenemos un servidor Apache ejecutándose en el puerto 80. Vamos a ver el contenido de este servidor en el navegador Web.
En principio nada interesante. Vamos con la enumeración de directorios.
Hay un archivo robots.txt, vamos a enumerar su contenido.
Parece un base 64. Vamos a descifrarlo. Tenemos varias formas de hacerlo. En esta ocasión, lo vamos a hacer desde terminal ejecutando el siguente comando.
¿Qué podrá significar "cybersploit{youtube.com/c/cybersploit}"? De momento, lo dejamos anotado.
Otra cosa que vamos a hacer es buscar información interesante en el código fuente del sitio Web.
Obtenemos el nombre de usuario "itsskv".
Registramos el nombre de usuario que identificamos y continuamos explorando otras posibilidades que podrían ayudarnos a explotar la máquina de destino. Sin embargo, nuestros esfuerzos no rindieron frutos.
Hasta ahora, hemos descubierto un nombre de usuario en la página HTML y una frase descifrada en el archivo robots.txt. Sin embargo, como se indicó durante la exploración de puertos, el puerto 22 estaba accesible en la máquina de destino. Dado que tenemos un nombre de usuario válido pero no hay pistas sobre la contraseña, decidimos intentar usar la frase del archivo robots.txt como contraseña para iniciar sesión en SSH.
Obtenemos acceso a la máquina objetivo. El siguiente paso será buscar la flag local.txt.
Comenzamos enumerando nuestra máquina de destino a través del acceso de usuario SSH con el fin de obtener acceso como "root". Para lograr esto, ejecutamos varios comandos que nos permitieron recopilar información sobre el sistema operativo y la versión del kernel.
Para verificar la versión del kernel de la máquina de destino, utilizamos el comando "uname -a". Luego, revisamos el archivo "/etc/issue" para obtener detalles sobre el sistema operativo, el cual en este caso es Ubuntu y se encuentra en la versión 12.04.5.
Posteriormente, realizamos una búsqueda en la web para encontrar exploits disponibles para esta configuración y afortunadamente descubrimos una vulnerabilidad de escalada de privilegios local en el sistema operativo.
Descargamos el exploit y vemos como se ejecuta.
Enviaremos el exploit a la máquina objetivo, en concreto al directorio /tmp. Una vez traspasado, compilaremos el código c y lo ejecutaremos. Para enviar el archivo vamos a levantar un servidor con HTTP.
Compilamos y damos permisos de ejecución al exploit.
Tras realizar todos los pasos anteriores, ya tendremos acceso a la máquina víctima como "root".
Solo quedará buscar la flag proof.txt para finalizar la resolución de este CTF.