Um ataque do tipo “homem no meio” (MITM) acontece quando um agente malicioso se intromete numa comunicação de rede ou durante uma transferência de dados já em curso. O invasor posiciona-se entre os participantes da comunicação, simulando ser um dos interlocutores legítimos.
Na prática, o atacante coloca-se entre os pedidos enviados e as respostas recebidas. Como utilizador, continuará a acreditar que está a interagir diretamente com o servidor ou aplicação web legítima, como o Facebook, Twitter ou o seu banco online. No entanto, na realidade, os seus pedidos serão encaminhados para o intermediário, que por sua vez comunicará com o seu banco ou aplicação em seu nome.
Imagem fornecida por Imperva
Desta forma, o intermediário terá acesso a toda a comunicação, incluindo os seus pedidos e as respostas que recebe do destino. Para além de observar a conversa, o intermediário poderá alterar os seus pedidos e respostas, roubar as suas credenciais, redirecioná-lo para um servidor sob o seu controlo ou cometer outros crimes cibernéticos.
Normalmente, o atacante pode interceptar o fluxo de comunicação ou os dados de qualquer um dos participantes na conversa. O atacante pode então manipular as informações ou enviar links maliciosos ou respostas para ambos os participantes legítimos. Em muitos casos, esta situação pode passar despercebida por algum tempo, até que os danos se tornem evidentes.
Técnicas comuns de ataques “homem no meio”
Captura de pacotes: O invasor utiliza diversas ferramentas para examinar os pacotes de rede em detalhe. Esta captura permite que os invasores visualizem pacotes de dados aos quais não deveriam ter acesso.
Injeção de pacotes: Aqui, os invasores introduzem pacotes maliciosos nos canais de comunicação de dados. Antes da injeção, os criminosos usarão a captura para identificar como e quando enviar os pacotes maliciosos. Após a injeção, os pacotes maliciosos misturam-se com os válidos no fluxo de comunicação.
Sequestro de sessão: A maioria das aplicações web cria um token de sessão temporário durante o processo de login, para que o utilizador não precise introduzir a sua password em cada página ou pedido subsequente. Infelizmente, um invasor que use ferramentas de deteção pode identificar e usar este token de sessão para fazer pedidos como se fosse o utilizador legítimo.
Remoção de SSL: Os invasores podem usar a técnica de remoção de SSL para interceptar os pacotes legítimos, alterar os pedidos baseados em HTTPS e redirecioná-los para o seu equivalente inseguro em HTTP. Desta forma, o hospedeiro passará a fazer um pedido não encriptado ao servidor, expondo dados sensíveis em texto simples, que são facilmente roubados.
Consequências dos ataques MITM
Os ataques MITM representam um sério perigo para qualquer organização, podendo resultar em perdas financeiras e danos à reputação.
Normalmente, os criminosos podem aceder a informações sensíveis e privadas da organização e usá-las de forma indevida. Por exemplo, podem roubar credenciais como nomes de utilizador e passwords, dados de cartões de crédito, e usá-los para transferir fundos ou fazer compras não autorizadas. Podem também usar credenciais roubadas para instalar malware ou roubar outras informações confidenciais, que poderão ser usadas para chantagear a empresa.
Por este motivo, é crucial proteger os utilizadores e os sistemas digitais, para minimizar os riscos de ataques MITM.
Ferramentas de ataque MITM para equipas de segurança
Para além de usar soluções e práticas de segurança fiáveis, é necessário usar as ferramentas adequadas para testar os seus sistemas e identificar vulnerabilidades que os atacantes podem explorar. Para ajudar na escolha, apresentamos algumas das ferramentas de ataque HTTP MITM para investigadores de segurança.
Hetty
Hetty é um kit de ferramentas HTTP de código aberto, rápido e com recursos poderosos para apoiar investigadores de segurança, equipas e programas de recompensas por bugs. Esta ferramenta leve, com uma interface web Next.js incorporada, inclui um proxy “homem no meio” HTTP.
Principais características:
- Permite realizar pesquisas de texto completo.
- Possui um módulo de remetente que permite enviar manualmente pedidos HTTP, baseados em pedidos inativos do log do proxy ou criados do zero.
- Inclui um módulo “intruso” que permite o envio automático de pedidos HTTP.
- Oferece uma instalação simples e uma interface de utilizador intuitiva.
- Permite o envio manual de pedidos HTTP, desde o início, construindo o pedido ou simplesmente copiando-o do log do proxy.
Bettercap
Bettercap é uma ferramenta abrangente e escalável de reconhecimento e ataque de redes.
Esta solução, fácil de usar, fornece a engenheiros de retroengenharia, especialistas em segurança e equipas de “red team” todos os recursos para testar ou atacar redes Wi-Fi, IP4, IP6, dispositivos Bluetooth Low Energy (BLE) e dispositivos HID sem fios. Adicionalmente, a ferramenta oferece recursos de monitorização de redes e outras funcionalidades, como a criação de hotspots falsos, captura de passwords, falsificação de DNS e captura de “handshakes”, entre outros.
Principais características:
- Inclui um potente capturador de rede para identificar dados de autenticação e recolher credenciais.
- É poderoso e extensível.
- Permite sondar e testar ativa e passivamente os hosts de rede IP, em busca de possíveis vulnerabilidades MITM.
- Oferece uma interface de utilizador interativa e fácil de usar, baseada na web, que permite conduzir uma ampla gama de ataques MITM, capturar credenciais, monitorizar o tráfego HTTP e HTTPS, etc.
- Permite extrair todos os dados recolhidos, como credenciais POP, IMAP, SMTP e FTP, URLs visitados e hosts HTTPS, cookies HTTP, dados enviados por HTTP e mais, apresentando-os num ficheiro externo.
- Permite manipular ou modificar o tráfego TCP, HTTP e HTTPS em tempo real.
Proxy.py
Proxy.py é um servidor proxy leve e de código aberto para WebSockets, HTTP, HTTPS e HTTP2. Disponível num único ficheiro python, esta ferramenta rápida permite que os investigadores analisem o tráfego web, incluindo o de aplicações encriptadas por TLS, usando recursos mínimos.
Principais características:
- É uma ferramenta rápida e escalável, capaz de lidar com dezenas de milhares de conexões por segundo.
- Oferece recursos programáveis como um servidor web integrado, proxy e personalização de roteamento HTTP.
- Tem um design leve, usando apenas 5-20 MB de RAM. Utiliza as bibliotecas padrão do Python e não exige nenhuma dependência externa.
- Apresenta um painel personalizável em tempo real, que pode ser estendido através de plugins. Permite também inspecionar, monitorizar, configurar e controlar o proxy.py durante a execução.
- A ferramenta é segura e usa TLS para fornecer encriptação “ponto a ponto” entre o proxy.py e o cliente.
Mitmproxy
mitmproxy é uma solução proxy HTTPS de código aberto, fácil de usar.
Esta ferramenta de instalação simples funciona como um proxy HTTP “homem no meio” SSL e tem uma interface de consola que permite inspecionar e alterar o fluxo de tráfego em tempo real. Pode usar esta ferramenta baseada em linha de comando como um proxy HTTP ou HTTPS para registar todo o tráfego de rede, observar o que os utilizadores estão a requisitar e reproduzi-lo. Normalmente, mitmproxy refere-se a um conjunto de três ferramentas poderosas: mitmproxy (interface de consola), mitmweb (interface baseada na web) e mitmdump (versão em linha de comando).
Principais características:
- É uma ferramenta fiável e interativa de análise e modificação de tráfego HTTP.
- É uma ferramenta flexível, estável, fiável, fácil de instalar e de usar.
- Permite interceptar e modificar pedidos e respostas HTTP e HTTPS em tempo real.
- Permite gravar e guardar as conversas HTTP entre cliente e servidor, reproduzi-las e analisá-las posteriormente.
- Gera certificados SSL/TLS para interceptação em tempo real.
- Os recursos de proxy reverso permitem redirecionar o tráfego de rede para um servidor diferente.
Burp
Burp é uma ferramenta de análise de vulnerabilidades automatizada e escalável. É uma boa escolha para muitos profissionais de segurança. Geralmente, permite que os investigadores testem aplicações web e identifiquem vulnerabilidades que os criminosos podem explorar e usar em ataques MITM.
Usa um fluxo de trabalho orientado ao utilizador para proporcionar uma visão direta da aplicação de destino e do seu funcionamento. Ao operar como um servidor proxy web, o Burp atua como intermediário entre o navegador web e os servidores de destino. Isso permite interceptar, analisar e modificar o tráfego de pedidos e respostas.
Principais características:
- Interceta e inspeciona o tráfego de rede bruto em ambas as direções entre o navegador web e o servidor.
- Interrompe a conexão TLS no tráfego HTTPS entre o navegador e o servidor de destino, permitindo que o invasor visualize e modifique os dados encriptados.
- Oferece a opção de usar o navegador embutido do Burp ou um navegador externo padrão.
- A solução de análise de vulnerabilidades automatizada, rápida e escalável, permite analisar e testar aplicações web de forma mais rápida e eficaz, identificando um leque alargado de vulnerabilidades.
- Exibe os pedidos e respostas HTTP individuais que foram interceptados.
- Permite analisar manualmente o tráfego interceptado para entender os detalhes de um ataque.
Ettercap
Ettercap é um analisador e intercetor de tráfego de rede de código aberto.
Esta ferramenta abrangente para ataques MITM permite que os investigadores analisem em detalhe uma ampla gama de protocolos de rede e hosts. Pode também registar os pacotes de rede em LANs e outros ambientes. Para além disso, este analisador de tráfego de rede multifuncional pode detetar e interromper ataques “homem no meio”.
Principais características:
- Interceta o tráfego de rede e captura credenciais, como passwords. Pode também descriptografar dados encriptados e extrair credenciais, como nomes de utilizador e passwords.
- Adequado para análise profunda de pacotes, testes, monitorização do tráfego de rede e filtragem de conteúdo em tempo real.
- Suporta espionagem ativa e passiva, análise detalhada de protocolos de rede, incluindo aqueles que usam encriptação.
- Analisa a topologia da rede e identifica os sistemas operativos instalados.
- Oferece uma interface gráfica de utilizador intuitiva com opções de operação interativa e não interativa.
- Utiliza técnicas de análise como interceptação ARP, filtragem IP e MAC, e outras, para interceptar e analisar o tráfego.
Prevenção de ataques MITM
A identificação de ataques MITM não é muito fácil, pois estes acontecem longe dos utilizadores e são difíceis de detetar, já que os atacantes fazem com que tudo pareça normal. No entanto, existem várias práticas de segurança que as organizações podem adotar para prevenir ataques “homem no meio”. Estas incluem:
- Proteger as ligações à internet no trabalho ou em redes domésticas, usando ferramentas e soluções de segurança eficazes nos seus servidores e computadores, e usar soluções de autenticação fiáveis.
- Aplicar encriptação WEP/WAP forte nos pontos de acesso.
- Garantir que todos os sites visitados são seguros e usam HTTPS no URL.
- Evitar clicar em mensagens de e-mail e links suspeitos.
- Aplicar HTTPS e desativar protocolos TLS/SSL inseguros.
- Usar redes privadas virtuais sempre que possível.
- Utilizar as ferramentas acima, e outras soluções HTTP, para identificar e resolver quaisquer vulnerabilidades “homem no meio” que os invasores possam explorar.