Conficker: o worm que explorou a falha MS08-067 do Windows

Em 23 de outubro de 2008, a Microsoft fez algo raro: lançou um patch fora do ciclo mensal, sem esperar a próxima terça-feira de atualizações. O boletim MS08-067 corrigia uma falha no serviço Server do Windows, e a empresa avisou que já havia código de ataque circulando. Cerca de um mês depois surgiu o worm que transformou essa falha em epidemia: o Conficker. Quase vinte anos depois, ele ainda é citado em relatório de segurança como exemplo de quanto custa deixar máquina sem patch.
O que era a falha MS08-067
A vulnerabilidade ficava no serviço Server, que o Windows usa para compartilhar arquivos e impressoras pela rede, e era acionada por uma requisição RPC especialmente montada. Resultado: execução remota de código sem autenticação. Em sistemas como o Windows 2000, XP e Server 2003, bastava a máquina estar alcançável pela rede para ser atacada, sem o usuário clicar em nada.
Segundo a própria Microsoft, o patch saiu fora de ciclo justamente porque havia exploração ativa. Um exploit público apareceu pouco depois, e o Conficker começou a circular em novembro de 2008.
O que é o Conficker?
O Conficker (também chamado Downadup ou Kido) é um worm de Windows que se espalha pela rede explorando a falha MS08-067 e que transforma as máquinas infectadas em uma botnet. Como é um worm, ele se copia sozinho de máquina em máquina, sem depender de anexo ou de clique.
Como ele se espalhava e se escondia
As primeiras versões atacavam apenas pela falha de RPC. Variantes posteriores, como a Conficker B, ganharam outros caminhos: pendrives com o recurso de execução automática e compartilhamentos de rede protegidos por senhas fracas, tentadas por lista. Se o seu parque tinha senha de administrador igual em várias máquinas, o worm aproveitava.
Para não ser derrubado, ele também tentava se proteger: bloqueava o acesso a sites de fabricantes de antivírus e ao Windows Update, o que dificultava a limpeza justamente nas máquinas que precisavam do patch.
Por que a botnet era tão difícil de derrubar?
Porque o Conficker não dependia de um servidor fixo: cada máquina infectada gerava, por algoritmo, uma lista de domínios para buscar instruções. É o conceito de domain generation algorithm (DGA). Quem controlava a botnet só precisava registrar um desses domínios na hora certa. Quem tentava combatê-la precisava prever e bloquear os domínios de todos os dias.
Foi o que fez o grupo de resposta formado em torno do worm. Em 12 de fevereiro de 2009, a Microsoft anunciou uma parceria com empresas e entidades do setor, entre elas ICANN, Symantec, VeriSign e F-Secure, e ofereceu US$ 250 mil por informação que levasse à prisão e condenação dos responsáveis. A variante que mudaria o padrão de domínios a partir de 1º de abril de 2009 gerou uma expectativa enorme na imprensa, e o dia passou sem o apocalipse prometido.
Quantas máquinas foram infectadas?
Não existe número exato, e as estimativas variam conforme a fonte e o ano. Pesquisadores do grupo de resposta chegaram a relatar milhões de máquinas infectadas, e uma análise da ESET de 2010 ainda falava em cerca de 6,5 milhões de hosts. O ponto importante não é o número fechado: é que a falha tinha patch disponível desde outubro de 2008, e o worm prosperou mesmo assim. O Computerworld mostrou, um ano depois, que cerca de 10% dos sistemas continuavam sem a correção.
O que dá para fazer hoje
O Conficker em si está praticamente aposentado, mas o desenho do ataque se repete. A mesma lógica de serviço SMB exposto e sem patch apareceu no WannaCry em 2017. Ações práticas:
- Atualize o Windows e retire de produção o que não recebe mais patch. Sistema sem suporte é alvo permanente.
- Não exponha SMB (portas 139 e 445) à internet e segmente a rede interna para que uma máquina infectada não alcance todas as outras.
- Use senhas de administrador local únicas em cada máquina. Senha repetida é a rota de propagação preferida desse tipo de worm.
- Desative a execução automática de mídia removível e desconfie de pendrive achado por aí, como no caso do BadUSB.
- Monitore tráfego DNS incomum: muitas consultas a domínios aleatórios que não existem é o rastro típico de DGA.
A lição maior
O Conficker não precisou de uma falha desconhecida. Precisou de uma falha conhecida e corrigida que milhões de máquinas demoraram a receber. Vale o mesmo para o Morris Worm de 1988, o primeiro worm da internet: a história de segurança é, em boa parte, a história de patch que não foi aplicado.
Se quiser seguir no mesmo trilho, leia sobre o Sasser, outro worm que derrubou o Windows XP por falha sem clique.
Fontes: Microsoft (boletim MS08-067 e comunicado de 12/02/2009 sobre a resposta ao Conficker), Help Net Security, Computerworld e ESET/WeLiveSecurity.




Comentários