# rustscan -a 192.168.208.62 -- -sCV -n -Pn -oN nmap_tcp
PORT STATE SERVICE REASON VERSION
22/tcp open ssh syn-ack ttl 61 OpenSSH 7.4 (protocol 2.0)
| ssh-hostkey:
| 2048 44:7d:1a:56:9b:68:ae:f5:3b:f6:38:17:73:16:5d:75 (RSA)
| ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCZz8rKSxgnT5mqHeBPqGlXFj2JJdq21roV/2M8/+0F5/5D1XsaXmbktDpKILFdBcYnLtPxWstxPq+FTbWAJad2uk3BPYWRxidK2dOozE5rKLCyxtkEqs/lO09pM6VKQUi83y5wMwI+9Akkir0AMruuFUSpeCIBt/L98g8OYxzyTsylQATnPxJrrQOWGUQYAvX6jIs25n6d3rmbXk/crg1ZfAVFEHEeR9Y6Bjc2o5YWjMp3XbOZyC4yYseoM6eH2yCSDwu1DzPYrU6cNMfxBf863w1uyhiFk3eIb5jud3kfoxIq6t5JU2DXNhEd4rdXuuinZUSxWiCpHLZ1FCi4tkX5
| 256 1c:78:9d:83:81:52:f4:b0:1d:8e:32:03:cb:a6:18:93 (ECDSA)
| ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBA1gj1q7mOswnou9RvKwuX8S7WFBhz2NlaSIpYPQmM0I/vqb4T459PgJcMaJOE+WmPiMnDSFsyV3C6YszM754Hc=
| 256 08:c9:12:d9:7b:98:98:c8:b3:99:7a:19:82:2e:a3:ea (ED25519)
|_ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBzTSyInONbcDxdYULbDvI/HyrQm9m9M5b6Z825jnBEF
53/tcp open domain syn-ack ttl 61 NLnet Labs NSD
80/tcp open http syn-ack ttl 61 nginx 1.16.1
|_http-server-header: nginx/1.16.1
| http-methods:
|_ Supported Methods: GET HEAD OPTIONS
|_http-favicon: Unknown favicon MD5: 11FB4799192313DD5474A343D9CC0A17
|_http-title: Home | Mezzanine
4505/tcp open zmtp syn-ack ttl 61 ZeroMQ ZMTP 2.0
4506/tcp open zmtp syn-ack ttl 61 ZeroMQ ZMTP 2.0
8000/tcp open http syn-ack ttl 61 nginx 1.16.1
|_http-open-proxy: Proxy might be redirecting requests
|_http-title: Site doesn't have a title (application/json).
| http-methods:
|_ Supported Methods: GET HEAD POST OPTIONS
|_http-server-header: nginx/1.16.1
Explotación
Buscando por internet sobre ZeroMQ encuentro el siguiente exploit el cual tiene buena pinta
Como podemos ver en la siguiente imagen, podemos ejecutar comandos en la máquina víctima
Es hora de la reverse shell, pero al parecer no llega
Despues de probar muchos intentos me doy cuneta que no puedo, así que lo que vamos a hacer es modificar el /etc/passwd de la siguiente manera
# Ejecutamos el siguiente comando
openssl passwd ola
# Output:
$1$e0X6VNDV$6MN0Hii/3Ek1oH6RhiFHX1
Una vez con este output tenemos que copiar el /etc/passwd de la máquina o el nuestro y lo subimos a la máquina pero en este caso al poder coger el de la propia máquina utilizaremos esa
añadimos lo que hemos creado antes de la siguiente manera:
una vez que tenemos el archivo con la ultima línea puesta, lo subiremos a la máquina:
Al haberle añadido en el /etc/passwd el root:/root:/bin/bash pues me conecto directamente como root.
Manera Alternativa
Cuando no te esta devolviendo la reverse shell pero si ejecutas comando lo cual puedes verificar con la prueba de la ping y el tcpdump abierto lo cual hicimos antes, otra manera que siempre hay que probar es mandar las reverse shell por los puertos que tienen abiertos la máquina víctima, en este caso el puerto 4505 esta abierto y además es donde se ejecuta la vulnerabilidad: