# Avengers

### 🔍 **RECONOCIMIENTO**

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

```bash
ping -c 1 192.168.1.68
```

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%2FceMN3C3NN0FZkTmbFYUv%2Fimage.png?alt=media&#x26;token=a0ba713c-e8ad-4cae-b980-a8682e68cac2" alt=""><figcaption></figcaption></figure>

A continuación, se realiza el comando:

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

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%2FHktAefTXpTiBgkQRTrzk%2Fimage.png?alt=media&#x26;token=27638929-7510-40f4-9a8e-f22ce97e7528" alt=""><figcaption></figcaption></figure>

Como podemos observar durante el escaneo, los puertos 21, 22, 80 y 3306 están abiertos. El **puerto 21** pertenece al servicio **FTP** (vsFTPd 3.0.5) y permite acceso anónimo. El puerto **22** está asociado con **SSH** (OpenSSH 8.9p1) para acceso remoto seguro. El **puerto 80** indica la presencia de un servidor **HTTP**, mientras que el **puerto 3306** corresponde a **MySQL**, lo que sugiere una base de datos en ejecución.

### 🔎 **EXPLORACIÓN**

Se utiliza el comando:

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

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%2FKZceLRzIVsmVAjODJKFr%2Fimage.png?alt=media&#x26;token=600c6594-ba3c-41e9-a7b7-263a5395933f" 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 una página de Avengers y de hacking.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FIrjxbLdQVbxCmhd107jB%2Fimage.png?alt=media&#x26;token=56c4ec33-1e86-480a-a783-2e89b3e22739" alt=""><figcaption></figcaption></figure>

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FkibWeJHmrN7DUk8lAUOJ%2Fimage.png?alt=media&#x26;token=8eca57a0-5a27-47b5-80bb-49320de43942" alt=""><figcaption></figcaption></figure>

Ahora buscaremos más directorios con la herramienta **Gobuster** a través de:&#x20;

```bash
gobuster dir -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x html,htm,php,txt,xml,js -u http://192.168.1.68
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FdHJgUmXzm63agmjQOsVH%2Fimage.png?alt=media&#x26;token=acd22bfc-637a-451f-983e-09a15059b18c" alt=""><figcaption></figcaption></figure>

Tras esto accederemos a todos los directorios por si contienen información relevante.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FX3DOoK94cz2FLJrnyDJO%2FCaptura%20de%20pantalla%202024-08-31%20212538.png?alt=media&#x26;token=3bb26319-d2a0-48e3-b6ed-aa6b999b5709" alt=""><figcaption></figcaption></figure>

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FFv29YSZP3zpKoWeYazLE%2Fimage.png?alt=media&#x26;token=df3c1c73-1990-40b7-8ff3-3dbf2030c282" alt=""><figcaption></figcaption></figure>

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FAkEOw7qnij29LnArfet2%2FCaptura%20de%20pantalla%202024-08-31%20212746.png?alt=media&#x26;token=65b9b9da-c803-43fa-93c2-898d942e955f" alt=""><figcaption></figcaption></figure>

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2Fgct4CFvnU33GBcO84BpD%2FCaptura%20de%20pantalla%202024-08-31%20212843.png?alt=media&#x26;token=c2ffa4a8-e7d7-4e86-a2a5-b9c5756051f2" alt=""><figcaption></figcaption></figure>

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2F7N4ugKmrjkBfdWgojmaA%2FCaptura%20de%20pantalla%202024-08-31%20213001.png?alt=media&#x26;token=f52e5875-0390-41ae-b28f-b82db6495db1" alt=""><figcaption></figcaption></figure>

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FWOOlVerKWlVNyszHah0Y%2FCaptura%20de%20pantalla%202024-08-31%20213142.png?alt=media&#x26;token=56f39c16-5808-414c-a433-e43ad9fa8123" alt=""><figcaption></figcaption></figure>

Al inspeccionar el código fuente de `database.html` contenía información relevante ya que había una contraseña en **base64**.&#x20;

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FgepFpCI2InZ4Uw17sESp%2FCaptura%20de%20pantalla%202024-08-31%20213206.png?alt=media&#x26;token=c0110c89-cf29-4545-bee1-c676bffcd926" alt=""><figcaption></figcaption></figure>

Tras decodificarlo varias veces tuvimos el resultado de **fuerzabruta**.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FKasATkNcL1luX9ZuFfRD%2Fimage.png?alt=media&#x26;token=fb470fce-dcf0-4911-8f7e-b490a30d4cef" alt=""><figcaption></figcaption></figure>

Por lo que probaré a meter eso en el buscador del principio.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2F4Fut2yVbkhIbTvMME16P%2Fimage.png?alt=media&#x26;token=e633f8c2-27d3-40bf-8312-ac4cb260e714" alt=""><figcaption></figcaption></figure>

Hemos encontrado al usuario que se nos mencionaba en el comentario del código fuente llamado **Hulk**. Seguimos explorando el resto de servicios por lo que nos conectamos al servicio **FTP** a través del usuario **anonymous** y listamos el contenido y nos lo descargamos con los comandos.

```bash
get FLAG.txt
get credential_mysql.txt.zip
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FSPV1Ka8F6GWOBcfRcmav%2FCaptura%20de%20pantalla%202024-08-31%20214903.png?alt=media&#x26;token=e7d2e74d-5f2f-45fb-bdc6-2d6b5c0ceac4" alt=""><figcaption></figcaption></figure>

