Base

Base
Sistema operativo Dificultad Fecha de Lanzamiento Creador
Linux Principiante 13 Setiembre 2024 rodgar

Reconocimiento

Lanzamos una traza ICMP a la máquina objetivo para comprobar que tengamos conectividad.

Base

Enumeración inicial

Realizamos un escaneo con nmap para descubrir que puertos TCP se encuentran abiertos en la máquina víctima.

nmap -sS -p- --open --min-rate 5000 -Pn -n <IP> -oG open_ports -vvv

Base

Lanzamos una serie de script básicos de enumeración propios de nmap, para conocer la versión y servicio que esta corriendo bajo los puertos.

nmap -sCV -p <IP> -oN services_scan -vvv

Base

Explotación inicial

Puerto 80

Base

Base

Puerto 8080

Base

Vemos que al ingresar un texto en la campo de búsqueda y darl buscar se envía un parámetro query en la url con nuestro valor. Podemos probar si es vulnerable a SQLInjection.

Base

Base

Efectivamente, es vulnerable a SQL Inection. Logramos leer los registros de varios usuarios.

Teniendo en cuenta la cantidad de campos que devuelve la base de datos, podemos recavar más información.

Base

Base

Base

Cargamos el archivo /etc/passwd

Base

Podemos buscar claves SSH pero no encontramos ninguna.

Lo que podemos hacer, es realizar fuerza bruta al protocolo SSH con hydra para ver si logramos encontrar la contraseña.

Base

pedro:secret

Genial, tenemos las credenciales de pedro.

Base

Leemos la flag user.txt.

Base

Base

Base

Enumeración / Movimiento lateral

Si miramos los grupos del usuario pedro, vemos que pertence al grupo adm el cual puede leer archivos de log.

Base

Base

Mirando los archivos de log, encontramos la contraseña del usuario flate, por lo que nos movemos a este usuario.

Si nos fijamos en la carpeta “/home/” veremos que hay un usuario llamado “flate”, por lo que podriamos leer algunos logs pero filtrando por la palabra “flate”:

grep "flate" /var/log/.....

luego de leer algunos, vemos esto en /var/log/apache2/access.log.1:

203.0.113.56 - flate [12/Sep/2024:12:03:55 +0000] "POST /login HTTP/1.1" 401 4812 "http://example.com/login" "Mozilla/5.0 (Windows NT 10.0; Win64; x64)" "username=flate&password=HPAbcmOgSjidaoWkXUQjw"

Ahora que tenemos la contraseña de “flate”, escalaremos nuevamente con su flate y su contraseña.

flate:HPAbcmOgSjidaoWkXUQjw

Elevación de privilegios

Si ejecutamos sudo -l para ver si podemos ejecutar algo como root, veremos lo siguiente:

Matching Defaults entries for flate on TheHackersLabs-Base:
    env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin, use_pty

User flate may run the following commands on TheHackersLabs-Base:
    (root) NOPASSWD: /usr/bin/awk

Por lo que si buscamos en GTFObins veremos que podemos escalar con awk si ejecutamos esto:

sudo awk 'BEGIN {system("/bin/bash")}'

De esta forma, ya podemos leer la flag de root.txt.

Base

Base