Está en la página 1de 37

Debemos encontrar 2 banderas.

Primero, a partir de un escaneo de puertos pude saber que


había un servidor web que alojaba un sitio web cuyas funcionalidades y formularios no estaban
operativos. Luego, analizando los scripts JavaScript que se cargan en el sitio web, encontramos
el dominio del sitio web y un subdominio cuyo directorio raíz está siendo protegido por un
login. Además, se logró encontrar un parámetro GET vulnerable a “LFI” que me permitió
observar el contenido del archivo “000-default.conf” que contiene la ruta del archivo
“.htpasswd”, logrando obtener las credenciales para acceder al directorio raíz del subdominio
en el archivo “.htpasswd”. Luego, me encontré con la aplicación “CLIPBUCKET” con la versión
4.0 vulnerable a “File Upload”, logrando cargar un archivo PHP en el servidor web destino con
el fin de obtener una reverse shell. Para la escalada de privilegio, encontré una clave privada
SSH encriptada (cuyo passphrase puedo ser encontrada con “John The Ripper”) del usuario
“server-management” . En la escalada vertical, aproveche la vulnerabilidad “tar wilcard
injection” en el comando de una tarea cron ejecutada por root.
## FASE RECONOCIMIENTO ACTIVO
En este caso debemos acceder al sistema destino y obtener las banderas.
Primero, empezaremos utilizando el comando openvpn y el archivo de
configuración OpenVPN con el fin de establecer una conexión VPN y poder
acceder a los laboratorios donde están las máquinas virtuales.

Además, la plataforma de Tryhackme nos muestra la dirección IP de la máquina


VulnNet.
## FASE ESCANEO Y ENUMERACION
Ahora pasaremos a la fase de Escaneo y Enumeración con el fin de poder escanear
los puertos del sistema destino. Además, obtendremos los servicios que se han
levantado en los puertos abiertos, las versiones de los servicios.
Los resultados que obtenemos son:

 Un programa servidor SSH que se ejecuta en el puerto 22.


 Un programa servidor HTTP que se ejecuta en el puerto 80. Ademas, podemos
observar la etiqueta “title” de una pagina web, por lo que podemos deducir que
hay un sitio web alojado en el servidor web.
Ahora accederemos al sitio web a traves de mi navegador web.
Podemos observar que varios de los formularios del sitio web no son funcionales ya
que no tienen el atributo “action” ni el atributo “method” donde se especifique la ruta
hacia donde se enviaran los datos de los formulario ni el metodo que se utilizara.
Ademas, otras funcionalidades no esta desarrolladas debido a que te redirecciona al
mismo lugar como “Forgot Password”.
Ahora realizaremos fuerza bruta de directorios en el directorio raiz del servidor web en
busca de recursos escondidos.
 index__d8338055.js
 index__7ed54732.js
