Vacaciones
Last updated
Last updated
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.17.0.2 -oG AllPorts
sudo nmap -sC -sV -p22,80 172.17.0.2 -oN Targeted
whatweb
http://172.17.0.2
Actualmente, tenemos dos servicios expuestos: el puerto 22 para SSH y el puerto 80 para HTTP, ejecutando Apache en su versión 2.4.29. Por ahora, no disponemos de credenciales para acceder al puerto 22 SSH. Vamos a centrar nuestra atención en verificar el puerto 80 HTTP.
Al explorar el puerto 80 HTTP, inicialmente solo encontramos una página en blanco. Sin embargo, al examinar el código fuente de esta página, descubrimos información interesante:
Durante nuestra auditorÃa del puerto 80 HTTP, inicialmente solo encontramos una página en blanco. Sin embargo, al revisar el código fuente de esta página, descubrimos información relevante que podrÃa ser útil para la enumeración de usuarios. Con esta pista en mente, procederemos a realizar un ataque por fuerza bruta al puerto 22 SSH, centrándonos en el usuario "Camilo" utilizando Hydra.
Acceso Exitoso al Usuario "Camilo" a Través de SSH
Hemos obtenido con éxito la contraseña del usuario "Camilo". Utilizando esta información, logramos acceder al sistema mediante una conexión SSH sin problemas.
En nuestra revisión de la máquina, hemos identificado tres (3) usuarios. Procedimos a examinar los posibles vectores de escalada de privilegios para evaluar cualquier oportunidad de obtener mayores niveles de acceso.
Al ejecutar el comando sudo -l
, verificamos que el usuario "Camilo" no está incluido en el grupo de sudoers. Esto indica que el usuario no tiene permisos para ejecutar comandos con privilegios elevados mediante sudo
.
Recordemos la pista que hemos encontrado:
<!-- De: Juan Para: Camilo, te he dejado un correo importante... -->
Nos dirigimos al directorio /var
y revisamos sus subdirectorios. En el directorio mail
, encontramos un subdirectorio llamado camilo
. Al acceder a este subdirectorio, descubrimos un archivo de texto que contiene credenciales.
Accedemos como Usuario "Juan".
Al ejecutar el comando sudo -l
, hemos identificado que el usuario "Juan" tiene permisos para ejecutar el binario /usr/bin/ruby
como root sin necesidad de proporcionar una contraseña. Este privilegio podrÃa ser utilizado para llevar a cabo una escalada de privilegios.
Dado que el usuario "Juan" puede ejecutar /usr/bin/ruby
como root sin necesidad de una contraseña, nos dirigimos a GTFOBins y buscamos ruby
. La guÃa proporcionada en el sitio nos muestra cómo utilizar este binario para escalar privilegios a root.
Acceso y Usuarios:
Accedimos al sistema con el usuario "Camilo" mediante SSH, pero él no tiene permisos de sudo
.
Credenciales Encontradas:
Descubrimos un archivo con credenciales en el directorio /var/mail/camilo
.
Permisos de sudo
del Usuario "Juan":
El usuario "Juan" puede ejecutar /usr/bin/ruby
como root sin contraseña, lo que permite una posible escalada de privilegios.
Escalada de Privilegios:
Utilizando la información de GTFOBins, podemos explotar el binario ruby
para obtener acceso root.