Realizar Varredura de Janela no Nmap

NmapBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como realizar a varredura de janela (window scanning) no Nmap, uma habilidade valiosa em segurança de rede. O laboratório começa com a execução de uma varredura de janela básica em um endereço IP alvo, progredindo então para a varredura de uma faixa de portas específica. Você também adicionará verbosidade à varredura, salvará os resultados em um arquivo, analisará a varredura no terminal Xfce e a comparará com uma varredura ACK. Essa experiência prática aprimorará sua compreensão das capacidades de varredura de janela do Nmap.

Executar varredura de janela com nmap -sW 192.168.1.1

Nesta etapa, realizaremos uma varredura de janela (Window scan) usando o Nmap. Uma varredura de janela é um tipo de varredura TCP que, às vezes, pode revelar mais informações sobre portas abertas e filtradas do que outros tipos de varredura. É particularmente útil quando firewalls estão em vigor e podem bloquear outros tipos de varreduras.

Antes de começarmos, vamos discutir brevemente o que uma varredura de janela faz. A varredura de janela explora uma peculiaridade em algumas implementações TCP. Ela envia um pacote TCP com a flag SYN definida para o host alvo. Se a porta estiver aberta, o alvo responde com um pacote SYN/ACK. O Nmap então examina o tamanho da janela TCP da resposta. Com base nesse tamanho da janela, o Nmap pode determinar se a porta está aberta ou filtrada.

Agora, vamos executar a varredura de janela. Usaremos o seguinte comando:

nmap -sW 192.168.1.1

Substitua 192.168.1.1 pelo endereço IP real do alvo que você deseja varrer. Se você não tiver certeza de qual endereço IP usar, pode usar o endereço de loopback 127.0.0.1, que se refere à sua própria máquina.

Abra seu terminal Xfce. Você pode encontrar o ícone do terminal na área de trabalho ou no menu de aplicativos.

No terminal, digite o seguinte comando e pressione Enter:

nmap -sW 127.0.0.1

Este comando instrui o Nmap a realizar uma varredura de janela (-sW) no endereço de loopback (127.0.0.1).

Você deve ver uma saída semelhante à seguinte:

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:00 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000072s latency).
Other addresses for localhost (alias(es)): localhost

PORT     STATE  SERVICE
135/tcp  closed msrpc
139/tcp  closed netbios-ssn
445/tcp  closed microsoft-ds

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

A saída mostra as portas abertas, fechadas ou filtradas na máquina alvo. Neste exemplo, as portas 135, 139 e 445 estão fechadas. As portas específicas e seus estados variarão dependendo do sistema alvo.

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

Nesta etapa, estenderemos a varredura de janela (Window scan) especificando uma faixa de portas. Isso nos permite focar nossa varredura em um conjunto específico de portas, o que pode ser útil para identificar serviços em execução em uma máquina alvo.

Por padrão, o Nmap varre um conjunto predefinido de portas comumente usadas. No entanto, você pode personalizar a varredura para direcionar portas específicas ou uma faixa de portas usando a opção -p. Isso é particularmente útil quando você deseja verificar se um serviço específico está em execução em uma porta não padrão ou quando deseja limitar o tempo de varredura, concentrando-se em um conjunto menor de portas.

Agora, vamos executar a varredura de janela com uma faixa de portas. Usaremos o seguinte comando:

nmap -sW -p 1-100 127.0.0.1

Este comando instrui o Nmap a realizar uma varredura de janela (-sW) nas portas de 1 a 100 (-p 1-100) do endereço de loopback (127.0.0.1).

Abra seu terminal Xfce.

No terminal, digite o seguinte comando e pressione Enter:

nmap -sW -p 1-100 127.0.0.1

Você deve ver uma saída semelhante à seguinte:

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:05 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000070s latency).
Other addresses for localhost (alias(es)): localhost

PORT    STATE  SERVICE
22/tcp  closed ssh
25/tcp  closed smtp
80/tcp  closed http

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

A saída mostra as portas abertas, fechadas ou filtradas dentro da faixa especificada (1-100) na máquina alvo. Neste exemplo, as portas 22, 25 e 80 estão fechadas. As portas específicas e seus estados variarão dependendo do sistema alvo.

Adicionar verbosidade com nmap -v -sW 192.168.1.1

Nesta etapa, adicionaremos verbosidade à varredura de janela (Window scan). A verbosidade fornece informações mais detalhadas sobre o processo de varredura, o que pode ser útil para solucionar problemas ou entender os resultados.

A opção de verbosidade do Nmap (-v) aumenta a quantidade de informações exibidas durante a varredura. Isso pode incluir detalhes sobre as fases da varredura, os pacotes sendo enviados e recebidos e as razões pelas quais o Nmap está tomando certas decisões. Usar a verbosidade pode ser particularmente útil quando você está tentando diagnosticar problemas de rede ou quando deseja entender como o Nmap está interpretando as respostas do alvo.

Agora, vamos executar a varredura de janela com verbosidade. Usaremos o seguinte comando:

