Tem ‘Homem no Meio’ do caminho para o banco
Sempre tomamos cuidado quando acessamos um banco ou qualquer outro site seguro e criptografado(com SSL). Conhecemos os famosos sites clonados e algumas técnicas ultrapassadas para capturar senhas de usuários. Vou citar algumas proteções que os sites seguros criaram para evitar essas técnicas.
CRIPTOGRAFIA SSL – O fato dos seus dados transitarem em forte criptografia entre seu computador e o do banco impede a técnica do farejamento. Essa técnica lhe mostraria os pacotes trafegando na rede (mas apenas em redes locais ou no máximo comutadas).
TECLADO VIRTUAL – Impede programas de monitoramento de teclas. São programas que ao serem instalados no computador da vítima podem capturar diretamente do teclado as teclas digitadas e enviá-las por e-mail para o hacker.
Essas são as duas proteções que o banco nos oferece, além de que a única proteção que o usuário têm normalmente é um antivírus e no máximo um firewall (ferramenta de bloqueio de intrusos).
Sempre tomamos cuidado quando acessamos um banco ou qualquer outro site seguro e criptografado(com SSL). Conhecemos os famosos sites clonados e algumas técnicas ultrapassadas para capturar senhas de usuários. Vou citar algumas proteções que os sites seguros criaram para evitar essas técnicas.
CRIPTOGRAFIA SSL – O fato dos seus dados transitarem em forte criptografia entre seu computador e o do banco impede a técnica do farejamento. Essa técnica lhe mostraria os pacotes trafegando na rede (mas apenas em redes locais ou no máximo comutadas).
TECLADO VIRTUAL - Impede programas de monitoramento de teclas. São programas que ao serem instalados no computador da vítima podem capturar diretamente do teclado as teclas digitadas e enviá-las por e-mail para o hacker.
Essas são as duas proteções que o banco nos oferece, além de que a única proteção que o usuário têm normalmente é um antivírus e no máximo um firewall (ferramenta de bloqueio de intrusos).
Muito bem, a técnica que vou explicar aqui é diferente de tudo isso. Além de ser extremamente simples de ser feita, nenhuma das proteções existentes hoje consegue para-la. É chamada de MAN-IN-THE-MIDDLE (ou homem no meio). Irei explicar o porquê desse termo.
Quando acessamos o banco, nossa conexão parece dessa maneira:
CLIENTE —————————————————————————– SITE
CANAL CRIPTOGRAFADO
Isso significa que meus dados estão indo em código para o banco e vice-versa. Se eu tentasse “farejar o tráfego não conseguiria nada legível. Aí entra a técnica. Eu vou redirecionar o tráfego do computador do CLIENTE para o meu e repassar os seus dados para a página real do SITE (atenção, é a página real, não clonada) ficando assim:
CLIENTE —————————— HACKER ———————————– SITE
CRIPTOGRAFIA CRIPTOGRAFIA
Ao fazer isso, eu crio duas conexões criptografadas, uma com o CLIENTE e outra com o BANCO.
Assim, eu finjo ser o SITE para o CLIENTE e o CLIENTE para o SITE. Ou seja, vou capturar os dados que o CLIENTE tentar enviar para o banco e que o SITE enviar de volta ao cliente. Entenda que a criptografia ainda existe, mas como os dois lados pensam que o programa interceptador é seu companheiro de transação os dados chegam até o hacker em texto puro.
Abaixo você pode ver os dados obtidos pelo software espião:

Onde entra a autenticação do certificado nessa história?

O software malicioso utiliza um certificado qualquer . Consequentemente, um aviso é mostrado quando o CLIENTE tenta se conectar a um site seguro. Mas esse é um problema fácil de contornar para o invasor. Como o programa de interceptação age como um servidor proxy, o hacker envia o usuário para um site qualquer.
Assim pode aproveitar erros de navegadores como o Internet Explorer para instalar um pequeno executável através de scripts ActiveX maliciosos.
Ou mesmo utilizar-se de engenharia social, enviando um e-mail para o usuário com o link para o site malicioso. Maneiras não faltam. Observe as configurações avançadas do Internet Explorer:

Esse pequeno executável então faria diversas modificações no registro do Windows, desabilitando os avisos em relação aos certificados. Assim, quando o certificado falso for emitido, nenhuma mensagem será enviada.
Abaixo você vê a seção do registro que essas informações ficam salvas:

Como isso funcionaria em um computador dentro de uma rede interna? A partir do momento que um “executável preparado é rodado em um sistema, toda a rede pode ser comprometida. Vamos falar disso em HTTP Tunneling.
HTTP TUNNELING
Imagine a seguinte situação: o hacker conseguiu executar o software espião no seu sistema mas não conseguiu obter suas senhas do banco. Isso significa que sua conexão é através de um proxy e provavelmente um poderoso filtro de pacotes. Mesmo assim, o invasor que acesso à sua conexão. Existiria uma maneira para que ele acessasse diretamente seu micro?
Sim, existe. O programa espião pode detectar as configurações de proxy diretamente do registro (ou se o acesso for de usuário comum, pode-se conseguir através da varredura da rede local).
Assim, utilizando pedidos GET e POST do protocolo HTTP uma conexão bi-direcional vai ser estabelecida, saindo sem problemas pelo proxy e retornando através do firewall(filtro de pacotes) que deixa a resposta voltar sem problemas.
Bom, e o anti-vírus? Como o programa espião foi criado pelo próprio hacker, ele não será identificado por nenhuma ferramenta contra vírus. A imagem a seguir ilustra o ataque:
A partir do momento que a conexão bi-direcional é estabelecida, o hacker têm acesso direto aos comandos do sistema. Caso o sistema esteja rodando como um usuário não-privilegiado, o atacante poderá se utilizar de possíveis falhas do sistema que podem levar à chamada “elevação de privilégios . Se a exploração for bem sucedida e o status de Administrador for alcançado, chega a parte final do ataque. Lembre-se de que o hacker não conseguiu obter as senhas de banco da vítima pois precisaria redirecioná-la para um proxy externo. Agora, tendo acesso local à rede, ele pode executar uma ferramenta local de man-in-the-middle, tais como DSNIFF (Linux) e CAIN (Windows). Pronto. O invasor receberá todas as senhas capturadas via SSL utilizando certificados falsos, além de capturar o tráfego de e-mail, banco de dados, etc…
Contramedidas
Tanto para o man-in-the-middle local ou remoto, o problema se origina da mesma maneira. Como dizem, a segurança de sua rede é igual à segurança do seu elo mais fraco: o usuário. Enquanto os usuários não-técnicos não tiverem um treinamento específico para que não caiam nas técnicas de Engenharia Social e aprendam a atualizar seu sistema para evitar possíves falhas, sua instituição será vulnerável.
Quanto aos administradores, precisam do treinamento de penetration test. Só assim descobrirão os problemas mais ocultos e poderão se utilizar de novos conceitos para tornar seus sistemas mais seguros (e seu trabalho mais prazeroso).
