MITM com arpspoof, thc-ipv6 e SSLStrip

Os ataques à rede local do tipo man-in-the-middle, ou comumente conhecido como MITM, permitem ao atacante posicionar-se no meio da comunicação entre duas partes. Este ataque é útil para conduzir outros ataques, como sniffing(captura das informações) e session hijacking (sequestro de sessão).

Em um ataque MITM, a vítima não percebe a interceptação do tráfego e isso permite ao atacante a leitura e captura do tráfego entre as duas vítimas como também a alteração da informação para os fins de objetivo do ataque, sem a interrupção da comunicação do ponto de vista da vítima.

Em IPv4, um ataque man-in-the-middle pode ser executado de diversas formas, como com o envenenamento do cache ARP (ARP cache poisoning /ARP Spoofing) e a falsificação de mensagens ICMPv6 durante a descoberta de vizinhos e/ou o serviço DHCPv6.

arpspoof

Os equipamentos com função de gateway na rede possuem a responsabilidade de rotear os pacotes da rede local para outras redes dentro do domínio da empresa ou Internet. Ferramentas como arpspoof disparam mensagens ARP reply ao computador da vítima (em uma rede IPv4) falsificando o endereço MAC do gateway. Essa série de respostas ARP dizem ao nosso alvo que a máquina atacante é o gateway de destino. Desse modo, quando o alvo enviar o tráfego para o dispositivo de destino, o switch enviará os pacotes da vítima diretamente para a máquina do atacante.

THC-IPv6

O THC-IPv6 possui diversas ferramentas para spoofing (falsificação) em redes IPv6, forjando os pacotes de router advertisement (RA ou anuncio de roteadores), neighbor advertisement (NA ou anuncio de vizinhos), router solicitation (RS ou solicitação de roteadores) e neighbor solicitation (NS ou solicitação de vizinhos). Em ataques específicos MITM, o THC-IPv6 pode anunciar que a máquina do atacante é o roteador para os pacotes de solicitação (RS e NS) ou envia deliberadamente que possui a melhor rota padrão, assim o computador da vítima recebe o anúncio falso da máquina atacante e envia todos os pacotes que iriam direto ao roteador para a máquina atacante.

A RFC 4861, lista 3 (três) tipos de prioridades para rotas ensinadas aos computadores da rede local via mensagens ICMPv6 RA: baixa, média (padrão) e alta. Utilizando dessa implementação o THC-IPv6 consegue enviar uma atualização anunciando-se como o roteador em a rede com a mais alta prioridade.

Com o atacante personificando o gateway da rede tanto em redes IPv4 e IPv6, todo o tráfego não criptografado pode ser lido, modificado ou descartado, possibilitando outros tipos de ataques.

 SSLStrip

Uma vez que o atacante consegue se posicionar para capturar todo o tráfego da vítima e ler as informações que trafegam sem nenhum tipo de criptografia, algumas técnicas podem ser utilizadas para as conseguir acesso as credenciais através de serviços de rede que utilizam navegadores de Internet.

A grande maioria dos sites provedores de serviço tem gerado versões de suas páginas com o protocolo SSL que tem como objetivo criar um canal criptografado entre o servidor da aplicação e o cliente. O SSL é associado juntamente com outros protocolos para fornecer uma implementação segura de serviços e aplicações, como: SMTPS, IMAPS, e etc. Uma vez que o SSL é utilizado com o protocolo HTTP, ele é denominado como HTTP over SSL ou HTTPS.

Os atacantes atualmente utilizam de técnicas como sequestro de sessão (session hijacking) para explorar a comunicação de uma sessão valida da vítima. O roubo de sessão para o trafego HTTPS, também conhecido como SSL hijacking, trabalha em cima da conexão HTTP (não segura) para uma segura (HTTPS) intermediando a conexão SSL, antes dela correr. Geralmente um usuário ao acessar uma página digita apenas o nome da página sem o prefixo “http://” ou “https://”, os navegadores de Internet como o Internet Explorer, Chrome, Firefox, entre outros, adicionam automaticamente o prefixo ‘http://’ na requisição da página web. Se a página for HTTPS, o servidor web retornará uma mensagem ao host solicitando o redirecionamento para a versão https://”.

Usando como referência o site http://outlook.com , quando o navegador recebe a resposta de redirecionamento do servidor web, ele emite uma nova requisição para o site incorporado na resposta da mensagem de redirecionamento, em nosso caso https://outlook.live.com/owa/. O navegador então estabelecerá a conexão SSL / TLS com o site. O resto da comunicação acontece via HTTPS a partir de agora.

A ferramenta SSLStrip, escrita por Moxie Marlinspike, é bastante utilizada em um ataque man-in-the-middle para SSL Hijacking. O SSLStrip fecha uma sessão HTTP com a vítima e uma sessão HTTPS com a página web, capturando assim as informações que deveriam ser criptografadas. A vítima não receberá nenhuma informação do certificado da página segura e na barra de endereço do navegador o site exibirá o nome da página apenas com o prefixo HTTP enquanto o SSLStrip comunica-se em HTTPS com o servidor web.

