# Brooklyn Nine Nine

### 🔍 **RECONOCIMIENTO**

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

```bash
ping -c 1 10.10.255.194
```

para verificar la conectividad de red.

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

A continuación, se realiza el comando:

```bash
nmap 10.10.255.194
```

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

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

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

### 🔎 **EXPLORACIÓN**

Se utiliza el comando:

```bash
sudo nmap -sCV -p21,22,80 -v 10.10.255.194
```

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

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

Seguimos indagando más sobre los puertos y ahora exploramos el servicio **HTTP**. Se ingresó la dirección IP en el navegador, lo que llevó a que la página web sobre la serie **Brooklyn Nine Nine**. Nos indica que hay redimensionarlo para verlo completamente la imagen.&#x20;

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

De primeras, no se nos muestra nada, por lo que revisamos el código fuente por si hay alguna información oculta relevante.

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

Nos menciona sobre la técnica de estenografía por lo que descargamos la imagen para aplicar esas técnicas a la imagen para ver si hay información oculta.

```bash
wget http://10.10.255.194/brooklyn99.jpg
```

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

Ahora que tenemos la imagen, podemos verificar si hay un archivo incrustado en la imagen utilizando el siguiente comando:

```bash
steghide info brooklyn99.jpg
```

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

Se nos muestra que hay un archivo incrustado en la imagen y que está protegido con una contraseña. Sabiendo esto, utilizamos la herramienta **Stegseek** para intentar descifrar la contraseña utilizando la lista de contraseñas comúnmente usada, `rockyou.txt`. El comando sería el siguiente:

```bash
stegseek brooklyn99.jpg /usr/share/wordlists/rockyou.txt
```

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

Logramos descubrir la contraseña y acceder a los datos ocultos, como se muestra a continuación. Parece tratarse de credenciales del usuario **Holt**.

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

Primero intenté iniciar sesión por **SSH** utilizando las credenciales. Así, conseguimos nuestra primera **flag**.

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

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

Ahora que hemos encontrado la bandera de usuario, ¡necesitamos obtener acceso **root**!

Después de iniciar sesión como **Holt** a través de **SSH**, exploramos los directorios en busca de algo útil. Desafortunadamente, no encontramos nada. Dado que ya hemos explorado el servidor web y el acceso por **SSH**, nuestro siguiente paso es verificar si podemos hacer algo con **FTP**. Esto implica comprobar si tiene habilitado el acceso anónimo.

Utilizamos el siguiente comando para ello:

```bash
ftp anonymous@10.10.255.194
```

Listamos el contenido del servidor y vemos que hay un archivo de texto llamado `note_to_jake.txt`. Procedemos a descargarlo a nuestra máquina.

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

Al leer el archivo de texto, encontramos nuestra siguiente gran pista: el usuario **jake** tiene una contraseña débil.

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

### 🚀 **EXPLOTACIÓN**

Con la información obtenida anteriormente, realizamos el comando:

```bash
hydra -l jake-P /usr/share/wordlists/rockyou.txt ssh://10.10.255.194 -t 5
```

que utiliza la herramienta **Hydra** para realizar un ataque de fuerza bruta contra el servicio **SSH** de una máquina con la IP **10.10.255.194**.&#x20;

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

Al realizar el ataque de fuerza bruta, hemos descubierto la **contraseña** de ese usuario. Sabiendo esto, nos conectamos a través de **SSH** al usuario con el comando:

```bash
ssh jake@10.10.255.194
```

<figure><img src="/files/18n1DLMZeJ1qwa5hzFqo" alt=""><figcaption></figcaption></figure>

### 🔐 **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/qOrFPLXGwMPyAJcxDsXO" alt=""><figcaption></figcaption></figure>

Esto muestra que `jake` puede ejecutar el binario `less` con privilegios de sudo. Para ver cómo podemos explotar esto, consultamos [GTFOBins](https://gtfobins.github.io/gtfobins/less/#sudo), que nos proporciona nuestro **exploit**.

Ejecutamos el siguiente comando:

```bash
sudo less /etc/profile
```

Luego, escribimos `!/bin/sh` para abrir una **shell** con privilegios elevados.

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

De inmediato, el símbolo del prompt cambia de `$` a `#`, lo que indica que hemos escalado exitosamente nuestros privilegios a root. Luego, navegamos a `/root` y encontramos nuestra última bandera.

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


---

# 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/writeups/tryhackme/brooklyn-nine-nine.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.
