DAV - TryHackMe
SUMMARY
Debemos encontrar 2 banderas. Primero, a partir de un escaneo de puertos pude saber que había un servidor web ejecutándose en el puerto 80. Luego, realice fuerza bruta de directorios en el directorio raíz del servidor web, logrando obtener el directorio “webdav” que estaba protegido por un mecanismo de autenticación que consistía en un login. Además, debido al nombre de este directorio, pude deducir que el servidor web tenía habilitado la extensión “WebDAV”, por lo que logre enumerar los tipos de archivos que podía cargar en el directorio “webdav”, y logre cargar un archivo PHP con el fin de ejecutar una reverse Shell. Luego, en la escalada de privilegios, me di cuenta que el usuario “www-data” podía ejecutar el comando “cat” con los privilegios de root mediante el comando “sudo”, por lo que pude observar el contenido de los archivos localizados en directorios “home” del usuario “merlin” y “root”, que contenían las dos banderas.
FASE RECONOCIMIENTO
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 Dav.
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 se logro encontrar un recurso escondido llamado “webdav” y debido al codigo de estado HTTP del a respuesta HTTP, deducimos quee esta protegido por un mecanismo de autenticacion como un login. Ademas, otra cosa que nos llama la atencion es el nombre, ya que “WebDAV” viene a ser un protcolo que permite cargar, editar, eliminar, y mover archivos y directorios desde servidores web. Por lo tanto, este servidor web si tiene esta extension activada.
Ademas, si probamos credenciales comunes como “admin:password”, “admin:root”, “administrator:password”, “root:root” en el login del directorio “webdav”, no lograremos autenticarnos. Por lo tanto, debemos buscar las credenciales por defecto al momento de la instalacion de la extension en el servidor web.
FASE GANAR ACCESO O EXPLOTACION O HACKING
Logramos encontrar las credneciales por defecto configurados en el mecanismo de autenticacion del directorio “webdav” donde se almacenara nuestro archivos que cargemos en el servidor web a traves del protocolo “WebDAV”. Ahora con “davtest” podremos saber que tipo de archivos podemos cargar en el directorio “webdav”.
Podemos observar que podemos cargar archivos PHP al directorio “webdav”. Ahora cargaremos un archivo PHP en el directorio “webdav” del servidor web mediante la herramienta “cadáver” con el fin de ejecutar una reverse Shell.
Podemos que logramos obtener acceso al sistem destino debido a una mecanismo de autenticacion con credenciales por defecto. 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.
Podemos observar que podemos ejecutar el comando “cat” con los privilegios de root mediante el comando “sudo”. Debido a ello podemos obtener observar el contenido de los dos archivos que contiene las dos banderas. Hasta este punto hemos logrando cumplir con nuestro objetivo de capturar las banderas pero en cuanto a la esalada de prvilegios, no. Debido a ello es que observe el contenido del archivo “/etc/shadow” para intentar crackear los hashes de las contraseñas de los usuarios “merlin” y “wampp”.
Como pueden observar no logre crackear los hashes de los usuarios. Ademas, intente ejecutar algunos exploits que explotaban vulnerabilidades asociadas a la version del Kernel, pero tampoco tuve suerte. Debido a esto, se les debo la escalada para otro momento…