# 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="/files/QJFUp3RHua2KDYMb6awV" 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="/files/UKf1Ij4PGk4cgwX9Um1v" 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="/files/jn3nd5YfFYr9qvbEQj8L" 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="/files/C5tzPOMYRqlzKFFphKwo" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/dgwM7TgBKYNfrHNCq6Y9" 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="/files/RhqymO3nawsTvfBJneP2" alt=""><figcaption></figcaption></figure>

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

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

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

<figure><img src="/files/9h0ZwR034aDjynu5YgYe" alt=""><figcaption></figcaption></figure>

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

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

<figure><img src="/files/rUu8JG2ddPZQwEvtfNLt" 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="/files/zwfJxwJ6D6TScPKGkXbY" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/61Y81pgPdrVLi2mZCPHe" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/Ad2DIz2R5Z7djBTHUTu2" 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="/files/XiHNQX9i5zdcnsgQAHuK" 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="/files/b3t7LWbjuv02oSKgJ6pG" 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="/files/otfqQBieLkjAdodLCwUQ" alt=""><figcaption></figcaption></figure>

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

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

También descubrimos una flag.

<figure><img src="/files/8JnBAnL2MkJwWhFRg7BW" 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="/files/JExFnAGauPWMVQQ2kqsH" 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="/files/UOJaryWOZyUBczlcP1zk" 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="/files/GmGBfEMRnGwzoAgGxOQv" 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="/files/5C39TEaRidzHjbTyVZDN" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/sBcf4xCycHRQwPWYkbW1" 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! 💻🔍🚀


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://beafn28.gitbook.io/beafn28/writeups/the-hacker-labs/avengers.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
