Pesquisadores da Arbor Networks analisaram a nova versão do malware russo Amargeddon, utilizado exclusivamente para ataques de DDoS, que passou a integrar o exploit Apache Killer desenvolvido pelo Kingcope.Este exploit explora a vulnerabilidade Apache Range Header DoS CVE-2011-3129 publicada em agosto de 2011.
Segundo os pesquisadores da Arbor, esta versão do malware suporta novos comandos dependendo da aplicação existente no alvo:
.apacheflood, .vbulletinflood, .phpbbflood,
A vulnerabilidade presente nas versões 1.3.x, 2.0.x até a 2.0.64, e 2.2.x até a 2.2.19 do webserver Apache causa indisponibilidade do serviço httpd ao tentar responder as requisições do conteúdo de uma URL ( principalmente arquivos ) em um grande número de “partes” indiviuais ou byte ranges.
O seguinte questionamento poderá vir a tona:
“Porque o Alexos está falando desta vulnerabilidade relativamente antiga e que foi corrigida semanas após a descoberta. Provavelmente este malware não atingirá nenhuma alvo”
Para responder este plausível questionamento pesquisei no Shodan por Apache/2.2.19 e eis que surge o grande resultado:
Top countries matching your search
* United States 32,731
* United Kingdom 3,005
* Canada 2,467
* Czech Republic 1,708
* Russian Federation 1,620
Agora o resultado da pesquisa por Apache/2.0.64:
Top countries matching your search
* United States 12,529
* Japan 3,123
* United Kingdom 872
* Canada 726
* Russian Federation 529
Os resultados obtidos mostram que se todos este alvos estiverem infectados (se já não estão!) pode se tratar de uma grande BOTNET com fins específicos.
Mitigando o ataque
Existem diversas ações para mitigarmos este ataque:
Ação 1 – Atualizar o Apache ( + Recomendada )
Ação 2 – Usar mod_rewrite para detectar um grande número de ranges ignorando ou rejeitando as requisições maliciosas.
SetEnvIf Range (,.*?){10,} bad-range=1
RequestHeader unset Range env=bad-range
CustomLog logs/range-CVE-2011-3192.log common env=bad-range
Ação 3 – Limitar o tamanho do campo de requisição usando o parâmetro LimitRequestFieldSize. No exemplo abaixo limitamos para 200 bytes que é um valor sustentável para o principais CMSs.
LimitRequestFieldSize 200
Veja mais em:
Breaking Armageddon’s latest and greatest crypto reveals some interesting new functionality
DDoS botnet clients start integrating the Apache Killer exploit