Este artigo foi escrito pelo RNP (http://www.csirt.pop-mg.rnp.br), e achei que disponibilizando aqui seria de muita ajuda, já que um número muito grande de pessoas foi atingido por esse "bot" e há ainda os que acham que estão seguros ou pior, ainda estão infectados e não sabem.
O Conficker, também conhecido como Downadup ou Kido é uma família de Worms que infecta o sistema operacional Windows. Foi detectado em Outubro de 2008 e, segundo estudos, infectou mais de 12 milhões de sistemas ao redor do mundo em Janeiro de 2009. O malware se propaga através de três vetores principais:
1. Explorando uma vulnerabilidade no servico “Servidor” do Windows (SVCHOST.EXE - TCP/445), cuja falha ja foi corrigida pelo alerta MS08-067 da Microsoft;
2. Executa ataques de força bruta contra redes compartilhadas, tantando adivinhar a senha de acesso do administrador;
3. Infecta dispositivos removíveis normalmente utilizados em diversos computadores (pen drives, cartoes de memoria USB, etc.).
A infecção pelo worm traz a possibilidade de execução distribuída de ações:
-
DDoS, execução de comandos, envio de Spam, download e execução de outros aplicativos, etc.
-
Favorece o mau uso da rede - Política de uso da Rede Ipê
-
“transmissão de dados ou materiais considerados ilegais”
-
“transmissão de mensagens ou material de propaganda não solicitadas pelo destinatário” ? Spam
-
“atividades que contribuam para ineficiência ou esgotamento dos recursos na rede”
-
“atividades que interrompam ou prejudiquem a utilização dos Serviços de Rede por outros usuários”
A comunicação entre os worms é realizada por P2P, e o mesmo pode atualizar-se sem consultar uma única central. Uma curiosidade é que o Worm foi uma das primeiras aplicações conhecidas a usar criptografia por MD6 (para esconder o conteúdo do tráfego). O Worm se adapta ao contexto da máquina e da rede local: ele levanta informações do host infectado, como velocidade de banda, redes vizinhas, país de origem etc e reage de maneira distinta. Uma máquina com conexão mais lenta, por exemplo, perfaz varreduras utilizando menos recursos da rede, para dificultar sua detecção.
As primeiras variantes do Worm tentam conectar nos seguintes endereços para levantar informações sobre a máquina (Data/Horário/Velocidade/IP/País de origem):
Nas versões iniciais do malware, também tenta-se fazer requisicões HTTP nos endereços “http://IP/search?q=%d”, sendo que o %d identifica o total de máquinas infectadas explorando a falha do MS08-067:
1235655088.939 705 192.168.0.80 TCP_MISS/404 795 GET http://143.215.143.11/search?q=269 - DIRECT/143.215.143.11 text/html
1235656814.423 535 192.168.7.1 TCP_MISS/404 648 GET http://83.68.16.6/search?q=98 - DIRECT/83.68.16.6 text/html
1235657258.919 838 192.168.0.76 TCP_MISS/000 24 GET http://149.20.56.32/search?q=194 - DIRECT/149.20.56.32 -
O malware desabilita as atualizações automáticas do Windows e bloqueia acesso a domínios e sites de segurança/anti-vírus com as seguintes palavras: [1]
| spyware |
malware |
rootkit |
defender |
| microsoft |
symantec |
norton |
mcafee |
| trendmicro |
sophos |
panda |
etrust |
| computerassociates |
f-secure |
kaspersky |
jotti |
| f-prot |
nod32 |
eset |
grisoft |
| drweb |
centralcommand |
ahnlab |
esafe |
| avast |
avira |
quickheal |
comodo |
| clamav |
ewido |
fortinet |
gdata |
| hacksoft |
hauri |
ikarus |
k7computing |
| norman |
pctools |
prevx |
rising |
| securecomputing |
sunbelt |
emsisoft |
arcabit |
| cpsecure |
spamhaus |
castlecops |
threatexpert |
| wilderssecurity |
windowsupdate |
nai |
ca |
| avp |
avg |
vet |
bit9 |
| sans |
cert |
networkassociates |
|
Versões mais novas do Worm se adaptam à situações distintas, bloqueando domínios diferentes e obtendo informações de outros lugares para dificultar sua detecção.
Tabela comparativa entre as variantes do Worm Conficker. [2]
| Nome da variante |
Data da detecção |
Vetores de infecção |
Propagação da atualização |
Técnicas de autodefesa |
Ação Terminal |
|
Conficker A
|
21/11/2008 |
* NetBIOS
- Explora a vulnerabilidade MS08-067 |
* HTTP
- Downloads de trafficconverter.biz
- Downloads diários de qualquer um dos 250 domínios pseudo-aleatórios em 5 Top-Level Domains |
Nenhuma |
Atualiza-se para o Conficker B, C ou D |
|
Conficker B
|
2008-12-29 |
* NetBIOS
- Explora a vulnerabilidade MS08-067
- Ataques de dicionário no compartilhamento $ADMIN
* Mídias Removíveis
- Cria trojans de execução automática em formato DLL nos dispositivos removíveis |
* HTTP
- Downloads diários de qualquer um dos 250 domínios pseudo-aleatórios em 8 Top-Level Domains
* NetBIOS
- Remove o patch MS08-067 para abrir um backdoor para reinfecção da máquina |
* Bloqueia acesso a DNS de domínios específicos
* Desativa atualizações automáticas |
Atualiza-se para o Conficker C ou D |
|
Conficker C
|
2009-02-20 |
* NetBIOS
- Explora a vulnerabilidade MS08-067
- Ataques de dicionário no compartilhamento $ADMIN
* Mídias Removíveis
- Cria trojans de execução automática em formato DLL nos dispositivos removíveis |
* HTTP
- Downloads diários de qualquer um dos 250 domínios pseudo-aleatórios em 8 Top-Level Domains
* NetBIOS
- Remove o patch MS08-067 para abrir um backdoor para reinfecção da máquina
- Cria pipes nomeados para receber URLs de um hospedeiro remoto, e então faz downloads de atualizações |
* Bloqueia acesso a DNS de domínios específicos
* Desativa atualizações automáticas |
Atualiza-se para o Conficker D |
|
Conficker D
|
2009-03-04 |
Nenhum |
* HTTP
- Downloads diários de qualquer um dos 500 de 50000 domínios pseudo-aleatórios em 110 Top-Level Domains
* P2P
- Executa varredura por peers infectados via UDP e executa transferências por UDP |
* Bloqueia acesso a DNS de domínios específicos
- Modifica o conteúdo da DNSAPI.DLL na memória para bloquear acesso a sites anti-malware
* Desativa Modo de Segurança do Windows
* Desativa atualizações automáticas
* Desativa anti-malwares
- Executa varredura por processos anti-malware, modificando e diagnosticando ferramentas a cada um segundo |
Atualiza-se para o Conficker E |
|
Conficker E
|
2009-04-07 |
* NetBIOS
- Explora a vulnerabilidade MS08-067 |
* NetBIOS
- Remove o patch MS08-067 para abrir um backdoor para reinfecção da máquina |
* Bloqueia acesso a DNS de domínios específicos
* Desativa atualizações automáticas
* Desativa anti-malwares
- Executa varredura por processos anti-malware, modificando e diagnosticando ferramentas a cada um segundo |
* Baixa e instala malwares:
- Spambot Waledac
- SpyProtect 2009 Scareware
* Remove-se no dia 3 de Maio de 2009 (mantendo cópia do W32.Downadup.C) |
Os seguintes domínios/IPs são consultados com frequência pelo Worm, e podem ser usados para identificar infecções na rede:
-
205.188.161.4
-
199.2.137.252
-
159.226.7.162
-
149.20.56.32
-
143.215.143.11
-
83.68.16.6
-
74.86.143.139
-
74.208.64.145
-
72.167.51.186
-
66.197.187.121
No mês de Abril de 2009, pesquisadores descobriram que o Conficker modifica o comportamento do Windows na rede. Esta mudança de comportamento facilita a detecção do mesmo dentro da rede. Uma série de ferramentas automatizadas realizam varredura do worm pela rede. Além disso, existem ferramentas “visuais” que tentam exibir imagens de sites específicos (bloqueados pelo worm). Caso estas imagens não sejam exibidas, existem indicativos de infecção na máquina.
O NMAP é uma ferramenta para varredura de portas TCP/IP (do inglês “port scanner”). Recomenda-se utilizá-la em um sistema operacional Linux.
A linha de comando a ser utilizada no NMAP para identificar os sistemas infectados com Conficker é:
sudo nmap -sC --script=smb-check-vulns --script-args=safe=1 -p445 \
-d -PN -n -T4 --min-hostgroup 256 --min-parallelism 64 \
-oA conficker_scan <ENDERECO_DE_REDE>
Onde:
<ENDERECO_DE_REDE> pode ser:
. XXX.XXX.XXX.0/24 (todo o /24) OU
. XXX.XXX.XXX.0.2-25 (do host 2 ao 25)
A partir da versão 4.85BETA5 do NMAP o resultado da varredura já informa a presença ou ausência do Conficker, bastando executar a seguinte linha de comando:
nmap -PN -T4 -p139,445 -n -v --script=smb-check-vulns \
--script-args safe=1 <ENDERECO_DE_REDE>
Nesta versão uma máquina infectada será reportada como “Conficker: Likely INFECTED”. As máquinas não infectadas tem o comentário “Conficker: Likely CLEAN”.
Caso tenha NAT em sua rede é necessário executar o NMAP na máquina que faz o NAT, pois ela terá acesso aos IPs não roteáveis da sua rede interna. Caso não disponha de um servidor Linux para rodar o NMAP na sua rede recomendamos o download do http://www.remote-exploit.org/backtrack.html, que é um Live CD de auditoria que pode ser iniciado em qualquer máquina sem a necessidade de instalação do sistema operacional Linux.
O site The Honeynet Project também oferece uma ferramenta escrita em Python (SCS) que teve sucesso na detecção do Conficker em redes. A ferramenta está disponível em https://www.honeynet.org/node/388.
A execução da ferramenta é simples, basta informar o host ou a rede que se deseja verificar.
./scs2.py 10.15.36.1 10.15.36.254
[INFECTED] 10.15.36.52: Windows 5.1 [Windows 2000 LAN Manager]: Seems
to be infected by Conficker B or C.
[INFECTED] 10.15.36.81: Windows 5.1 [Windows 2000 LAN Manager]: Seems
to be infected by Conficker B or C.
[INFECTED] 10.15.36.168: Windows 5.1 [Windows 2000 LAN Manager]: Seems
to be infected by Conficker B or C.
./scs.py 127.36.15.80
127.36.15.80 seems to be clean.
Para buscar por novas máquinas infectadas atrás do firewall da rede, pode-se fazer uma consulta simples nos logs de acesso da proxy da instituição. Para o caso do Squid, que guarda o registro de acessos no access.log:
grep "search?q\=[0-9]" access.log
Foram identificados também alguns domínios e IPs que o Conficker tem acessado para fazer o download de anti-vírus falsos e worms, como por exemplo a lista do site Malware Patrol (http://lists.malwarepatrol.net/conficker/conficker_squid.txt). Esta lista é interessante no caso de utilizar um servidor proxy, como o Squid, pois pode limitar o acesso aos principais sites de download das atualizações do Conficker. Para configurar um proxy Squid para bloquear o acesso aos domínios citados no link acima, basta realizar o download do arquivo texto, salvá-lo no diretório de configuração do Squid e adicionar a seguinte entrada no arquivo de configuração squid.conf :
acl sites_bloqueados_conficker url_regex -i "/etc/squid/conficker_squid.txt"
http_access deny sites_bloqueados_conficker
Caso a instituição possua o Snort para monitoramento de tráfego, pode-se usar regras específicas para identificação do Worm, disponíveis emhttp://www.confickerworkinggroup.org/wiki/pmwiki.php/ANY/NetworkDetection.
Recomenda-se também o uso do snort nas versões mais recentes, que possuem pré processadores com regras específicas para varreduras no NetBIOS/compartilhamento do Windows.
Um passo importante (e negligenciado por muitos) para total desinfecção do conficker, é mitigar os vetores de propagação do malware. Para isso dois passos devem ser realizados.
-
Corrigir a falha MS08-067
-
Reabilitar o Windows Update e fazer as atualizações necessárias
A falha MS08-067 permite que usuários e worms infectem computadores remotamente, sem nenhuma interação com o usuário. Máquinas com o compartilhamento $IPC e $ADMIN abertos (portas 137, 139 e 445) podem ser infectadas em poucos minutos caso não tenham os devidos patches de atualização. Estes patches são altamente recomendados para quaisquer tipos de máquinas, para evitar novas infecções e a reinfecção de máquinas comprometidas. Vale lembrar que o Windows sempre deve ser atualizado com patches de segurança para evitar exploração de falhas com esta.
O Conficker desabilita o windows update. Se o usuário tenta rodar o windows update em uma máquina infectada com o Conficker, o Windows update acusa que não pode continuar a atualização e que os motivos podem ser que alguns serviços estão desabilitados. O Conficker foi o responsável pela inatividade desses serviços. O próprio windows update informa ao usuário que alguns serviços estão desabilitados e ensina como habilitálos. Para habilitá-los proceda conforme abaixo (versão do windows em português):
-
Clique em Iniciar e clique em Executar
-
Digite services.msc e clique em OK.
-
Na lista de serviços, clique duas vezes em Atualizações Automáticas e clique em Propriedades.
-
Na lista Tipo de inicialização, selecione Automático e clique em Aplicar.
-
Verifique se o status do serviço é Iniciado; se o status do serviço for Parado, clique no botão Iniciar.
-
Na lista de serviços, clique duas vezes em BITS (Serviço de Transferência Inteligente em Segundo Plano) e em Propriedades.
-
Na lista Tipo de inicialização, selecione Manual e clique em Aplicar.
-
Verifique se o status do serviço é Iniciado, se o status do serviço for Parado, clique no botão Iniciar.
-
Na lista de serviços, clique duas vezes em Log de Eventos e clique em Propriedades.
-
Na lista Tipo de inicialização, selecione Automático e clique em Aplicar.
-
Verifique se o status do serviço é Iniciado; se o status do serviço for Parado, clique no botão Iniciar.
Mantenham sempre seu sistema operacional sempre atualizado, seu software de anti-vírus anti-spyware e firewall sempre atualizados e bem configurados.
Um abraço, Leo Costa.