Realizar Varredura TCP FIN no Nmap

NmapBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá a realizar uma varredura TCP FIN usando o Nmap. Começará por executar uma varredura FIN básica em um IP alvo, depois varrerá portas específicas, adicionará verbosidade à varredura e salvará os resultados. Além disso, você comparará as varreduras FIN com as varreduras TCP e analisará as portas abertas no terminal Xfce. Uma varredura FIN envia um pacote FIN para o host alvo, o que pode ajudar a contornar certos firewalls ou sistemas de detecção de intrusão.

Executar varredura FIN com nmap -sF 192.168.1.1

Nesta etapa, você aprenderá a realizar uma varredura FIN usando o Nmap. Uma varredura FIN é um tipo de varredura TCP que envia um pacote FIN (finish) para o host alvo. Ao contrário de uma varredura SYN, que tenta estabelecer uma conexão, uma varredura FIN simplesmente envia um pacote FIN e observa a resposta. Isso pode ser útil para contornar certos firewalls ou sistemas de detecção de intrusão.

Antes de começarmos, vamos esclarecer o que é um pacote FIN. Na comunicação TCP, a flag FIN sinaliza o fim de uma conexão. Quando um host envia um pacote FIN, ele está essencialmente dizendo: "Terminei de enviar dados."

Agora, vamos realizar a varredura FIN. Abra seu terminal Xfce.

Execute o seguinte comando:

sudo nmap -sF 192.168.1.1
  • -sF: Esta opção diz ao Nmap para realizar uma varredura FIN.
  • 192.168.1.1: Este é o endereço IP alvo. Substitua-o pelo endereço IP real da máquina que você deseja varrer, se for diferente.

Você pode precisar ajustar o endereço IP 192.168.1.1 para corresponder ao endereço IP de uma máquina alvo acessível a partir da sua VM LabEx. Se você não tiver um alvo específico em mente, pode usar o endereço IP do seu gateway ou outro dispositivo em sua rede local. Se não tiver certeza, você pode tentar varrer sua própria máquina usando 127.0.0.1 (localhost).

A saída mostrará o status de cada porta na máquina alvo. Portas abertas normalmente não responderão a um pacote FIN, enquanto portas fechadas responderão com um pacote RST (reset). Portas filtradas podem não responder de forma alguma, tornando difícil determinar seu status.

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

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:00 UTC
Nmap scan report for 192.168.1.1
Host is up (0.00043s latency).
Not shown: 999 closed ports
PORT    STATE    SERVICE
22/tcp  filtered ssh

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

Neste exemplo, a porta 22 (SSH) é mostrada como filtrada. Isso significa que o Nmap não conseguiu determinar se a porta está aberta ou fechada devido a regras de firewall ou outras condições de rede. A linha "Not shown: 999 closed ports" indica que o Nmap não exibiu as 999 portas fechadas para manter a saída concisa.

Varredura de portas específicas com nmap -sF -p 22,80 127.0.0.1

Na etapa anterior, você aprendeu a realizar uma varredura FIN básica. Agora, você aprenderá a direcionar portas específicas durante uma varredura FIN. Isso é útil quando você deseja concentrar sua varredura em serviços que provavelmente estão sendo executados em portas específicas, como SSH (porta 22) e HTTP (porta 80).

Especificar portas pode reduzir significativamente o tempo de varredura e tornar os resultados mais relevantes. Em vez de varrer todas as 65535 portas, você pode se concentrar nas portas que provavelmente serão de interesse.

Abra seu terminal Xfce.

Execute o seguinte comando:

sudo nmap -sF -p 22,80 127.0.0.1
  • -sF: Esta opção diz ao Nmap para realizar uma varredura FIN.
  • -p 22,80: Esta opção especifica que você deseja varrer as portas 22 e 80. Você pode especificar uma única porta, uma faixa de portas (por exemplo, 1-100) ou uma lista de portas separadas por vírgulas.
  • 127.0.0.1: Este é o endereço IP alvo, que neste caso é sua própria máquina (localhost).

A saída mostrará o status das portas 22 e 80 em sua máquina.

Exemplo de saída:

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.000027s latency).

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

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

Neste exemplo, ambas as portas 22 e 80 são mostradas como filtradas. Isso significa que o Nmap não conseguiu determinar se essas portas estão abertas ou fechadas. Este é um resultado comum com varreduras FIN, especialmente quando firewalls estão em vigor.

