realfp.com

O que é varredura de portas?

Em redes de computadores, uma “porta” é um conceito abstrato usado para identificar o ponto de acesso de rede de um processo ou serviço específico em execução em um computador. Cada porta possui um número único, que varia de 0 a 65535, e esse número permite que o computador saiba para qual aplicativo deve enviar os dados recebidos.



Você pode imaginar o computador como um grande edifício, e as portas como os números das salas dentro desse edifício. Alguns “números de sala” comuns incluem: o serviço web HTTP normalmente usa a porta 80, páginas web seguras HTTPS usam a porta 443, e o serviço de e-mail SMTP usa a porta 25. Quando um pacote de dados chega ao computador, o sistema o “entrega” com precisão ao serviço ou aplicativo correspondente com base no número da porta.



O que é varredura de portas?

A varredura de portas consiste em enviar pacotes de dados específicos para várias portas de uma máquina-alvo e, com base nas respostas retornadas, determinar quais portas estão abertas ou fechadas. É como se alguém batesse, uma a uma, nas portas de um edifício para descobrir, pela existência ou não de resposta, quais salas estão ocupadas e quais estão vazias.



A varredura de portas, por si só, é uma técnica neutra——administradores de rede a utilizam para verificar vulnerabilidades de segurança em sistemas, profissionais de testes de penetração a utilizam para avaliar a capacidade de defesa de um sistema, enquanto atacantes podem usá-la para encontrar pontos de entrada para invasões.



Como um site pode realizar varredura de portas no navegador?

Você talvez ache estranho: como uma página web comum poderia escanear as portas do seu computador? Por trás disso, estão alguns mecanismos de funcionamento do navegador.



Método de varredura baseado em tempo



As primeiras técnicas de varredura de portas no navegador dependiam de “ataques de temporização”. Quando uma página web faz uma solicitação a determinada porta por meio de XMLHttpRequest ou fetch:



Se a porta estiver fechada, o navegador receberá imediatamente uma resposta de “conexão recusada”, e a solicitação falhará rapidamente



Se a porta estiver aberta, o navegador aguardará a resposta do servidor, e esse processo levará mais tempo



Ao medir o tempo de resposta da solicitação, o site pode inferir quais portas estão abertas. No entanto, esse método é bastante afetado por oscilações de rede e tem precisão limitada.



Método de varredura baseado em iframe



Mais tarde, pesquisadores descobriram uma técnica mais confiável, voltada principalmente para o navegador Chrome. Quando o Chrome tenta se conectar a uma porta fechada, o navegador altera o endereço da página para chrome-error://chromewebdata/. Aproveitando essa característica:



O site cria um iframe oculto e carrega o endereço-alvo (por exemplo, http://127.0.0.1:8080)



Se a porta estiver fechada, o evento onload do iframe será acionado duas vezes (porque a URL mudou)



Se a porta estiver aberta, o evento onload será acionado apenas uma vez



Ao contar o número de vezes que o evento onload é acionado, o site consegue determinar com precisão se a porta está aberta.



Método de varredura baseado em WebSocket



Algumas ferramentas também usam conexões WebSocket para detectar o estado das portas——uma conexão bem-sucedida significa que a porta está aberta, enquanto uma falha de conexão significa que a porta está fechada.



Por que os sites querem escanear suas portas?

1. Antifraude e detecção de bots



Muitos sites de grande porte (incluindo alguns sites de serviços governamentais e plataformas de comércio eletrônico) realizam varredura de portas para detectar se o usuário é uma pessoa real. Por exemplo, alguns sistemas antibot tentam se conectar a 127.0.0.1:8888——esta é a porta de proxy padrão de ferramentas de teste de segurança como o Burp Suite. Se essa porta for encontrada aberta, o sistema poderá suspeitar que o visitante seja um pesquisador de segurança ou um script automatizado, acionando verificações adicionais.



2. Rastreamento por impressão digital do usuário



Pesquisas mostram que os resultados de varreduras de portas baseadas no navegador têm unicidade suficiente para serem usados como meio de rastrear usuários. Ao detectar portas locais abertas, um site pode inferir quais softwares o usuário está executando——por exemplo, portas 80 ou 443 abertas podem significar que o usuário está executando um servidor web, enquanto a porta 25 aberta pode indicar que um servidor de e-mail está em execução. A combinação de softwares instalados varia enormemente de usuário para usuário, formando uma “impressão digital de software” única.



O mais preocupante é que estudos mostram que, mesmo com apenas um segundo de varredura, a impressão digital de portas gerada já apresenta um alto grau de unicidade. Quando os resultados da varredura de portas são combinados com outras técnicas de fingerprinting (como impressão digital Canvas, impressão digital WebGL etc.), a capacidade de rastreamento aumenta ainda mais.



3. Detecção de dispositivos na rede interna



A maioria dos navegadores, por padrão, permite que sites públicos façam solicitações a endereços IP privados (como 127.0.0.1 ou 192.168.x.x). Isso significa que um site malicioso pode não apenas escanear as portas locais do seu computador, mas também as portas de dispositivos da sua rede interna, como roteador doméstico, smart TV e câmeras de rede, procurando dispositivos possivelmente vulneráveis para atacá-los.



Como se proteger contra varredura de portas no navegador?

1. Use extensões de navegador



uBlock Origin: nas configurações, na seção “Privacidade”, marque a opção “Bloquear intrusão externa na rede local” para ativá-la



NoScript: oferece opções para bloquear o acesso à rede local



Algumas extensões de proteção especializadas também podem impedir que sites escaneiem portas locais



2. Use navegadores com proteção integrada



Alguns navegadores já possuem recursos integrados de proteção contra varredura de portas. Por exemplo, certos navegadores bloqueiam ativamente scripts maliciosos de varredura conhecidos e restringem o acesso de sites públicos a recursos locais. Navegadores como o Chrome também estão implementando gradualmente a especificação de “Acesso à Rede Privada”, exigindo que sites obtenham permissão do usuário antes de acessar recursos locais.



3. Use navegadores de fingerprinting



Para usuários com necessidades de privacidade mais elevadas, navegadores antidetect oferecem uma solução de proteção mais abrangente. Esse tipo de ferramenta pode simular diferentes estados de portas, impedindo que sites obtenham resultados reais de varredura de portas e, assim, protegendo efetivamente a privacidade da impressão digital do seu dispositivo.



Resumo

A varredura de portas é uma técnica que pode ser usada tanto para auditorias de segurança legítimas quanto abusada para violar a privacidade. Entender seu funcionamento e seus riscos potenciais é o primeiro passo para proteger sua segurança na rede. Como diz um antigo ditado da área de segurança: “Só sabendo onde suas ‘portas’ estão abertas é que você saberá qual delas deve fechar.”