Executar Varredura TCP Null no Nmap

NmapBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como executar a varredura TCP Null (Null scanning) no Nmap. O laboratório cobre vários aspectos da varredura Null, incluindo a execução de uma varredura Null básica em um endereço IP específico, a varredura de uma faixa de portas definida, a adição de verbosidade à varredura, o salvamento dos resultados da varredura, a comparação de varreduras Null com varreduras SYN e a revisão dos resultados no terminal Xfce.

Varreduras Null, onde todos os flags TCP são definidos como zero, podem ajudar a determinar os estados das portas, mas podem nem sempre ser confiáveis devido a certos firewalls ou sistemas que descartam pacotes sem flags. Através de uma série de comandos Nmap, você obterá experiência prática com diferentes operações de varredura Null.

Executar varredura Null com nmap -sN 192.168.1.1

Nesta etapa, executaremos uma varredura Null usando o Nmap. Uma varredura Null é um tipo de varredura TCP onde todos os flags TCP são definidos como zero. Isso significa que nenhum flag (SYN, ACK, RST, FIN, URG, PSH) é definido no cabeçalho TCP. A resposta a uma varredura Null pode ajudar a determinar o estado de uma porta.

Aqui está uma breve visão geral de como as varreduras Null funcionam:

  • Varredura Null (Null Scan): Envia um pacote TCP sem nenhum flag definido.
  • Porta Aberta ou Filtrada: Se a porta estiver aberta ou filtrada, não haverá resposta.
  • Porta Fechada: Se a porta estiver fechada, o host de destino deve responder com um pacote RST (reset).

É importante notar que as varreduras Null nem sempre são confiáveis, pois alguns firewalls ou sistemas podem descartar pacotes sem flags definidos.

Vamos executar uma varredura Null contra o endereço IP 192.168.1.1. Abra seu terminal Xfce e execute o seguinte comando:

sudo nmap -sN 192.168.1.1

Este comando instrui o Nmap a executar uma varredura Null (-sN) contra o endereço IP de destino 192.168.1.1. Você precisará de privilégios sudo para executar o Nmap.

A saída mostrará o status das portas na máquina de destino. Como as varreduras Null geralmente não fornecem respostas definitivas, você pode ver portas listadas como open|filtered ou closed.

Exemplo de saída (a saída real variará dependendo do destino):

Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for 192.168.1.1
Host is up (0.00028s latency).
All 1000 scanned ports on 192.168.1.1 are filtered

Nmap done: 1 IP address (1 host up) scanned in 3.21 seconds

Neste exemplo, todas as 1000 portas varridas são relatadas como filtradas. Isso significa que o Nmap não conseguiu determinar se as portas estão abertas ou fechadas devido a regras de firewall ou outras configurações de rede.

Varredura de faixa de portas com nmap -sN -p 1-100 127.0.0.1

Nesta etapa, estenderemos o uso da varredura Null especificando uma faixa de portas para varrer. Isso nos permite focar nossa varredura em portas específicas de interesse, em vez de varrer todas as 1000 portas padrão. Varremos as portas de 1 a 100 no localhost (127.0.0.1).

A opção -p no Nmap permite que você especifique a faixa de portas. A sintaxe é -p <start_port>-<end_port>. Em nosso caso, usaremos -p 1-100 para varrer as portas de 1 a 100.

Abra seu terminal Xfce e execute o seguinte comando:

sudo nmap -sN -p 1-100 127.0.0.1

Este comando instrui o Nmap a executar uma varredura Null (-sN) nas portas de 1 a 100 (-p 1-100) do localhost (127.0.0.1). Lembre-se de que você precisa de privilégios sudo para executar o Nmap.

A saída mostrará o status das portas 1-100 na máquina de destino. Como na varredura Null anterior, os resultados podem não ser definitivos, e você pode ver portas listadas como open|filtered ou closed.

Exemplo de saída (a saída real variará):

Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000090s latency).
Not shown: 99 filtered ports
PORT    STATE  SERVICE
7/tcp   closed echo

Nmap done: 1 IP address (1 host up) scanned in 0.12 seconds

Neste exemplo, a porta 7 (echo) é relatada como fechada, e as outras 99 portas são filtradas. Isso indica que o host de destino respondeu com um pacote RST para a porta 7, enquanto as outras portas não responderam ou suas respostas foram bloqueadas por um firewall.

Adicionar verbosidade com nmap -v -sN 192.168.1.1

