| 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).
Marcos Assuncao
Participe
do nosso Fórum |