O Man-in-the-Middle (MitM), em tradução livre “homem no meio”, é um ataque voltado à interceptação da comunicação entre dois hosts por um agente malicioso, que pode manipular o tráfego interceptado de diversas formas. Para que um ataque MitM funcione adequadamente, o criminoso precisa garantir que será o único ponto de comunicação entre os dois hosts, ou seja, é necessário que o criminoso esteja presente na mesma rede na qual se encontram os hosts alvos do ataque para que possa alterar a tabela de roteamento de cada um deles.
Apesar da alteração da tabela de roteamento ser infinitamente mais simples quando feita na mesma rede, tecnicamente seria possível sequestrar roteadores de provedores e alterar suas tabelas de roteamento arbitrariamente, mas a complexidade desse tipo de ataque é incomparavelmente maior. Sendo assim, todos os exemplos que citarei nesta publicação serão relacionados ao ataque partindo de dentro da rede.
Execução do ataque
Como acontece em boa parte dos ataques, mesmo que o criminoso não tenha conhecimentos profundos sobre o que irá executar, ele conseguirá realizá-lo - mesmo que de forma mecânica. E com o Man-in-the-Middle não é diferente: seguindo algumas instruções encontradas facilmente na internet, é possível reproduzir esse tipo de ataque. Esta é a razão pela qual é importantíssimo sempre tomar medidas de proteção.
Para entender como o ataque funciona, vamos observar a imagem abaixo, que mostra a tabela de roteamento presente no computador da vítima ainda inalterada.
Cada uma das entradas da tabela ARP possui um endereço único, como é possível ver pela numeração final presente em cada uma delas.
Como disse anteriormente, quando um ataque de MitM está em execução, o criminoso se faz passar pelo endereço de destino da vítima, que normalmente é um roteador de internet ou algum outro endereço que seja o gateway daquela rede. Há algumas ferramentas que conseguem executar esse tipo de ataque. No caso do nosso exemplo, o ataque executado foi o de ARP posoning, também conhecido como ARP poison ou envenenamento da tabela ARP.
O software utilizado para automatizar esse ataque foi o Ettercap via linha de comando. No entanto, o software também possui interface gráfica muito intuitiva e simples de ser utilizada. Após a execução do comando, a vítima acredita que o atacante é o gateway e começa a enviar todas as suas requisições a ele.
Como a visualização oferecida pelo Ettercap tem uma estrutura muito difícil de interpretar, é possível utilizar analisadores de rede mais robustos como o Wireshark para monitorar a interface de rede que está recebendo esse tráfego e tratá-lo, ou salvá-lo para a realização de uma análise posterior.
Danos que podem ser provocados
Agora que entendemos um pouco sobre a estrutura do ataque em si, resta saber o que os criminosos conseguem fazer ao realizar um ataque de Man-in-the-Middle.
No exemplo que citei, a captura de tráfego foi feita pelo Ettercap com o intuito de analisar pacotes. No entanto, o Ettercap não é a única solução que auxilia na criação de ataques Man-in-the-Middle. É possível desenvolver ameaças voltadas para o cumprimento de determinadas ações dentro do tráfego interceptado ou utilizar uma das soluções já criadas para fazer essas modificações. Uma das soluções desenvolvidas para esse fim foi o Man-in-the-Middle Framework, ou MITMf, que possui uma série de recursos instalados por padrão. Alguns desses recursos permitem:
- Tirar screenshots do que a vítima vê de tempos em tempos;
- Inserir na página acessada um JavaScript criado pelo atacante;
- Executar processos que tentem abrir o tráfego criptografado HTTPS;
- Inserir um keylogger que capture tudo que a vítima digitar.
Com isso, as opções de ataque ficam praticamente ilimitadas, e ainda é possível usar o ataque para direcionar o tráfego para outros frameworks com ainda mais recursos, como, por exemplo, o BeEF.
Além da abordagem mais tradicional do MitM que menciono nesta publicação, os criminosos usam esse conceito de interceptação de ações das vítimas em diversos outros tipos de ataque, como, por exemplo, alteração de memória quando a vítima usa o clipboard (quando cópia e cola alguma informação), ataques de Man-in-the-Browser, quando o criminoso modifica informações trafegadas diretamente pelo browser, por exemplo, quando uma compra é feita. Todos esses tipos de ataques tem um impacto significativo para as vítimas e boa parte deles não dá sinais de que a vítima está sendo atacada naquele momento, o que tornam ainda mais necessárias as medidas de proteção contra esse tipo de ameaça.
Como se proteger
- Sempre desconfie de redes Wi-Fi - por definição, as redes Wi-Fi são mais suscetíveis a ataques, no caso de alguém ter conseguido acessar a rede legítima de forma não autorizada, seja por criarem uma rede com o nome idêntico ao da rede legítima. Tenha sempre cuidado ao usar redes Wi-Fi públicas e evite trafegar informações importantes e baixar arquivos.
- Instale apenas softwares de fontes conhecidas - muitas ameaças se escondem por trás de softwares ou arquivos que parecem inofensivos. Por isso, é importante se assegurar de que os softwares que você precisa baixar são provenientes de uma fonte confiável, para diminuir as chances do download ter sido adulterado. Caso um ataque de Man-in-the-Middle já esteja em curso, é possível que o cibercriminosos consiga alterar o arquivo de destino que será baixado. Se este for o caso, a próxima dica auxiliará na identificação do processo.
- Antivírus - esta é uma recomendação presente em quase todos os tipos de artigos que se referem a segurança da informação, pelo simples fato de ser uma das formas mais eficientes de impedir boa parte das ameaças. Durante a coleta de imagens para a composição desta publicação, me esqueci de desabilitar meu software de proteção, e ele me alertou sobre uma ameaça em potencial na rede, identificando exatamente o ataque que eu estava realizando do meu outro dispositivo.
Sempre tenha um antivírus devidamente instalado, atualizado e configurado para barrar ameaças vindas via arquivo ou rede.
Se você está preocupado com ataques MitM no seu ambiente de rede corporativa, é possível tomar algumas medidas adicionais para evitá-los:
- Segregar as redes - tirar hosts do mesmo domínio de colisão ajudam a impedir que ataques sejam feitos em toda a rede de uma vez só.
- Firewall - proteger estas redes com um firewall que possua regras adequadamente, impedindo interações indesejadas.
- Configurar os roteadores - muitos dispositivos de rede possuem a capacidade de inspecionar a tabela ARP para evitar ataques de envenenamento, identifique se seus dispositivos possuem esse recurso e, caso possuam, habilite-o.
Caso tenha ficado com alguma dúvida ou sugestões de assuntos relacionados à segurança da informação, conte-nos nos comentários.