Trust

Reconocimiento

Realizaremos la primera fase del reconocimiento utilizando la herramienta Nmap, con los siguientes parámetros:

sudo nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn 172.18.0.2 -oG AllPorts

sudo nmap -sC -sV -p22,80 172.18.0.2 -oN Targeted

Se ha descubierto la versión 9.2p1 de OpenSSH, que es una versión actualizada y, por lo tanto, no es vulnerable a la enumeración de usuarios.

El puerto 80 está expuesto y, utilizando Whatweb, podemos ver las tecnologías que están en funcionamiento detrás de la página. Nos indica inicialmente que es la página por defecto de un servidor Apache.

Examinamos el código fuente de la página en busca de credenciales o algún comentario que se podría haber olvidado. Sin embargo, en esta ocasión, no aplicaba.

Continuamos en la fase de reconocimiento y el siguiente paso es realizar un fuzzing web, específicamente una fuerza bruta de directorios. Para ello, utilizaremos la herramienta Gobuster.

gobuster dir -u http://172.18.0.2/ -w /usr/share/seclists/Discovery/Web-Content/directory-list-lowercase-2.3-medium.txt -x php,html,txt -t 200

Hemos encontrado un directorio llamado "secret.php". Al revisarlo, nos encontramos con lo siguiente:

Explotación

Hemos identificado un posible usuario. Podemos utilizar Hydra para intentar realizar un ataque de fuerza bruta sobre el protocolo SSH.

hydra -l mario -P /usr/share/wordlists/rockyou.txt ssh://172.18.0.2 -t 4

Hemos obtenido la contraseña del usuario mario: chocolate. Ingresamos mediante el protocolo SSH. Echamos un vistazo al /etc/passwd y verificamos que solo hay un usuario.

Escalada de Privilegios

El comando sudo -l muestra una lista de los permisos de sudo que tiene el usuario actual en el sistema. Específicamente, te dice qué comandos puedes ejecutar con sudo y bajo qué condiciones.

sudo -l

Esto indica que el usuario Mario puede ejecutar el binario Vim como Root sin proporcionar una contraseña, lo que nos permite escalar privilegios.

https://gtfobins.github.io/. Este recurso es imprescindible para las escaladas de privilegios en Linux. Buscamos el binario VIM, el cual nos indica cómo escalar a Root.

Ejecutamos esa línea en nuestra terminal para obtener una shell como Root.

Conclusión

En este ejercicio de penetración, hemos seguido varias fases clave:

  1. Reconocimiento: Utilizamos Nmap para identificar servicios y puertos abiertos en el objetivo. Descubrimos que la versión 9.2p1 de OpenSSH está instalada, la cual no es vulnerable a la enumeración de usuarios. También identificamos el puerto 80 expuesto, revelando una página por defecto de un servidor Apache a través de WhatWeb.

  2. Enumeración Adicional: Inspeccionamos el código fuente de la página web sin encontrar credenciales o comentarios útiles. Posteriormente, realizamos un fuzzing de directorios utilizando Gobuster para mapear la estructura del servidor web.

  3. Explotación: Identificamos un posible usuario y empleamos Hydra para intentar un ataque de fuerza bruta sobre el protocolo SSH.

  4. Escalada de Privilegios: Logramos la escalada de privilegios abusando del binario vim sin necesidad de proporcionar una contraseña.

Este ejercicio subraya la importancia de asegurar los binarios con capacidades elevadas y reforzar las configuraciones de servicios críticos como SSH y Apache.

Last updated