🟢Lampiao

Write-up de la máquina Lampiao de Proving Grounds #writeup #walkthrough

Enumeración

Servicios abiertos

Vamos a comenzar enumerando los puertos que tiene abiertos la máquina "Lampiao"

nmap -p- --open --min-rate 2000 -Pn -n -vvv 192.168.209.48

Puerto 22, 80 y 1898 abiertos. Seguimos con el escaneo profundo de estos servicios.

nmap -p22,80,1898 -sVC -Pn -n -vvv 192.168.209.48

Servicios abiertos:

  • Puerto 22 -> SSH -> OpenSSH 6.6

  • Puerto 80 -> HTTP -> ?

  • Puerto 1898 -> HTTP -> Apache httpd 2.4.7

También vemos que estamos ante un CMS Drupal y que existe un archivo robots.txt con 36 entradas, algunas parecen interesantes.

Enumración Web

Comenzamos enumerando el contenido del puerto HTTP.

Enumerando por el sitio Web, encontramos dos nombres de usuario: tiago y Eder.

Vamos a enumerar directorio y archivos interesantes, y por otro lado, sabiendo que es un CMS, vamos a realizar un escaneo automatizado con la herramienta "droopescan".

feroxbuster --url http://192.168.209.48:1898                                        

Pero no hay nada interesante que nos permita avanzar.

droopescan scan -u http://192.168.209.48:1898/

Obtenemos la versión del CMS y que ejecuta Drupal.

Explotación

Método 1 (Drupalgeddon con Metasploit)

searchsploit drupal 7.5.4

Vamos a la herramienta "Metasploit" y buscamos este exploit.

Configuramos el exploit seleccionado.

Y ejecutamos. Tras unos instantes, tendremos acceso a la máquina víctima como "www-data".

Buscamos usuarios en el sistema.

Dentro del directorio "tiago", encontramos la flag local.txt

Método 2 (Brute Force SSH)

En la enumeración inicial del sitio Web, encontramos el nombres de dos posibles usuarios. Al mismo tiempo, recordamos que se está ejecutando un servicio SSH en el puerto 22. Vamos a realizar un ataque de fuerza bruta para tratar de localizar la contraseña de este servicio para alguno de los dos usuarios. Otra cosa que vamos a hacer es crear una lista de palabras a partir del contenido del sitio Web que utilizaremos como lista de contraseñas.

Para crear la lista de contraseñas, ejecutamos de la siguiente manera:

cewl http://192.168.209.48:1898/?q=node/1 -w passwords.txt

Creamos también una lista con el nombre de los dos usuarios.

Para ejecutar el ataque de fuerza bruta, utilizaremos "medusa"

medusa -h 192.168.209.48 -M ssh -U users -P passwords.txt -t 40 -f 2>/dev/null

Tras un momento, obtenemos contraseña para el usuario "tiago".

Las credenciales SSH son "tiago:Virgulino"

Ahora tratamos de iniciar sesión con estas credenciales aprovechando el servicio SSH.

Volvemos a buscar la flag local.txt

Elevación de privilegios

Una vez tenemos acceso a la máquina víctima, el siguiente paso será la elevación de privilegios. Comenzamos enumerando que binarios puede ejecutar el usuario "tiago" como "root" sin contraseña.

sudo -l

"tiago" no puede ejecutar "sudo". Enumeramos archivos con permiso SUID. Pero no hay nada interesante. Vamos a enumerar la versión de Linux y kernel que se están ejecutando en el sistema.

cat /etc/*release

Cargamos en la máquina víctima el script "Linux Exploit Suggester". Lo vamos a cargar utilizando la función "scp" para enviar el archivo a través de SSH.

scp les.sh [email protected]:/home/tiago

Si consultamos el directorio del archivo "tiago" ya podemos ver el script. Damos permisos de ejecución, y ejecutamos el script.

chmod +x les.sh
./les.sh

La máquina objetivo es vulnerable a "DirtyCow". Vamos a probar este. Descargamos en nuestra máquina. Una vez completada la descarga, enviamos el exploit al objetivo haciendo uso de nuevo de la función "scp" para enviar el archivo a través de SSH.

scp 40847.cpp [email protected]:/home/tiago

Compilamos el archivo.

chmod +x 40847.cpp
g++ -Wall -pedantic -02 -std=c+11 -pthread -o dcow 40847.cpp -lutil

Ejecutamos el exploit generado.

./dcow -s

Ya tenemos acceso a la máquina objetivo con permisos máximos. Vamos a por la flag proof.txt

Last updated