Adicionar verbosidade com nmap -v -sF 192.168.1.1

Nesta etapa, você aprenderá como aumentar a verbosidade da sua varredura FIN do Nmap. 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 -v no Nmap aumenta o nível de verbosidade. Você pode usá-la várias vezes (por exemplo, -vv) para obter uma saída ainda mais detalhada.

Abra seu terminal Xfce.

Execute o seguinte comando:

sudo nmap -v -sF 192.168.1.1
  • -v: Esta opção aumenta o nível de verbosidade.
  • -sF: Esta opção diz ao Nmap para realizar uma varredura FIN.
  • 192.168.1.1: Este é o endereço IP alvo. Lembre-se de substituí-lo por um endereço IP válido, se necessário.

A saída agora incluirá mais informações sobre a varredura, como os pacotes sendo enviados e recebidos, as razões para certas decisões e o progresso geral.

Exemplo de saída (a saída real variará dependendo do alvo e das condições da rede):

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:10 UTC
NSE: Loaded 0 scripts for scanning.
Initiating Ping Scan at 10:10
Scanning 192.168.1.1 [2 ports]
Completed Ping Scan at 10:10, 0.00s elapsed (1 total hosts)
Initiating FIN Scan at 10:10
Scanning 192.168.1.1 [1000 ports]
Completed FIN Scan at 10:10, 2.12s elapsed (1000 total ports)
Nmap scan report for 192.168.1.1
Host is up (0.00038s latency).
Not shown: 999 closed ports
PORT    STATE    SERVICE
22/tcp  filtered ssh

Read data files from: /usr/bin/../share/nmap
Nmap done: 1 IP address (1 host up) scanned in 2.18 seconds
Raw packets sent: 1001 (44.044KB) | Rcvd: 1 (44B)

Observe as informações adicionais fornecidas, como o carregamento do script NSE, os horários de início e conclusão das varreduras ping e FIN, e o número de pacotes enviados e recebidos. Esse nível de detalhe pode ser inestimável ao solucionar problemas de rede ou analisar os resultados da varredura.

Salvar resultados da varredura FIN com nmap -sF -oN fin.txt 127.0.0.1

Nesta etapa, você aprenderá como salvar os resultados da sua varredura FIN do Nmap em um arquivo. Isso é útil para análise posterior, relatórios ou comparação com outras varreduras.

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.

Abra seu terminal Xfce.

Execute o seguinte comando:

sudo nmap -sF -oN fin.txt 127.0.0.1
  • -sF: Esta opção diz ao Nmap para realizar uma varredura FIN.
  • -oN fin.txt: Esta opção especifica que você deseja salvar os resultados em formato normal em um arquivo chamado fin.txt. O arquivo será salvo no seu diretório atual (~/project).
  • 127.0.0.1: Este é o endereço IP alvo, que neste caso é sua própria máquina (localhost).

Após a conclusão da varredura, você pode visualizar os resultados salvos abrindo o arquivo fin.txt com um editor de texto como nano.

nano fin.txt

O arquivo conterá as mesmas informações que foram exibidas na tela durante a varredura, mas em um formato estruturado.

Exemplo de conteúdo de fin.txt:

## Nmap 7.80 scan initiated Tue Oct 27 10:15:00 2023
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000027s latency).
Not shown: 999 closed ports
PORT    STATE    SERVICE
22/tcp  filtered ssh

## Nmap done at Tue Oct 27 10:15:02 2023 -- 1 IP address (1 host up) scanned in 1.89 seconds

Agora você pode usar este arquivo para análise ou relatórios adicionais.

Comparar varredura FIN com varredura TCP no terminal Xfce

Nesta etapa, você comparará os resultados de uma varredura FIN com uma varredura TCP connect. Essa comparação destacará as diferenças em como essas varreduras identificam portas abertas e como firewalls podem tratá-las de maneira diferente.

Uma varredura TCP connect (-sT) estabelece uma conexão TCP completa com o alvo, tornando-a mais confiável, mas também mais facilmente detectável. Uma varredura FIN (-sF), por outro lado, envia um pacote FIN, que é menos provável de ser registrado por firewalls, mas pode nem sempre fornecer resultados precisos.