Laboratório

Em um ambiente de testes, executamos as ferramentas arpspoof e SSLStrip com o objetivo principal de capturar as credenciais digitadas em páginas web.

Como preparação no Kali Linux é necessário habilitar o IP forwarding e configurar o iptables para redirecionar o tráfego HTTP para a porta que será utilizada pelo SSLStrip.

O próximo passo para iniciar o ataque inclui a execução das ferramentas arpspoof e o SSLStrip.

Com o ataque em execução, o SSLStrip irá registrar as credenciais inseridas em páginas que solicitam autenticação, tanto no acesso as páginas HTTP e HTTPS. Abaixo um exemplo da captura durante a autenticação em um serviço de e-mail da Microsoft utilizando o navegador Internet Explorer8.

Análise dos resultados

A execução dos testes em ambiente de laboratório simulando uma rede local de uma empresa demonstrou a facilidade que um atacante interno consegue capturar e modificar o tráfego da vítima.

Os testes para as máquinas alvo incluíram os sistemas operacionais Windows 7, Windows 10 e o Debian 9. Algumas funcionalidades de segurança incorporadas por padrão aos equipamentos e softwares utilizados no estudo serviram para mitigar o ataque, como a utilização do navegador Firefox que possui suporte nativo ao protocolo HSTS, que permite que a comunicação entre o servidor web e o navegador ocorra somente com criptografia e com certificado emitido por uma autoridade certificadora confiável.

A utilização de funcionalidades em switches como arp inspect (DAI) validam se a mensagem ARP é gerada pela máquina verdadeira.

Uma outra opção também surge em cenários que não é necessário a comunicação entre todas a máquinas da rede sendo possível efetuar a configuração em switches e access points para isolamento dos hosts entre si, permitindo apenas a comunicação entre hosts e equipamentos e servidores de rede.

Um usuário mais atento poderia também perceber que a pagina requisitada estaria trabalhando apenas em HTTP ao invés de HTTPS, visto que os provedores de serviço na Internet quase em sua totalidade trabalham com a versão segura do protocolo.

Apesar desse estudo utilizar-se de algumas técnicas exploradas há anos, elas ainda se tornam efetivas tanto em redes IPv4 quanto em redes IPv6, inclusive para captura do tráfego de outros serviços críticos.

Os ataques MITM atuam diretamente na privacidade do usuário pois coletam informações confidenciais através das técnicas citadas nesse trabalho. É relevante notar que a aplicação de políticas de segurança ajudaria a mitigar e isolar alguns cenários de ataque.

O objetivo final desse artigo é contribuir para que os responsáveis pela infraestrutura e segurança da tecnologia da informação estejam atentos aos riscos. Uma vez que esse tipo de ataque é comumente efetuado dentro da rede local, algumas ações podem ser facilmente adotadas contra dispositivos não cadastrados e contra o acesso indevido a rede da empresa através do uso de certificados digitais para validação da máquina e/ou usuário. Um outro ponto importante inclui o estudo da implementação do protocolo IPv6 em dispositivos como smartphones e usuários do sistema operacional Linux e Windows, pois os diferentes sistemas operacionais trazem implementações diferente das principais RFC’s que padronizam as implementações dos protocolos.

Referências

ORIYANO, Sean-Philip. CEHv9 – Certified Ethical Hacker Version 9 – Study Guide. Indianópolis: John Wiley & Sons,2017.
WEIDMAN, Georgia. Teste de Invasão – Uma introdução prática ao hacking. São Paulo: Novatec, 2014.

Acesso em 14/05/2018
http://techgenix.com/Understanding-Man-in-the-Middle-Attacks-ARP-Part1/
http://techgenix.com/Understanding-Man-in-the-Middle-Attacks-ARP-Part2/
http://techgenix.com/Understanding-Man-in-the-Middle-Attacks-ARP-Part3/
http://techgenix.com/Understanding-Man-in-the-Middle-Attacks-ARP-Part4/

Acesso em 15/05/2018
http://gutocarvalho.net/octopress/2012/11/29/entendendo-o-hsts/
https://www.cybrary.it/0p3n/sslstrip-in-man-in-the-middle-attack/

Sniffers e Análise de pacotes na rede cabeada

Os sniffers são ferramentas que permitem capturar e scanear o trafego da rede, possibilitando ao administrador reunir informações, monitorar o uso de protocolos que não deveriam trafegar na rede e enfrentar de forma objetiva questões que afetam o desempenho de serviços.

A análise dos pacotes capturados permite o levantamento de questões como: “o tráfego da rede está normal”? “Existe alguma flag TCP não usual”?

Há também a possibilidade de analisarmos assinaturas de malwares, tráfego não criptografado e protocolos trocados entre dispositivos de rede para fins de aprendizado, laboratório, troubleshooting e ajustes.

A análise de pacotes pode ser dividida em 4 fases: gather (reunir), decode (decodificar), display (exibir) e analyze (analisar).