nmap -v -sW 192.168.1.1

Substitua 192.168.1.1 pelo endereço IP real do alvo que você deseja varrer. Se você não tiver certeza de qual endereço IP usar, pode usar o endereço de loopback 127.0.0.1, que se refere à sua própria máquina.

Abra seu terminal Xfce.

No terminal, digite o seguinte comando e pressione Enter:

nmap -v -sW 127.0.0.1

Este comando instrui o Nmap a realizar uma varredura de janela (-sW) no endereço de loopback (127.0.0.1) e a aumentar o nível de verbosidade (-v).

Você deve ver uma saída semelhante à seguinte (a saída exata variará):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:10 UTC
NSE: Loaded 0 scripts for scanning.
Initiating Window Scan at 10:10
Scanning localhost (127.0.0.1) [1000 ports]
Discovered open port 22/tcp on 127.0.0.1
Discovered open port 80/tcp on 127.0.0.1
Completed Window Scan at 10:10, 0.12s elapsed (1000 total ports)
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000039s latency).
Other addresses for localhost (alias(es)): localhost

PORT   STATE  SERVICE
22/tcp open   ssh
80/tcp open   http

Read data files from: /usr/bin/../share/nmap
Nmap done: 1 IP address (1 host up) scanned in 0.19 seconds

A saída agora inclui mais informações sobre o processo de varredura, como os horários de início e término, o número de portas varridas e quaisquer scripts que foram carregados. Os detalhes específicos variarão dependendo do sistema alvo e da configuração do Nmap.

Salvar varredura de janela com nmap -sW -oN window.txt 127.0.0.1

Nesta etapa, salvaremos os resultados da varredura de janela em um arquivo. Isso é útil para análise posterior ou para compartilhar os resultados com outras pessoas.

O Nmap oferece várias opções para salvar os resultados da varredura em diferentes formatos. A opção -oN salva os resultados em um formato "normal" legível por humanos. Este formato é fácil de ler e entender, mas pode não ser adequado para análise automatizada. Outras opções incluem -oX para o formato XML e -oS para o formato script kiddie.

Agora, vamos executar a varredura de janela e salvar os resultados em um arquivo chamado window.txt no diretório ~/project. Usaremos o seguinte comando:

nmap -sW -oN window.txt 127.0.0.1

Este comando instrui o Nmap a realizar uma varredura de janela (-sW) no endereço de loopback (127.0.0.1) e a salvar os resultados em formato normal (-oN) no arquivo window.txt.

Abra seu terminal Xfce.

No terminal, digite o seguinte comando e pressione Enter:

nmap -sW -oN window.txt 127.0.0.1

Você deve ver uma saída semelhante à seguinte:

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:15 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000070s latency).
Other addresses for localhost (alias(es)): localhost

PORT    STATE  SERVICE
22/tcp  closed ssh
25/tcp  closed smtp
80/tcp  closed http

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

Os resultados da varredura agora são salvos no arquivo window.txt em seu diretório ~/project.

Para verificar se o arquivo foi criado e contém os resultados da varredura, você pode usar o comando cat para exibir o conteúdo do arquivo:

cat window.txt

Você deve ver o relatório da varredura do Nmap na saída.

## Nmap 7.80 scan initiated Fri Oct 27 10:15:00 2023
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000070s latency).
Other addresses for localhost (alias(es)): localhost

PORT    STATE  SERVICE
22/tcp  closed ssh
25/tcp  closed smtp
80/tcp  closed http
## Nmap done: 1 IP address (1 host up) scanned in 2.35 seconds

Analisar varredura de janela no terminal Xfce

Nesta etapa, analisaremos os resultados da varredura de janela que salvamos no arquivo window.txt na etapa anterior. Entender a saída das varreduras do Nmap é crucial para identificar potenciais vulnerabilidades e riscos de segurança.

O arquivo window.txt contém um relatório legível por humanos dos resultados da varredura. O relatório inclui informações sobre o host de destino, as portas que foram varridas e o estado de cada porta.

Abra seu terminal Xfce.

Primeiro, vamos exibir o conteúdo do arquivo window.txt usando o comando cat:

cat window.txt

Você deve ver uma saída semelhante à seguinte (a saída exata dependerá do sistema de destino e das opções de varredura usadas):

## Nmap 7.80 scan initiated Fri Oct 27 10:15:00 2023
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000070s latency).
Other addresses for localhost (alias(es)): localhost

PORT    STATE  SERVICE
22/tcp  closed ssh
25/tcp  closed smtp
80/tcp  closed http
## Nmap done: 1 IP address (1 host up) scanned in 2.35 seconds

Vamos detalhar as partes principais desta saída:

  • Nmap scan report for localhost (127.0.0.1): Esta linha indica que a varredura foi realizada no endereço de loopback 127.0.0.1.
  • Host is up: Esta linha confirma que o host de destino está acessível.
  • PORT STATE SERVICE: Esta seção lista as portas que foram varridas e seus estados e serviços correspondentes.
  • 22/tcp closed ssh: Esta linha indica que a porta 22 (SSH) está fechada.
  • 25/tcp closed smtp: Esta linha indica que a porta 25 (SMTP) está fechada.
  • 80/tcp closed http: Esta linha indica que a porta 80 (HTTP) está fechada.

