> For the complete documentation index, see [llms.txt](https://beafn28.gitbook.io/beafn28/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://beafn28.gitbook.io/beafn28/writeups/tryhackme/brooklyn-nine-nine.md).

# Brooklyn Nine Nine

✍️ Autor: Fsociety2006 🔍 Dificultad: Fácil

### 🔍 **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="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FKTMqt5K5RcXsRon7CjxQ%2Fimage.png?alt=media&amp;token=6f762287-235c-41ec-b8cd-4cf58c8f9cd2" 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="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2F4CrzI4wK7cfXSSpnMqvi%2Fimage.png?alt=media&amp;token=2a0f364b-3117-4f86-8428-1e36e49c1e84" 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="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FwXVoD3Gpt3EYK7DvVC47%2Fimage.png?alt=media&amp;token=96414a05-ef8c-48f0-8c64-558705aab0df" 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="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FpPpXlARxIOsw5vF3t23L%2Fimage.png?alt=media&amp;token=4173a413-ebca-4243-8288-f768b0aab601" 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="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FGkvyhaOt54ZkEZ5om9AX%2Fimage.png?alt=media&amp;token=0af099c4-d3cf-49db-ba48-7371e20fce52" 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="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FZGNkV4nSTgw41Ayh5NfH%2Fimage.png?alt=media&amp;token=051f6997-ef9e-4691-8dcf-5d92037761c7" 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="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2Fu8NvFlIp3bmA9azrxVMj%2Fimage.png?alt=media&amp;token=f9f756cc-a0c8-42eb-bc4b-d169595c64f7" 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="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FlQQkz0nwCkFR8qu0tsWu%2Fimage.png?alt=media&amp;token=db6a67f0-ca50-42f2-a628-f94846741e9d" 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="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FtE8erTCshlVOap1xbBuI%2Fimage.png?alt=media&amp;token=f8d063fd-cb4d-4c96-b129-935eecb2ab8a" alt=""><figcaption></figcaption></figure>

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

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FDmDBcbrRa9LkkbHxXnSA%2Fimage.png?alt=media&amp;token=d5c07bc9-bceb-400c-a18c-46e3386b222f" alt=""><figcaption></figcaption></figure>

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FTmLEtCub1PNXEJZk8UYW%2Fimage.png?alt=media&amp;token=e9026e57-37e8-48d8-8ece-2fa94ae801fd" 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="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FQSZbfIPQqvHBmokzJGvF%2Fimage.png?alt=media&amp;token=903724cb-e162-4f06-97a9-b553564eb637" 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="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2Fc6M3ca8wlH755jg4lzAC%2Fimage.png?alt=media&amp;token=e8bcb28d-0b34-488b-9e82-a9ed395b133d" 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="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2F7OVryli2Nca5VRCNSDtr%2Fimage.png?alt=media&amp;token=a8dbc96b-4f1c-4b76-bd4b-b0623b8ffc11" 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="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FxqA00CqhnvtPYPYeOcyv%2Fimage.png?alt=media&amp;token=b35df800-3c12-40fb-ad98-1760a068a95b" 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="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2F0uwCRCdF6t74q6U9JW3c%2Fimage.png?alt=media&amp;token=5eb604f7-973c-4f89-b2a5-e6dd6dfb9651" 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="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FwwZpfYdvYdmzHgzjiQu9%2Fimage.png?alt=media&amp;token=c313e3e0-0a37-4dfc-a300-5939516f50b1" 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="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FaL6FWgh5cBaTfgYpGQl6%2Fimage.png?alt=media&amp;token=ce493187-a4f5-4734-a66b-7b97776a5a0e" alt=""><figcaption></figcaption></figure>
