Skip to content

MASTG-TECH-0122: Interceptação Passiva

Este método envolve a captura passiva do tráfego de rede usando ferramentas como Wireshark, tcpdump ou Android tcpdump. É útil para identificar endpoints de rede, analisar metadados de protocolo e entender como um aplicativo se comunica com seu servidor. No entanto, ele não pode descriptografar automaticamente a comunicação criptografada com TLS. Dito isso, a descriptografia TLS é possível se você conseguir obter o segredo pre-master. Para um exemplo específico do Android, consulte este artigo.

Quando é útil?

A interceptação passiva é particularmente útil nos seguintes cenários:

  • Solução de problemas de MITM ativo: Identificar erros de handshake TLS, falhas de validação de certificado e anomalias de roteamento que podem fazer com que técnicas de interceptação ativa falhem.
  • Análise de tráfego não HTTP em texto claro: Monitorar protocolos como XMPP, MQTT, DNS, SMB e protocolos personalizados UDP/TCP usados pelo aplicativo. Também é útil para analisar o tráfego de notificações push de serviços como Google Cloud Messaging (GCM) / Firebase Cloud Messaging (FCM) no Android ou Apple Push Notification Service (APNS) no iOS.
  • Análise de tráfego de aplicativos não conscientes de proxy: Alguns aplicativos móveis ignoram as configurações de proxy do sistema (por exemplo, aqueles construídos com Xamarin) ou detectam e bloqueiam ativamente proxies MITM. A interceptação passiva permite o monitoramento sem acionar mecanismos de detecção.
  • Investigação de anomalias de rede e vazamentos de dados não intencionais: O monitoramento passivo pode ajudar a detectar comunicação inesperada com terceiros, vazamento de dados por meio de solicitações DNS ou conexões de saída incomuns. Além disso, mesmo que a criptografia TLS impeça a inspeção direta do payload, vazamentos de metadados (por exemplo, tamanho da solicitação, padrões de tempo, nomes de domínio ou sequências de pacotes) ainda podem fornecer informações valiosas e podem ser úteis para ataques de canal lateral.

Como funciona?

A interceptação passiva pode ser realizada de duas maneiras:

  1. Diretamente em um dispositivo Android com root ou iOS com jailbreak Se o dispositivo estiver com root (Android) ou com jailbreak (iOS), você pode capturar o tráfego de rede diretamente usando tcpdump ou ferramentas similares, sem a necessidade de um computador host. Isso permite monitorar todos os pacotes de entrada e saída em tempo real.

  2. Roteando o tráfego através de um computador host (funciona em dispositivos com e sem root/jailbreak) Se a captura direta de pacotes no dispositivo não for possível ou preferível, você pode rotear seu tráfego de rede para um computador host e analisá-lo usando ferramentas como Wireshark ou Android tcpdump. Este método se aplica a dispositivos com e sem root/jailbreak e normalmente é alcançado por meio de:

  3. Usando um proxy de interceptação para interceptar e analisar o tráfego HTTP/S.
  4. Configurando uma captura baseada em VPN para redirecionar o tráfego através de um túnel de rede controlado.
  5. Realizando ARP spoofing ou configurando uma torneira de rede transparente em uma rede Wi-Fi.

Instruções por plataforma