A coluna STATE é particularmente importante. Em uma varredura de janela, os estados possíveis são tipicamente open (aberto), closed (fechado) ou filtered (filtrado).

  • open: Indica que a porta está ouvindo por conexões.
  • closed: Indica que a porta não está ouvindo por conexões, mas o host está acessível.
  • filtered: Indica que o Nmap não pode determinar se a porta está aberta ou fechada porque a filtragem de rede está impedindo o Nmap de alcançar a porta.

Neste exemplo, todas as portas varridas são relatadas como closed. Isso significa que o host de destino está acessível, mas não está aceitando conexões nessas portas.

Você pode usar essas informações para identificar potenciais vulnerabilidades ou riscos de segurança. Por exemplo, se uma porta estiver inesperadamente open, pode indicar que um serviço vulnerável está sendo executado nessa porta.

Agora, vamos usar o comando grep para encontrar as portas abertas no arquivo window.txt.

grep "open" window.txt

Se não houver portas abertas, o comando não retornará nenhuma saída. Em nosso exemplo, a saída está vazia.

Comparar com varredura ACK no terminal Xfce

Nesta etapa, realizaremos uma varredura ACK e compararemos seus resultados com a varredura de janela que realizamos anteriormente. Essa comparação nos ajudará a entender as diferenças entre esses dois tipos de varredura e como eles podem ser usados para coletar diferentes tipos de informações sobre um sistema de destino.

Uma varredura ACK (-sA) envia pacotes TCP ACK para o host de destino. Ao contrário de uma varredura SYN, uma varredura ACK não tenta estabelecer uma conexão. Em vez disso, ela é usada para determinar se um firewall está presente e como ele lida com pacotes ACK não solicitados.

Se um firewall estiver presente e configurado para bloquear pacotes ACK não solicitados, a varredura ACK relatará todas as portas como filtered (filtradas). Se um firewall não estiver presente ou estiver configurado para permitir pacotes ACK não solicitados, a varredura ACK relatará as portas como unfiltered (não filtradas) ou closed (fechadas).

Agora, vamos realizar uma varredura ACK no endereço de loopback (127.0.0.1) e salvar os resultados em um arquivo chamado ack.txt.

Abra seu terminal Xfce.

No terminal, digite o seguinte comando e pressione Enter:

nmap -sA -oN ack.txt 127.0.0.1

Você deve ver uma saída semelhante à seguinte:

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:20 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000070s latency).
Other addresses for localhost (alias(es)): localhost

PORT    STATE      SERVICE
22/tcp  unfiltered ssh
25/tcp  unfiltered smtp
80/tcp  unfiltered http

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

Agora, vamos comparar os resultados da varredura ACK com a varredura de janela.

Recorde a saída da varredura de janela (de window.txt):

## Nmap 7.80 scan initiated Fri Oct 27 10:15:00 2023
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000070s latency).
Other addresses for localhost (alias(es)): localhost

PORT    STATE  SERVICE
22/tcp  closed ssh
25/tcp  closed smtp
80/tcp  closed http
## Nmap done: 1 IP address (1 host up) scanned in 2.35 seconds

Na varredura de janela, as portas foram relatadas como closed. Na varredura ACK, as portas são relatadas como unfiltered. Essa diferença se deve à forma como esses dois tipos de varredura funcionam. A varredura de janela tenta estabelecer uma conexão, enquanto a varredura ACK envia apenas pacotes ACK.

O estado unfiltered na varredura ACK significa que o Nmap não pode determinar se a porta está aberta ou fechada porque os pacotes ACK não estão sendo filtrados. Isso pode indicar que não há firewall presente, ou que o firewall está configurado para permitir pacotes ACK não solicitados.

Você também pode usar o comando cat para exibir o conteúdo do arquivo ack.txt:

cat ack.txt

Você deve ver o relatório da varredura do Nmap na saída.

## Nmap 7.80 scan initiated Fri Oct 27 10:20:00 2023
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000070s latency).
Other addresses for localhost (alias(es)): localhost

PORT    STATE      SERVICE
22/tcp  unfiltered ssh
25/tcp  unfiltered smtp
80/tcp  unfiltered http

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

Resumo

Neste laboratório, os participantes aprendem a realizar varreduras de janela no Nmap. Eles começam executando uma varredura de janela básica usando o comando nmap -sW seguido por um endereço IP, entendendo como ela explora as peculiaridades da implementação TCP para revelar os estados das portas. Em seguida, eles varrem uma faixa de portas específica com nmap -sW -p 1-100, adicionam verbosidade à varredura usando -v e salvam os resultados da varredura em um arquivo com -oN. Finalmente, eles analisam a varredura de janela e a comparam com uma varredura ACK no terminal Xfce.