Revisamos el contenido de esos archivos. El fichero`.zip` lo dejamos ya que se nos requiere una contraseña.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FKIhwnA4m6MR3KI1zAyJg%2Fimage.png?alt=media&#x26;token=30001e8f-3ccc-4750-bd4b-157303b927a6" alt=""><figcaption></figcaption></figure>

Nos conectamos a través del servicio **SSH** con el usuario descubierto anteriormente y con su contraseña.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FcdiHO9ER4Qjk3ALf4Vel%2Fimage.png?alt=media&#x26;token=efd9c16d-02c8-4999-80e2-1dda414de315" alt=""><figcaption></figcaption></figure>

Indagando entre las distintas carpetas descubrimos la manera de descomprimir el archivo `.zip` descargado anteriormente.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FzhGQHhJhQ0NOZeJM4rqw%2Fimage.png?alt=media&#x26;token=9c720681-0c82-4a03-b699-e7a3e3bdbf91" alt=""><figcaption></figcaption></figure>

También descubrimos una flag.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FC44OUvVqUJ50mVXU8BMH%2Fimage.png?alt=media&#x26;token=3d853c6a-ad65-4987-b963-ec9919363249" alt=""><figcaption></figcaption></figure>

Descomprimimos la carpeta utilizando la contraseña que obtuvimos. Luego, generamos un diccionario que combine la palabra **fuerzabruta** con **4** caracteres adicionales.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FqtUKgjT8EyhgQVoVrylL%2Fimage.png?alt=media&#x26;token=2e40b476-4fcb-4331-9785-295565e0e2d5" alt=""><figcaption></figcaption></figure>

### &#x20;🚀 **EXPLOTACIÓN**

Generamos un diccionario para realizar fuerza bruta con **Hydra** posteriormente para entrar en la base de datos.

```bash
seq -w 0000 3000 | sed 's/^/fuerzabruta/' > diccionario.txt
```

```bash
hydra -l hulk -P diccionario.txt mysql://192.168.1.68
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FPiZOQ0sf4gZeshFzVH9c%2Fimage.png?alt=media&#x26;token=8e28662d-d0f2-46a2-97de-8de838150712" alt=""><figcaption></figcaption></figure>

Nos conectamos a la base de datos **SQL** con las credenciales obtenidas.

```bash
mysql -h 192.168.1.68 -u hulk -p
```

Indagamos en la base de datos y descubrimos la contraseña del usuario **Stiff** por lo que nos conectaremos a él.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FQyAQ0fTLtwGdSXxIJgAw%2Fimage.png?alt=media&#x26;token=fded91af-6f0b-43cb-9141-5d4848525bb8" 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%2FmYdhkowD6j3B6m70Zlym%2Fimage.png?alt=media&#x26;token=11295c5d-0ff5-4956-84aa-8b700613a4b3" alt=""><figcaption></figcaption></figure>

Observamos que podemos ejecutar una **bash** como **root** usamos eso para convertirnos en **root**.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FSWZwooM6dEO6iJOuRFzq%2Fimage.png?alt=media&#x26;token=f53c632c-30de-4d2c-9930-35aff400335a" alt=""><figcaption></figcaption></figure>

Hemos **completado con éxito** todas las etapas del proceso y **cumplido con todos los requisitos**.

¡Buena suerte con la búsqueda de las flags! Recuerda analizar cada detalle, examinar los archivos y servicios a fondo, y utilizar todas las herramientas a tu disposición para descubrirlas. ¡La clave está en la persistencia y en no dejar piedra sin mover! ¡Adelante, hacker! 💻🔍🚀