Os softwares de análise de pacotes reúnem e decodificam os bits recebidos pela placa de rede. Uma vez decodificada as informações por protocolo e fluxo, os sniffers exibem o resultado de uma forma legível ao administrador. A analise do tráfego capturado pode ser efetuada tanto em tempo real da captura ou com a utilização um arquivo pré-capturado.

A maioria dos programas utilizados para sniffer são bastante funcionais independentemente do SO ou o modo de exibição. Sniffers como Wireshark possuem um painel principal para exibição dos pacotes de entrada e alguns destaques, permitindo a utilização de filtros para visualizar apenas parte do tráfego que o administrador deseja analisar.

Podemos utilizar o bash (linux) para capturar o trafego de rede e salvar um arquivo .pcap para abrir posteriormente em um wireshark:

# Pegando todo o trafego 
tcpdump -i any -w file.pcap

#Filtrando uma porta TCP especifica
tcpdump -i any port 80 -w file.pcap

Cenários para a capturar os pacotes?

As principais formas de captura de pacotes são as seguintes:

– Host ou Servidor conectado a uma porta de Switch: Nesse cenário o administrador poderá conectar um host com um software de sniffer  e então visualizará (apenas) as mensagens direcionadas a aquela máquina, além de mensagens em broadcast, multicast na LAN.

– Host ou Servidor conectado a um TAP ou HUB: Um HUB ou TAP replica a comunicação de uma porta para todas as portas, nesse caso é possível visualizar todo o tráfego que passa pelo HUB utilizando um sniffer. Atualmente TAPs cada vez mais “inteligentes” permitem a otimização e seleção do tráfego copiado.

– Host ou Servidor conectado a uma porta de Switch com SPAN (espelhada): Uma porta espelhada direciona uma cópia do tráfego de uma determinada origem (porta ou VLAN) para a porta configurada com SPAN. Nesse tipo de cenário o administrador pode copiar todo o tráfego de um uplink/porta e direcionar para um servidor IDS ou máquina com sniffer.

– MAC Flooding: Utilizando ferramentas como o macof, um atacante pode inundar (flood) a rede de quadros Ethernet com endereços MAC falsos, esgotando a tabela CAM dos switches e forçando os equipamentos a entrar no modo fail-open, atuando assim como um HUB – alguns equipamentos reiniciam ou entram em modo de proteção nesses cenários.

– ARP Spoofing: Utilizando ferramentas como arpspoof (entre outras) o atacante consegue interceptar o tráfego entre 2 partes atuando como man-in-the-middle, podendo inclusive manipular o tráfego sem a percepção das vítimas.

Ataques passivos e ativos utilizando sniffing

sniffing pode ser classificado como ativo ou passivo. Normalmente, o sniffing passivo é considerado como qualquer tipo de captura onde o tráfego é apenas analisado e não há alteração no tráfego da rede. Já no sniffing ativo, o tráfego além de ser monitorado é também alterado pelo atacante.

A utilização de sniffers afeta os seguintes pontos da Segurança da Informação:

– Confidencialidade: Proteção dos dados contra divulgação não autorizada;

– Integridade:
 Proteção dos dados contra modificação não autorizada;

– Disponibilidade:
 Data e serviços disponíveis aos usuários autorizados;

– Autenticação:
 Verificação da identidade de um usuário ou equipamento.

Monitoração e defesa

A captura de informações da rede pode ser utilizada para o início de ataques contra a rede como também ser considerada ilegal – a menos que a ação tenha sido autorizada ou o administrador esteja monitorando a rede como empregado/contratado.

Existem algumas práticas para mitigar o sniffing:

– Desabilite portas não utilizadas em switches.

– Use criptografia no tráfego de rede sempre que possível, principalmente para informações sensíveis como e-mail, transações via web e configuração de equipamentos.

– Use funcionalidades de segurança em Switches como portsecurity, dhcp-snooping com dynamic arp inspection ip source guard para mitigar ataques como Mac flooding e ARP spoofing/poisoning.

– Utilize autenticação via 802.1x para rede cabeada e sem-fio.

– Crie uma rede segregada para serviços, usuários, usuários Guest e dispositivos BYOD.

– Cuide da segurança física dos equipamentos de rede.

Para finalizar, utilize ferramentas como IDS, SIEM, UBA, NBA, Syslog, SNMP, entre outros para monitoração do tráfego  e eventos na rede.

Referências

ORIYANO, Sean-Philip. CEHv9 – Certified Ethical Hacker Version 9 – Study Guide. Indianópolis: John Wiley & Sons,2017.

Falando do Projeto Flipper Zero

O Flipper Zero é um dispositivo de baixo custo que combina diversas ferramentas de hardware hacking para sistemas de controle de acesso, RFID, BAD USB, infrared, Wi-Fi etc. Ideal para pentesters e pesquisadores.

Nesse vídeo inserimos falamos um pouco do hardware, o potencial da ferramenta e suas implicações no dia a dia.

Agradecimento especial ao Ricardo Logan pela revisão e apoio no vídeo.