O que é um Port Scan?
Um scanner de porta é um aplicativo feito para sondar um host ou servidor para identificar portas abertas. Os malfeitores podem usar scanners de porta para explorar vulnerabilidades, encontrando serviços de rede em execução em um host. Eles também podem ser usados por analistas de segurança para confirmar as políticas de segurança de rede.
Como funciona um Port Scan
A execução de uma varredura de porta em uma rede ou servidor revela quais portas estão abertas e escutando (recebendo informações), além de revelar a presença de dispositivos de segurança, como firewalls, que estão presentes entre o remetente e o alvo. Essa técnica é conhecida como fingerprinting.
Também é útil para testar a segurança da rede e a força do firewall do sistema. Devido a essa funcionalidade, ele também é uma ferramenta de reconhecimento popular entre os invasores que buscam um ponto fraco de acesso para invadir um computador.
Os portos variam em seus serviços oferecidos. Eles são numerados de 0 a 65535, mas alguns intervalos são usados com mais frequência. As portas de 0 a 1023 são identificadas como "portas conhecidas" ou portas padrão e foram atribuídas a serviços pela IANA (Internet Assigned Numbers Authority). Alguns dos portos mais proeminentes e seus serviços atribuídos incluem:
- Porta 20 (UDP) - Protocolo de transferência de arquivos (FTP) para transferência de dados
- Porta 22 (TCP) - Protocolo Secure Shell (SSH) para logins seguros, FTP e encaminhamento de porta
- Porta 23 (TCP) - Protocolo Telnet para comunicações de texto não criptografadas
- Porta 53 (UDP) - O Domain Name System (DNS) converte os nomes de todos os computadores na Internet em endereços IP
- Porta 80 (TCP) - HTTP da World Wide Web
Também há serviços padrão oferecidos em portas após a 1023 e portas que, se abertas, indicam um sistema infectado devido à sua popularidade com alguns cavalos de Troia e vírus de longo alcance.
Tipos de Port Scans
Uma varredura de porta envia um pacote cuidadosamente preparado para cada número de porta de destino. As técnicas básicas que o software de varredura de portas é capaz de realizar incluem:
- Vanilla - a varredura mais básica; uma tentativa de se conectar a todas as 65.536 portas, uma de cada vez. Uma varredura vanilla é uma varredura de conexão completa, o que significa que ela envia um sinalizador SYN (solicitação de conexão) e, ao receber uma resposta SYN-ACK (confirmação de conexão), envia de volta um sinalizador ACK. Essa troca de SYN, SYN-ACK e ACK constitui um handshake TCP. As varreduras de conexão completa são precisas, mas muito facilmente detectadas porque as conexões completas são sempre registradas pelos firewalls.
- SYN Scan - também chamado de half-open scan, ele envia apenas um SYN e aguarda uma resposta SYN-ACK do alvo. Se uma resposta for recebida, o scanner nunca responderá. Como a conexão TCP não foi concluída, o sistema não registra a interação, mas o remetente sabe se a porta está aberta ou não.
- Explorações de Natal e FIN - um exemplo de um conjunto de varreduras usadas para coletar informações sem serem registradas pelo sistema de destino. Em uma varredura FIN, um sinalizador FIN não solicitado (usado normalmente para encerrar uma sessão estabelecida) será enviado a uma porta. A resposta do sistema a esse sinalizador aleatório pode revelar o estado da porta ou informações sobre o firewall. Por exemplo, uma porta fechada que recebe um pacote FIN não solicitado responderá com um pacote RST (um aborto instantâneo), mas uma porta aberta o ignorará. Uma varredura de Xmas simplesmente envia um conjunto de todos os sinalizadores, criando uma interação sem sentido. A resposta do sistema pode ser interpretada para entender melhor as portas e o firewall do sistema.
- FTP Bounce Scan - permite que o local do remetente seja disfarçado, fazendo com que o pacote passe por um servidor FTP. Isso também foi projetado para que o remetente não seja detectado.
- Sweep scan - faz o ping da mesma porta em vários computadores para identificar quais computadores da rede estão ativos. Isso não revela informações sobre o estado da porta, mas informa ao remetente quais sistemas em uma rede estão ativos. Portanto, ele pode ser usado como um exame preliminar.
Resultados da varredura de portas
Um scanner de porta envia um pacote de rede UDP ou TCP que pergunta à porta sobre seu status. Os resultados revelarão o status da rede ou do servidor, que pode ser um dos seguintes: aberto, fechado e filtrado.
1. Aberto - Aceito
Uma porta aberta indica o seguinte:
- A rede/serviço de destino está aceitando datagramas/conexões.
- A rede/serviço de destino respondeu com um pacote TCP SYN para indicar que está ouvindo
- O serviço utilizado para a varredura de portas está em uso (geralmente UDP ou TCP).
Para os malfeitores, localizar portas abertas é a missão. Isso cria um desafio para o pessoal de segurança que se depara com a tarefa de bloquear portas abertas com firewalls (evitando, ao mesmo tempo, cortar o acesso de usuários autorizados).
2. Fechado - Não está ouvindo
Uma porta fechada indica o seguinte:
- A rede/servidor de destino recebeu a solicitação, mas nenhum serviço está escutando
Embora a porta esteja fechada, ela ainda pode ser acessada e, portanto, é útil para confirmar que um host está presente em um endereço IP. A equipe de segurança deve monitorar continuamente as portas fechadas e considerar barricá-las com firewalls (tornando-as portas filtradas).
3. Filtrado - descartado/bloqueado
Uma porta filtrada indica o seguinte:
- Foi enviado um pacote de solicitação. O host não está ouvindo e não responde.
- O pacote de solicitação provavelmente foi bloqueado por um firewall ou por um sistema de prevenção de intrusão.
Enquanto os pacotes não atingirem o alvo, os malfeitores não terão como descobrir mais informações. Normalmente, os pacotes enviados às portas filtradas não receberão resposta, mas, quando isso acontece, a mensagem de erro geralmente é "comunicação proibida" ou "destino inalcançável".
Como os malfeitores usam o Port Scanning como um método de ataque
A varredura de portas é uma das táticas mais populares usadas por agentes mal-intencionados na busca de um servidor vulnerável, de acordo com o SANS Institute. Ao visar as redes, a varredura de portas é normalmente a primeira etapa. A varredura de portas fornece informações úteis sobre o ambiente da rede, como, por exemplo, o que o senhor está fazendo?
- Defesas que estão presentes, como firewalls
- Detalhes sobre o sistema alvo
- Máquinas que estão on-line
- Aplicativos que estão em execução
- Quem pode ter uma rede ou um servidor vulnerável
Esse tipo de informação é altamente valioso para agentes mal-intencionados que estão procurando vulnerabilidades em software. A capacidade de identificar que uma organização está executando um servidor DNS ou da Web específico facilita muito a localização dessas vulnerabilidades. Há várias técnicas de protocolo TCP que permitem que os malfeitores usem tráfego de engodo para varreduras de portas, ocultando totalmente seu endereço de rede e localização.
As varreduras desenvolvidas para que o remetente não seja detectado pelo registro de um sistema receptor são conhecidas como varreduras furtivas e são de interesse especial para os invasores. Apesar de sua popularidade nessa área, a varredura de portas é uma ferramenta valiosa para a impressão digital de uma rede e para que um testador de penetração avalie a força da segurança da rede.
Perguntas frequentes sobre o Port Scan
Há vários métodos para realizar varreduras de portas:
- Varredura SYN (varredura meio aberta): Envolve o envio de um pacote SYN e a espera de uma resposta SYN-ACK sem concluir o handshake do TCP, o que dificulta a detecção.
- FIN Scan: A técnica envia um pacote FIN para portas fechadas, o que aciona uma resposta de reinicialização (RST). É comumente usado para contornar a detecção do firewall.
- XMAS Scan: Transmite um pacote com todos os sinalizadores definidos, semelhante a uma árvore de Natal "iluminada", e ajuda a identificar a presença do firewall e o estado das portas.
- Varredura UDP: Determina quais portas UDP estão abertas enviando pacotes UDP e aguardando uma resposta, pois esse protocolo não requer um handshake.
O rastreamento de portas geralmente serve como prelúdio para vários tipos de ataques cibernéticos. Por exemplo, ele pode ser utilizado para:
- Detectar portas abertas que podem ser exploradas para entrada não autorizada.
- Atuar como uma etapa inicial para lançar ataques mais específicos, como ataques de negação de serviço (DoS) ou violações de dados.
- Fornecer aos atacantes as informações críticas necessárias para injetar malware ou executar códigos maliciosos, expondo as vulnerabilidades da rede.