# MAQUINA ASUCAR ( WORDPRESS + BRUTEFORCE 'HYDRA' + PRIVESC 'PUTTYGEN')

Realice un escaneo de puertos y servicios con una herramienta creada por mi que hace UN escaneo de puertos, luego realizar un reconocimiento con scripts básicos y luego ver la versión del servicio y por ultimo realizar un escaneo de vulnerabilidades.

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

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

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

Ya terminada veo que tengo solo 2 puertos el 22 ssh de versión reciente y el puerto 80 http donde corre un wordpress de versión de 6.5.

Con whatweb voy a verificar las tecnologías que corren en la pagina.

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

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

Ahora que me encuentro dentro de la web, con la extensión wappalyzer veo mas info sobre las tecnologías.

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

Veo que la web no se ve muy bien que digamos, así que haciendo un reconocimiento veo que que hay hay un host virtual llamado asucar.dl lo cual lo voy a agregar a mi /etc/hosts

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

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

Encontré varias cosas como el nombre de la gerente o algo así y demás, pero no va por este lado, así que procedo a realizar una búsqueda de directorios con gobuster.

<figure><img src="/files/3Nf4L1AKxoutoXmAsATj" alt=""><figcaption></figcaption></figure>

La herramienta  varios contenidos así que manos a la obra.

Tengo un panel de login la cual voy a probar algunas credenciales por defecto, pero no tengo acceso tampoco realizando una SQLi.

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

En el directorio trackback me indica que necesita un ID ¿? así que no tengo idea xD.

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

También tengo un xmlrpc.php la cual se me dio por realizar un xxe.

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

Con wpscan voy a ver si me encuentra algo interesante como plugins, usuarios, etc.

<figure><img src="/files/52JTcbNnzI70JAEEkZUv" alt=""><figcaption></figcaption></figure>

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

No me encontró plugins, pero me encontró un usuario llamado wordpress, así que probé este usuario en el panel de login.

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

Al parecer es valido según el error que apareció al colocar una password random.

Realice un fuerza bruta con wpscan para ver si encontraba la password del user wordpress pero no la encontró.

Después me percate que no me encontró plugins y mire el código fuente de la web inicial y por ahí vi algo de plugins lo cual me pareció raro.

Así que con curl grepie por la palabra plugins y se existen plugins y no se por wpscan no me lo encontró.

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

Veo que es vulnerable a un LFI así que manos a la obra a probar si funciona.

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

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

Probé esta PoC y si funciono.

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

Leyendo el /etc/passwd veo que hay un usuario llamado curiosito, así que lo guarde en mi bloc de notas.

Probé si funcionaban en el panel de wordpress.

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

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

Pero nada.

Luego al pensar un poco y no encontrar nada, realice un ataque de fuerza bruta al usuario curiosito en el servicio ssh, la cual me encontró una password xD.

En este caso use HYDRA y MEDUSA.

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

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

Con estas credenciales me logue para acceder a la maquina, como user curiosito.

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

Ya dentro realize un reconocimiento del sistema para buscar la forma de escalar priv para ser root.

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

Haciendo un sudo -l veo que puedo acceder ejecutar como root el binario puttygen, la cual con ayuda de chat gpt pude acceder como root realizando los siguientes pasos.

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

```
puttygen -t rsa -b 2048 -O private-openssh -o ~/.ssh/pwned
```

* **`puttygen`**: Ejecuta el generador de claves PuTTY.
* **`-t rsa`**: Especifica que se generará una clave del tipo RSA.
* **`-b 2048`**: Establece el tamaño de la clave en 2048 bits.
* **`-O private-openssh`**: Define que se exportará en el formato de clave privada de OpenSSH.
* **`-o ~/.ssh/pwned`**: Indica el archivo de salida donde se guardará la clave privada generada.

```
puttygen -L ~/.ssh/pwned >> ~/.ssh/authorized_keys
```

* **`-L`**: Exporta la clave pública desde el archivo `pwned`.
* **`>> ~/.ssh/authorized_keys`**: Añade la clave pública al archivo `authorized_keys`, permitiendo que se use para la autenticación.

```
sudo puttygen /home/curiosito/.ssh/pwned -o /root/.ssh/authorized_keys -O public-openssh

```

* **`sudo`**: Ejecuta el comando con privilegios de supe usuario.
* **`/home/curiosito/.ssh/pwned`**: Especifica la ruta de la clave privada original.
* **`-o /root/.ssh/pwned`**: Copia la clave privada a la carpeta del usuario root.

```
sudo puttygen /home/curiosito/.ssh/pwned -o /root/.ssh/authorized_keys -O public-openssh
```

* **`-o /root/.ssh/authorized_keys`**: Guarda la clave pública en el archivo `authorized_keys` de root.
* **`-O public-openssh`**: Especifica que se exporta la clave pública en formato OpenSSH.

```
ssh -i /home/curiosito/.ssh/pwned root@localhost
```

* **`ssh`**: Inicia una sesión SSH.
* **`-i /home/curiosito/.ssh/pwned`**: Utiliza la clave privada especificada para la autenticación.
* **`root@localhost`**: Intenta conectarse como usuario root en el host local.


---

# 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://1gnotus.gitbook.io/ignotus_pwn/dockerlabs/writeup/maquina-asucar-wordpress-+-bruteforce-hydra-+-privesc-puttygen.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.