Abra seu terminal Xfce.

Primeiro, execute uma varredura TCP connect no localhost (127.0.0.1):

sudo nmap -sT 127.0.0.1

Este comando tentará estabelecer uma conexão TCP completa com cada porta em sua máquina local.

Em seguida, execute uma varredura FIN no mesmo alvo:

sudo nmap -sF 127.0.0.1

Agora, compare os resultados das duas varreduras. Você pode notar que a varredura TCP connect identifica mais portas abertas do que a varredura FIN. Isso ocorre porque alguns firewalls ou sistemas podem bloquear ou ignorar pacotes FIN, levando a resultados imprecisos.

Exemplo de saída da varredura TCP connect:

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.000026s latency).
Not shown: 997 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
631/tcp  open  ipp
3306/tcp open  mysql

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

Exemplo de saída da varredura FIN:

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:21 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000026s latency).
Not shown: 999 closed ports
PORT    STATE    SERVICE
22/tcp  filtered ssh

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

Neste exemplo, a varredura TCP connect mostra as portas 22, 631 e 3306 como abertas, enquanto a varredura FIN mostra apenas a porta 22 como filtrada. Isso demonstra como diferentes tipos de varredura podem produzir resultados diferentes e por que é importante usar uma variedade de técnicas ao realizar reconhecimento de rede. O estado filtered significa que um firewall, filtro ou outro obstáculo de rede está bloqueando a porta, impedindo que o Nmap determine se ela está aberta ou fechada.

Analisar portas abertas no terminal Xfce

Nesta etapa, você analisará as portas abertas identificadas nas varreduras anteriores para entender os serviços em execução no sistema alvo. Isso envolve interpretar a saída do Nmap e pesquisar a finalidade de cada porta aberta.

Abra seu terminal Xfce.

Vamos supor que você tenha executado uma varredura TCP connect (sudo nmap -sT 127.0.0.1) na etapa anterior e obtido a seguinte saída:

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.000026s latency).
Not shown: 997 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
631/tcp  open  ipp
3306/tcp open  mysql

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

Esta saída indica que as portas 22, 631 e 3306 estão abertas em sua máquina local. Agora, vamos analisar cada uma dessas portas:

  • Porta 22 (ssh): Esta porta é normalmente usada para SSH (Secure Shell), um protocolo seguro para login remoto e execução de comandos. Se esta porta estiver aberta, significa que um servidor SSH está em execução em sua máquina, permitindo que você se conecte a ele remotamente.

  • Porta 631 (ipp): Esta porta é usada para IPP (Internet Printing Protocol), um protocolo para impressão em rede. Se esta porta estiver aberta, significa que um serviço de impressão está em execução em sua máquina, permitindo que você imprima documentos remotamente.

  • Porta 3306 (mysql): Esta porta é a porta padrão para MySQL, um popular sistema de gerenciamento de banco de dados relacional de código aberto. Se esta porta estiver aberta, significa que um servidor MySQL está em execução em sua máquina, permitindo que você acesse e gerencie bancos de dados.

Para investigar mais a fundo esses serviços, você pode usar outras ferramentas como netstat ou ss para verificar quais processos estão ouvindo nessas portas. Por exemplo, para verificar o processo que está ouvindo na porta 22, você pode usar o seguinte comando:

sudo netstat -tulnp | grep :22

Este comando exibirá o ID do processo (PID) e o nome do processo que está ouvindo na porta 22.

Exemplo de saída:

tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1234/sshd

Esta saída indica que o processo sshd (daemon SSH) está ouvindo na porta 22.

Ao analisar as portas abertas e os serviços em execução nelas, você pode obter informações valiosas sobre a postura de segurança do sistema alvo e identificar possíveis vulnerabilidades.

Resumo

Neste laboratório, você aprendeu a conduzir a varredura TCP FIN usando o Nmap. Você começou executando uma varredura FIN básica com o comando nmap -sF seguido por um IP de destino. Você também aprendeu a varrer portas específicas, adicionar verbosidade à varredura e salvar os resultados em um arquivo. Além disso, você comparou a varredura FIN com uma varredura TCP e analisou portas abertas no terminal Xfce. Uma varredura FIN envia um pacote FIN para o host de destino, o que pode ajudar a contornar certos firewalls ou sistemas de detecção de intrusão.