terça-feira , março 28 2017
Últimas Notícias

Entendendo o malware DNS Changer

As infecções

Quando se fala em malware, as pessoas geralmente associam essa palavra a arquivos executáveis maliciosos do Windows, como trojans, vírus, keyloggers e etc… Na verdade, esse termo é bem mais abrangente que isso. Qualquer código em qualquer linguagem, seja ela de programação ou não, que tenha sido feito com o intuito de praticar uma ação maliciosa em algum sistema é considerado um malware, e isso não está presente apenas na plataforma desktop, mas vem crescendo cada vez mais na plataforma web também.

Antigamente ocorria o uso de scripts auto-executáveis, geralmente applets em Java, que exibiam uma mensagem para o usuário que acessasse determinada página, e se ele clicasse em “executar”, um arquivo era baixado e executado automaticamente no computador.

Isso abriu espaço para a propagação de malwares pelo mundo todo, por vários anos.

Pop up que era exibida quando um applet malicioso era executado

Atualmente, praticamente todos os anti-vírus detectam esse tipo de atividade, e as pessoas também estão mais cientes disso, então a aparição desse tipo de página auto-executável é bem mais rara que antigamente.

Com a forte ascendência dos malwares voltados ao internet banking, geralmente propagados via e-mail com nomes de arquivos que chamam a atenção do usuário (“boleto.pdf”, “boletim_de_ocorrencia.pdf”, “intimação.docx”), as formas de realizar as fraudes virtuais também cresceram.

Desde sempre utilizou-se a engenharia social para a prática de estelionato, como a confecção de páginas fakes, emails falsos, falsas pop-ups de atualização de programas, e esse tipo de coisa. Isso continua sendo utilizado até hoje, mas o que faz com que isso não seja uma forma 100% eficaz de infecção é o nível de informação das pessoas, que já estão cientes desse tipo de ataque.

Os crackers então desenvolveram uma nova forma de “infectar” as pessoas, de um jeito extremamente rápido, e o melhor (para eles), o usuário não precisa clicar em nada, e não vai saber de absolutamente nada (ou quase isso…)

O DNS

Antes de entendermos como o golpe funciona, precisamos ter uma noção do que é o DNS, e o que ele faz.

DNS é um acrônomo do inglês Domain Name System, e ele é o protocolo responsável por fazer a conversão dos domínios que nós conhecemos (www.google.com, www.guiadohacker.com.br, etc) para os seus respectivos endereços IP. Se não fosse pelo DNS, nós precisaríamos acessar o Google digitando http://216.58.222.78 (você pode testar isso agora mesmo). Conseguiríamos nos lembrar de alguns IPs, mas seria impossível acessar sites novos. Por isso o DNS é tão importante.

É possível configurar DNSs personalizados na configuração do modem, do navegador, ou até o próprio Windows. Esses DNSs personalizados são oferecidos por empresas (O Google, por exemplo, oferece um ótimo servidor DNS) para que a performance das páginas web seja melhorada, o carregamento seja mais rápido, etc.

 

A “nova” técnica

A “nova” técnica consiste  no uso de um script, geralmente javascript, que simplesmente testa várias combinações padrão de login e senha no modem, até conseguir logar (admin:admin, root:admin, admin:pwd, etc). Quando ele consegue, ele envia requisições GET para a página que aplica as configurações de DNS padrão do modem, enviando como parâmetro um DNS pertencente ao cracker, que geralmente é uma VPS.

VPS é um acrônomo do inglês Virtual Private Server, e funciona como uma máquina física [ou virtual] que você tem controle remoto.

Ou seja, quando a vítima acessar um site, a requisição passará antes pela VPS que é responsável pelo DNS, e depois será enviada, e vice-versa. Dessa forma, o cracker consegue redirecionar a vítima para um site falso, e ter controle de todo o conteúdo da requisição enviada por ela, inclusive senhas de sites, dados de cartões de crédito, e tudo mais.

Logo, se sua configuração de DNS for alterada por esse malware, quando você acessar o www.bb.com.br, por exemplo, você será redirecionado para um site falso, idêntico ao do Banco do Brasil, que capturará seus dados, e você nunca saberá… (se não conhecer essa ameaça)