Podemos observaru que no encontramos algun recurso interesante, solo encontramos
directorios donde se suelen almacenar los archivos JavaScript, CSS utilizados para el
desarrrollo del sitio web. Ademas, podemos observar que el contenido de los archivos
JavaScript estan ofuscados. Para ello utilizaremos la opcion “Pretty Print”({}) de la
herramienta “Debugger” integrada en el navegador web con el fin de observar sus
contenidos de manera mas legible.
Podemos observar que logramos encontrar un dominio llamado “vulnnet.thm” con su
subdominio “broadcast”. Ademas, nos encontramos un parametro GET “referer” .
Ahora para acceder al dominio “vulnnet.thm”, y a su subdominio tendremos que
agregarlos a nuestro archivo “/etc/hosts” asociado con la dirrecion IP del servidor web
destino.
Podemos observar que el dominio le pertenece al sitio web encontrado anteriormente.
Ademas, el directorio raiz del subdominio “broadcast” esta protegido por un metodo de
autenticacion que no logre bypassear a patir de credenciales por defecto como
“admin:password” o “admin:root” o “administrator:root” o “root:password” o
“administrator:password” o “root:root”.
## FASE GANAR ACCESO O EXPLOTACION O HACKING
Ahora le asignaremos al parametro GET “referer” la ruta del archivo
“/etc/passwd”( inherente a los sistemas basados en Linux/Unix) con el fin de saber si
este parametro es vulnerable a LFI.
Podemos observar que logramos observar el contenido del archivo “/etc/passwd” en el
codigo fuente, por lo tanto, nos topamos con la vulnerabilidad LFI en el parametro GET
“referer”. Ahora probaremos con diversos tipos de rutas de archivos conocidos en un
sistema Linux de manera automatizada con el modulo “Intruder” de Burp Suite con el
fin de saber si podemos acceder a los registros de acceso del servidor web o al
archivo sshd_config o al directorio .ssh del usuario local “server-management” con el
fin de buscar alguna clave privada SSH.
Podemos observar que no logramos obtener ninguna clave privada SSH en ninguna
de las dos rutas. Ademas, tampoco tenemos acceso al registro de acceso del servidor
web. Debido a esto estuve pensando en obtener el archivo “.htpaccess” donde se
define las configuraciones de acceso y permisos sobre un directorio para cuando
quieres implementar un mecanismo de autenticacion para protegelo. Ademas, este
archivo solia ubicarse dentro del directorio que se iva a aplicar las configuraciones de
acceso y permisos, pero en este caso viene a ser el directorio raiz de un subdominio el
que se ha protegido con un mecanismo de configuracion. Por tal motive tuve que
investigar sobre la ubicación del archivo “.htpaccess” para este caso.
Podemos observar que el archivo de configuracion /etc/apache2/sites-enabled/000-
default.conf esta la seccion “Directory” donde se establece las configuraciones de
acceso y permiso sobre el directorio raiz del subodiminio. Ademas, en la drectiva
“AuthUserFile” encontramos la ruta del archivo oculto “.htppaswd” que suele
almacenar las credenciales para autenticarse en el mecanismo de autenticacion
configurado en el subdominio “broadcast”.
Podemos observar que logramos encontrar las credenciales para autenticarnos en el
mecanismo de autenticacion configurado en el acceso al subdominio “broadcast”, pero
la contraseña esta en forma de hash con un prefijo conocio. Ahora, utilizaremos John
The Ripper para crackear el hash, y poder acceder al subdominio.
Podemos observar que se logro crackear el hash de la contraseña, logrando acceder
al directorio raiz del subdominio. Luego, fuismos redirigidos a un sitio web de
alojamiento de videos y que ha sido configurado y esta siendo gestionado con la
aplicación CLIPBUCKET. Ahora buscaremos cual es la version instalada de
CLIPBUCKET con el fin de buscar algun exploit publico para tal version.
Podemos observar que logramos saber la version del ClipBUCKET instalado en el
servidor web a patir de un comentario en el codigo fuente de la pagina de inicio del
sitio web. Ademas, logramos encontrar una vulnerabilidad “File Upload” en las
versiones inferiores a “4.0-Release 49022”. Ahora intentremos cargar una archivo PHP
que nos genere una reverse shell.
Podemos que logramos obtener acceso al sistem destino mediante la vulnerabilidad
“File Upload”. Ahora daremos un tratamiento a nuestra reverse shell para que sea mas
interactiva y estable.

## FASE ESCALADA DE PRIVILEGIOS


Ahora buscaremos vectores de escalada de privilegios vertical de manera manual en
el sistema de archivos del sistema destino.

 Tareas Cron
Podemos observar que hay una tarea cron establecido en el archivo crontab general.
Ademas, esta tarea cron consiste en ejecutar una script Bash con los privilegios de
root de manera periodica y automatizada. Ademas, si observamos el contenido del
script nos topamos con una vulnerabilidad bastante conocido llamada “tar wilcard
injection” pero es necesario tener acceso al directorio home del usario local “server-
management”.

 Enumeracion de archivos del usuario “server-management” con el permiso de


escritura y lectura habilitado
Podemos observar que nos topamos con un archivo comprimido con GZIP. Luego, nos
topamos con un archivo tar donde logramos extraer una clave privada SSH encriptada.
Ahora, utilizaremos John The Ripper para crackear la passphrase solicitada para
desencriptar la clave privada.
Podemos observar que se logro encontrar el passphrase necesario para desencriptar
la clave privada. Luego, logramos obtener acceso al sistema destino siendo el usuario
server-management mediante la clave privada SSH. Ahora explotaremos la
vulnerabilidad “tar wilcard injection” para asignarle el bit SUID al archivo binario bash.

De esta logramos asignarle el bit SUID al archivo binario bash, logrando ejecutar una
shell Bash con privilegios de root. Ahora buscaremos las dos banderas.

También podría gustarte