Nesta etapa, adicionaremos verbosidade à nossa varredura Null. A verbosidade no Nmap fornece informações mais detalhadas sobre o processo de varredura, o que pode ser útil para entender o que o Nmap está fazendo e para solucionar quaisquer problemas.

A opção -v no Nmap aumenta o nível de verbosidade. Você pode usar -v várias vezes (por exemplo, -vv) para aumentar a verbosidade ainda mais. Para esta etapa, usaremos um único -v.

Abra seu terminal Xfce e execute o seguinte comando:

sudo nmap -v -sN 192.168.1.1

Este comando instrui o Nmap a executar uma varredura Null (-sN) contra o endereço IP de destino 192.168.1.1, com verbosidade aumentada (-v). Você precisará de privilégios sudo para executar o Nmap.

A saída será mais detalhada do que a varredura Null anterior. Você verá informações sobre o progresso da varredura, as portas sendo varridas e quaisquer erros ou avisos que ocorram.

Exemplo de saída (a saída real variará dependendo do destino):

Starting Nmap 7.80 ( https://nmap.org )
NSE: Loaded 0 scripts for scanning.
Initiating Null scan for 192.168.1.1
Scanning 192.168.1.1 [1000 ports]
Completed Null scan for 192.168.1.1
Nmap scan report for 192.168.1.1
Host is up (0.00028s latency).
All 1000 scanned ports on 192.168.1.1 are filtered

Nmap done: 1 IP address (1 host up) scanned in 3.21 seconds

Observe as linhas adicionais na saída, como "NSE: Loaded 0 scripts for scanning.", "Initiating Null scan for 192.168.1.1", "Scanning 192.168.1.1 [1000 ports]", e "Completed Null scan for 192.168.1.1". Essas linhas fornecem mais informações sobre o processo de varredura.

Salvar resultados da varredura Null com nmap -sN -oN null.txt 127.0.0.1

Nesta etapa, salvaremos os resultados de nossa varredura Null em um arquivo. Isso é útil para análise posterior ou para documentar suas descobertas. O Nmap oferece várias opções para salvar os resultados da varredura em diferentes formatos. Usaremos a opção -oN, que salva os resultados em um formato normal, legível por humanos.

A opção -oN recebe um nome de arquivo como argumento. Em nosso caso, salvaremos os resultados em um arquivo chamado null.txt no diretório ~/project.

Abra seu terminal Xfce e execute o seguinte comando:

sudo nmap -sN -oN null.txt 127.0.0.1

Este comando instrui o Nmap a executar uma varredura Null (-sN) contra o localhost (127.0.0.1) e salvar os resultados em formato normal (-oN) no arquivo null.txt. Você precisará de privilégios sudo para executar o Nmap.

Após a conclusão da varredura, você pode visualizar o conteúdo do arquivo null.txt usando o comando cat ou um editor de texto como nano.

cat null.txt

Exemplo de saída (a saída real variará):

## Nmap 7.80 scan initiated Mon Oct 26 14:35:00 2020
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000090s latency).
All 1000 scanned ports on localhost (127.0.0.1) are filtered

## Nmap done at Mon Oct 26 14:35:03 2020 -- 1 IP address (1 host up) scanned in 3.21 seconds

Você também pode abrir o arquivo com nano:

nano null.txt

Isso abrirá o arquivo null.txt no editor de texto nano, permitindo que você visualize e edite o conteúdo.

Comparar varredura Null com varredura SYN no terminal Xfce

Nesta etapa, compararemos os resultados de uma varredura Null com uma varredura SYN. Isso ajudará você a entender as diferenças entre esses dois tipos de varredura e como eles podem ser usados para coletar informações diferentes sobre um alvo.

Uma varredura SYN (também conhecida como varredura half-open) é uma varredura mais furtiva que não completa o handshake TCP. Ela envia um pacote SYN para o alvo e, se o alvo responder com um SYN/ACK, isso indica que a porta está aberta. O Nmap então envia um pacote RST para fechar a conexão.

Uma varredura Null, por outro lado, envia um pacote TCP sem nenhuma flag definida. A resposta do alvo pode indicar se a porta está aberta, fechada ou filtrada, dependendo do sistema operacional e da configuração do firewall do alvo.

Primeiro, vamos realizar uma varredura SYN contra o localhost (127.0.0.1) e salvar os resultados em um arquivo chamado syn.txt.

Abra seu terminal Xfce e execute o seguinte comando:

sudo nmap -sS -oN syn.txt 127.0.0.1