Essa técnica se chama DNS Spoof, e já é bem antiga, por isso as aspas em “nova”.

 

Pop-up que é exibida ao acessar um site que contém o script de DNS infect. Obs: esta pop-up é exibida apenas se o login ou senha do modem não forem os padrões, porque dessa forma o script não consegue acessá-lo diretamente, e pede a senha correta para o usuário.

O código malicioso

O código que executa essas ações no roteador é relativamente simples, visto que ele apenas faz testes de requisições nele. Abaixo vemos um pequeno segmento do código inteiro. O código todo segue o mesmo estilo, o que muda é o gateway padrão (o IP usado para acessar as configurações do modem) e a combinação de usuário e senha padrão.

Podemos ver que o código é feito basicamente em HTML, faz uma consulta em variáveis do PHP e inclui a página que faz a requisição via GET. É possível notar que ele tenta logar com usuário user e senha também user, que são as credenciais padrão de uma determinada marca de modem.

 

As requisições GET

Quem programa em PHP certamente já trabalhou com formulários HTML, e já usou requisições GET ou POST, que são os dois tipos básicos de requisições HTTP no PHP.

A principal diferença entre esses dois métodos é que o POST envia os dados encapsulados junto à requisição HTTP, enquanto que o GET envia os dados como string, em parâmetros pela própria URL.

Quando você loga no Facebook, ou em qualquer outro site, seu login e senha são enviados via POST para o servidor, e a URL fica normal (https://www.facebook.com), ninguém consegue vê-los.

Quando você faz uma pesquisa no Facebook, o texto pesquisado é enviado via GET para o servidor, e você pode ver esse texto na URL. (ex.: https://www.facebook.com/search/top/?q=Guia do Hacker)

Os crackers então aproveitam-se dessa característica do GET, que facilita o envio de dados para uma página, para enviar o DNS malicioso para a página que faz a alteração no modem – que por acaso recebe esse dado via GET.

 

Remoção e proteção

Quer saber se foi infectado com esse malware? Quer se previnir? É bem fácil.

A proteção é feita simplesmente trocando a senha padrão do modem. (estamos falando da senha de acesso ao modem, não a senha do Wireless)

Com essa simples modificação você já reduz em 80% a chance de se infectar com esse malware.

O complemento é manter o firmware do seu modem sempre atualizado, pois existem alguns scripts mais elaborados que exploram falhas nos modens antigos, e conseguem infectá-los, mesmo se a senha não for padrão.

A remoção também é simples, basta acessar o seu modem, ir nas configurações de DNS e mudar para as configurações padrão. Caso não esteja encontrando essa página, você pode tentar procurar na internet pelo manual do seu modem, ou, se quiser ser mais radical, simplesmente dê um reset nele.

 

Autor: Nicholas Ferreira (Nickguitar.dll)  –  18 de fevereiro de 2016 – 20:55.

Sobre Nicholas Ferreira

Sou amante de informática desde criança, tive meu primeiro contato com hacking aos 12 anos, e desde essa data eu venho estudando cada vez mais as diversas áreas da segurança da informação. Tenho certificados de cursos de PHP, Visual Basic, e atualmente estou estudando Análise de Malwares.
  • Pachacutti

    Pergunta noob:

    Trabalho em uma empresa grande, com muitos funcionários, e e a rede é controlada pelo TI. Essa infecção pode ter sido só no meu computador? Se tem a ver com o modem, imagino que todas as maquinas estejam com esse malware, é isso?

    • Mil perdões pela demora na resposta, só fui ler agora os comentários.
      Bem, se a infecção foi com um malware do tipo que foi explicado no artigo, então todos os computadores da rede são afetados, já que todos fazem conexão com o modem, que está infectado (não só computadores, mas dispositivos móveis também). Se a infecção foi pelo arquivo hosts ou na configuração de DNS do computador, aí o problema é só na máquina que foi infectado.

Free WordPress Themes - Download High-quality Templates