Ferramentas para Scanning
Scanning
O Scanning (ou Varredura, em Português Brasileiro) é uma técnica usada em segurança cibernética para coletar informações sobre sistemas, redes ou dispositivos, identificando seus serviços, portas abertas, vulnerabilidades e outras características. A varredura é uma fase crítica em um teste de penetração ou auditoria de segurança, permitindo aos profissionais mapear a superfície de ataque de um alvo, seja uma rede, servidor ou dispositivo. Existem algumas classificações para o Scanning:
Varredura de Portas
Tem como objetivo identificar portas abertas em um sistema ou rede que estão escutando por conexões. Aqui usamos ferramentas como: Nmap e Masscan.Varredura de Vulnerabilidades
Tem como objetivo detectar vulnerabilidades conhecidas em sistemas ou aplicativos, como softwares desatualizados ou mal configurados. Aqui usamos ferramentas como: OpenVAS, Nessus e Qualys.Varredura de Rede
Tem como objetivo mapear a topologia da rede, identificando dispositivos, hosts ativos, rotas e serviços disponíveis. Aqui usamos ferramentas como: Nmap, e Netdiscover.Varredura de Serviços
Tem como objetivo identificar quais serviços estão rodando em um sistema e suas versões. Aqui usamos ferramentas como: Nmap e Nikto.Varredura Web
Tem como objetivo descobrir diretórios, páginas e vulnerabilidades em aplicações web. Aqui usamos ferramentas como: Dirb, Gobuster e Nikto.
NMAP
O Nmap (Network Mapper) é uma ferramenta amplamente utilizada para varredura de rede e auditoria de segurança. Ele é uma ferramenta de código aberto que permite aos administradores de rede e profissionais de segurança mapear redes, identificar dispositivos conectados, descobrir portas abertas e detectar serviços em execução. É um dos utilitários mais populares para realizar reconhecimento e auditorias de segurança.
O Nmap pode identificar portas abertas em dispositivos ou servidores, determinando quais serviços estão escutando por conexões em cada porta. Além de identificar portas abertas, o Nmap pode descobrir quais serviços estão rodando e suas versões. Isso ajuda a saber se há versões vulneráveis de softwares em execução. O Nmap também pode tentar identificar o sistema operacional que está rodando em um dispositivo ou servidor, com base em padrões de resposta a pacotes de rede.
Ele pode mapear redes inteiras, descobrindo quais dispositivos estão ativos em uma rede e suas respectivas configurações. Pode detectar a presença de firewalls, filtros de pacotes, e outras medidas de segurança que podem estar bloqueando ou modificando pacotes de rede. Uma das funcionalidades mais poderosas do Nmap é o NSE, que permite usar scripts para realizar varreduras mais específicas e avançadas, como detecção de vulnerabilidades, ataques de força bruta, ou exploração de falhas conhecidas.
A tabela abaixo demonstra os principais parâmetros do comando nmap.
Parâmetro | Descrição |
---|---|
-sS | Realiza uma varredura TCP SYN (half-open), rápida e furtiva. |
-sT | Realiza uma varredura TCP Connect, completa a conexão com as portas. |
-sT | Varredura TCP Connect, completa a conexão com as portas (não furtiva, mais detectável). |
-sA | Varredura TCP ACK, usada para verificar o estado do firewall (se está filtrando pacotes). |
-sW | Varredura TCP Window, similar à -sA , mas aproveita variações no tamanho da janela TCP. |
-sM | Varredura TCP Maimon, utilizada para detectar portas filtradas em alguns firewalls. |
-sU | Varredura de portas UDP, usada para identificar serviços UDP ativos. |
-sn | Varredura de Ping para descobrir hosts ativos sem verificar portas. |
-sV | Detecta os serviços rodando em portas abertas e suas respectivas versões. |
-O | Detecta o sistema operacional do host alvo. |
-p | Especifica as portas a serem verificadas. Exemplo: -p 80,443 . |
-iL | Lê os alvos a partir de um arquivo de lista. |
-sO | Varredura de protocolos IP, verifica quais protocolos estão habilitados no alvo. |
-sY | Varredura SCTP INIT, para descobrir portas SCTP abertas (protocolo de comunicação). |
-sZ | Varredura SCTP COOKIE-ECHO, semelhante à -sY , mas completa o handshake SCTP. |
-sN | Varredura TCP NULL, não envia nenhum flag nos pacotes TCP (varredura furtiva). |
-sF | Varredura TCP FIN, envia apenas o flag FIN, útil para contornar alguns firewalls. |
-sX | Varredura TCP Xmas, envia flags FIN, PSH, URG, caracterizando uma varredura furtiva. |
-sI | Varredura Idle Scan, usa um host ocioso como "zumbi" para realizar varreduras sem ser detectado. |
-Pn | Varredura sem envio de pacotes de Ping, assume que o host está ativo e varre sem checar conectividade. |
-D ip1,ip2,ip3 | É usado para realizar uma varredura disfarçada através da utilização de decoys (cobaias), além de logar o IP de quem está consultando, loga outros endereços IP. |
Abaixo vamos ver alguns tipos de varredura usando o Nmap.
Uma das varreduras mais rápidas e usadas, envia pacotes SYN (Varredura TCP SYN) e analisa as respostas para determinar se uma porta está aberta, sem completar a conexão TCP.
$ nmap -sS scanme.nmap.org
Realiza uma varredura completa de TCP (TCP Connect), abrindo e fechando as conexões com as portas-alvo.
$ nmap -sT scanme.nmap.org
Varre portas UDP para verificar se serviços como DNS, DHCP e SNMP estão ativos, o que pode ser mais lento que varreduras TCP.
$ nmap -sU scanme.nmap.org
Detecta quais hosts estão ativos na rede (usando ping), ignorando as portas abertas, útil para descobrir dispositivos ativos.
$ nmap -sn 192.168.1.0/24
Identifica os serviços que estão rodando em portas abertas e suas respectivas versões.
$ nmap -sV scanme.nmap.org
Tenta detectar o sistema operacional que está rodando no host.
$ nmap -O scanme.nmap.org
Realiza uma varredura rápida, buscando as portas mais comuns.
$ nmap scanme.nmap.org
Esse comando
Verifica se as portas 80 (HTTP) e 443 (HTTPS) estão abertas.
$ nmap -p 80,443 scanme.nmap.org
Varre toda a rede para encontrar dispositivos ativos e suas portas abertas.
$ nmap 192.168.1.0/24
Executa scripts NSE para procurar vulnerabilidades conhecidas no alvo.
$ nmap --script vuln scanme.nmap.org
Para usar outro host como intermediário para realizar uma varredura furtiva, você pode utilizar a técnica de Idle Scan com o parâmetro -sI
no Nmap. Nesta varredura, um host ocioso (chamado de zumbi) é usado para enviar pacotes ao alvo, permitindo que o atacante permaneça invisível, já que o alvo vê o zumbi como o originador do tráfego.
$ nmap -Pn -sI 192.168.1.100 scanme.nmap.org
# O host 192.168.1.100 é o 'zumbi'. Ainda é possível usar uma porta
# aberta no servidor zumbi:
$ nmap -Pn -sI 192.168.1.100:445 scanme.nmap.org