🟠DC-4
Write-up de la máquina DC:4 de Proving Grounds #writeup #walkthrough
Last updated
Write-up de la máquina DC:4 de Proving Grounds #writeup #walkthrough
Last updated
Como siempre, comenzamos enumerando los servicios abiertos que tiene la máquina objetivo.
Tres servicios abiertos, puertos 22,80. El siguiente paso será el escaneo profundo de estos servicios.
Servicios abiertos:
Puerto 22 -> SSH -> OpenSSH 7.4
Puerto 80 -> HTTP -> nginx 1.15.10
La máquina DC:4 está ejecutando un servicio Web en el puerto 80. Vamos a enumerar su contenido.
Vemos un login de inicio de sesión. Podemos probar inyecciones y fuerza bruta para intentar acceder al sitio autenticado. Antes vamos a enumerar directorios y archivos de sistema.
Nada interesante, solo algunas redirecciones que tendremos en cuenta más adelante.
Podemos echar un vistazo al código fuente del sitio Web en busca de evidencias.
Nada destacable. Volvamos al formulario de inicio de sesión.
Dado que tenemos un formulario de inicio de sesión, vamos a tratar de encontrar las credenciales para conectarnos a la zona autenticada del sitio Web. Vamos a utilizar como nombre de usuario "admin" y el diccionario "rockyou.txt". El método normal sería utilizar el nombre de usuario y el diccionario en la herramienta Intruder de Burp, pero en la versión Community es muy lenta. Así que vamos a crear nuestro propio script para hacer fuerza bruta sobre el formulario.
Ahora solo necesitamos la URL, un diccionario de nombres de usuarios y otro de contraseñas para poder ejecutar.
Obtenemos las credenciales admin:123456. Vamos a probarlas en el formulario de login.
Esto parece interesante.
Se pueden ejecutar comandos en el sistema. Vamos a tratar de interceptar la petición con Burp para intentar ejecutar una shell reversa con "nc".
Interceptamos la petición con Burp.
El siguiente paso será cambiar el comando para enumerar con una shell con "nc".
Generamos la petición. Al mismo tiempo debemos poner a la escucha un oyente "nc" en le puerto 1234.
Obtenemos acceso al sistema como "www-data".
Vamos a enumerar. En el directorio donde se aloja el sitio Web no encontramos ningún archivo interesante. Nos desplazamos al directorio /home, donde encontramos tres directorios con los nombres de tres posibles usuarios de sistema: /charles, /jim y /sam. Primero comprobamos si son usuarios de sistema, consultando el archivo /etc/passwd.
Son los tres usuarios del sistema. Vamos a enumerar el contenido de cada uno de los directorios existentes.
En el directorio de "charles" no hay archivos que nos aporten vectores para continuar con la elevación.
Continuamos con el directorio del usuario "jim".
En este directorio encontramos varias cosas interesantes. Un directorio /backups, la flag local.txt y un ejecutable test.sh. Comenzamos por la flag local.txt
Seguimos por el archivo test.sh
Parece que nada interesante. Pero lo guardamos, puede ser interesante.
Vamos con el directorio /backups
Encontramos un archivo de respaldo con contraseñas. Vamos a copiarlas en un archivo de nuestra máquina de ataque.
Finalizamos la enumeración con el usuario "sam".
Tampoco vemos nada interesante.
Teniendo en cuenta que la información interesante la hemos encontrado en el directorio del usuario "jim" y que en la máquina se está ejecutando un servicio SSH, vamos a realizar otro ataque de fuerza bruta para tratar de encontrar la contrasela del usuario "jim" dentro del diccionario de passwords que hemos encontrado.
La contraseña para el usuario "jim" es "jibril04".
Dentro del directorio del usuario "jim", encontramos un email.
Esto nos puede hacer pensar que existe una carpeta /var/mail. Vamos a tratar de enumerarla.
El directorio existe y contiene un archivo llamado "jim". ¿Sospechoso? Veamos su contenido.
Es otro email. Contiene una password (^xHhA&hvim0y) que puede estar relacionada con el usuario "charles".
Pivotamos de "jim" a "charles".
Vamos a consultar si el usuario "charles" puede ejecutar algún archivo como "root" sin contraseña.
Después de la enumeración, verificamos los permisos de sudo para "charles2 y descubrimos que puede ejecutar el editor teehee como root sin contraseña. Vamos a añadir a "securiters" en el archivo etc/passwd utilizando echo y teehee de la siguiente manera:
Solo queda buscar la flag proof.txt
Y ya estaría acabada la máquina DC-4 de la plataforma Proving Grounds.