Este comando instrui o Nmap a executar uma varredura SYN (-sS) contra o localhost (127.0.0.1) e salvar os resultados em formato normal (-oN) no arquivo syn.txt. Você precisará de privilégios sudo para executar o Nmap.

Agora, vamos comparar o conteúdo de null.txt (que criamos na etapa anterior) com o conteúdo de syn.txt. Você pode usar o comando diff para comparar os dois arquivos:

diff null.txt syn.txt

O comando diff mostrará as diferenças entre os dois arquivos. Você também pode usar um editor de texto como nano para abrir ambos os arquivos e compará-los lado a lado.

nano null.txt syn.txt

Examine a saída de ambas as varreduras. Você pode notar que a varredura SYN é mais propensa a identificar portas abertas do que a varredura Null, especialmente se o sistema de destino estiver configurado para descartar pacotes sem flags definidas. As varreduras Null são frequentemente usadas para tentar contornar firewalls ou sistemas de detecção de intrusão, mas nem sempre são confiáveis.

A principal diferença é que a varredura SYN tenta estabelecer uma conexão, enquanto a varredura Null envia um pacote sem flags definidas, confiando na resposta do alvo para inferir o status da porta.

Revisar resultados no terminal Xfce

Nesta etapa, revisaremos os resultados das varreduras Null e SYN que realizamos nas etapas anteriores. Isso envolve examinar os arquivos de saída (null.txt e syn.txt) e interpretar as informações que eles contêm.

Abra seu terminal Xfce e use o comando cat ou o editor nano para visualizar o conteúdo de ambos os arquivos.

cat null.txt
cat syn.txt

Ou, usando nano:

nano null.txt
nano syn.txt

Ao revisar os resultados, considere o seguinte:

  • Status do Host: Verifique se o host de destino é relatado como "up" (ativo) ou "down" (inativo). Se o host estiver inativo, o Nmap pode não ser capaz de coletar muita informação.
  • Status da Porta: Procure o status de cada porta. Os status de porta comuns incluem "open" (aberta), "closed" (fechada) e "filtered" (filtrada).
    • Open (Aberta): Indica que a porta está ouvindo por conexões.
    • Closed (Fechada): Indica que a porta não está ouvindo por conexões.
    • Filtered (Filtrada): Indica que um firewall ou outro dispositivo de rede está bloqueando o acesso à porta, tornando difícil determinar seu status.
  • Diferenças entre as varreduras Null e SYN: Compare os resultados das duas varreduras. Uma varredura identificou mais portas abertas do que a outra? Houve alguma porta que foi relatada como "filtered" (filtrada) por uma varredura, mas "closed" (fechada) pela outra?

Por exemplo, o null.txt pode mostrar todas as portas como filtradas:

## Nmap 7.80 scan initiated Mon Oct 26 14:35:00 2020
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000090s latency).
All 1000 scanned ports on localhost (127.0.0.1) are filtered

## Nmap done at Mon Oct 26 14:35:03 2020 -- 1 IP address (1 host up) scanned in 3.21 seconds

Enquanto syn.txt pode mostrar algumas portas como abertas:

## Nmap 7.80 scan initiated Mon Oct 26 14:36:00 2020
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000090s latency).
PORT     STATE SERVICE
22/tcp   open  ssh
25/tcp   closed smtp
80/tcp   open  http
111/tcp  open  rpcbind
...
## Nmap done at Mon Oct 26 14:36:03 2020 -- 1 IP address (1 host up) scanned in 3.21 seconds

Ao comparar os resultados de diferentes tipos de varredura, você pode obter uma compreensão mais abrangente da postura de segurança do sistema de destino. Lembre-se de que a precisão dos resultados pode ser afetada por vários fatores, como firewalls, sistemas de detecção de intrusão e a configuração do sistema operacional do alvo.

Resumo

Neste laboratório, os participantes aprenderam a executar a varredura TCP Null usando o Nmap. Eles começaram executando uma varredura Null contra o endereço IP 192.168.1.1 com o comando sudo nmap -sN 192.168.1.1, entendendo que uma varredura Null define todas as flags TCP como zero e a resposta pode ajudar a determinar os estados das portas. Eles também aprenderam a varrer uma faixa de portas específica (1 - 100) em 127.0.0.1, adicionar verbosidade à varredura, salvar os resultados em um arquivo, comparar varreduras Null com varreduras SYN e revisar os resultados no terminal Xfce. Foi observado que as varreduras Null nem sempre são confiáveis devido a alguns firewalls ou sistemas que descartam pacotes sem flags definidas.