Para um serviço a ser vulnerável a Shell Shock, três condições devem ser atendidas:
* É necessário definir uma variável de ambiente, cujo valor (não necessariamente o nome) é controlado pelo invasor e, particularmente, devem começar com "() {";
* Deve chamar o bash;
* O sistema deve estar executando uma versão vulnerável do bash;
Para testar se você está vulnerável:
CVE-2014-6271
env X='() { :; }; echo "CVE-2014-6271 vulnerable"' bash -c id
CVE-2014-7169
env X='() { (a)=>\' bash -c "echo date"; cat echo
CVE-2014-7186
bash -c 'true <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF <<EOF' || echo "CVE-2014-7186 vulnerable, redir_stack"
CVE-2014-7187
(for x in {1..200} ; do echo "for x$x in ; do :"; done; for x in {1..200} ; do echo done ; done) | bash || echo "CVE-2014-7187 vulnerable, word_lineno"
Como corrigir:
RedHat, CentOS, Fedora:
sudo update bash
Ubuntu, Debian:
sudo apt-get update && sudo apt-get install --only-upgrade yum bash
OSX:
Correção da Apple para o OSx
Possíveis vetores de ataque:
* CGI* SSH
* DHCP
* Inetd
* Serviços de Email: Postfix, Exim, qmail, Procmail
* OpenVPN
* Stunnel
POC:
https://github.com/mubix/shellshocker-pocs/blob/master/README.mdVerificar automaticamente se um site está vulnerável:
http://check.shellshock.info/Fonte: http://blog.sucuri.net/2014/09/bash-shellshocker-attacks-increase-in-the-wild-day-1.html
May The Source be with You!