Vamos falar de como utilizar scan avançado no NMAP. A ideia aqui é apresentar outras formas de escaneamentos diferentes dos tradicionais apontados no post: NMAP: Mapeamento de portas TCP e UDP.

Dessa forma, vamos apresentar formas de escaneamento que podem identificar serviços utilizando uma abordagem heterodoxa.
Veja mais posts do nosso tutorial: NMAP
Artigo 01 – NMAP: Mapeamento de portas TCP e UDP
Artigo 02 – NMAP: Scan avançado
Artigo 03 – NMAP : Identificar a versão de um serviço
Se essa é sua primeira vez no nmap, sugerimos que volte no post anterior sobre nmap.
Escaneamento TCP NULL
O primeiro tipo de scan que vamos ver é o TCP NULL. Nessa modalidade de escaneamento, vamos usar um cabeçalho de flag do TCP nulo.
Ou seja, o campo referente as flags vai estar como zero. Para isso, vamos usar a opção -sN. Como no comando abaixo:
sudo nmap -sN -p 80 192.168.0.1


Podemos observar no Wireshark que o campo flag dos segmentos TCP enviados para o alvo estão nulos.
Nesse tipo de escaneamento a falta de resposta do alvo Indica que a porta está aberta ou filtrada por algum firewall.

Escaneamento TCP FIN
Esse escaneamento envia segmentos TCP com a flag FIN. Dessa forma, ao receber um flag FIN para uma porta que não está aberta o sistema tende a responder com um RST.
Assim, se um alvo não responde a uma determinada porta, essa será considerada como aberta ou filtrada.
A princípio o nmap não tem como saber se a porta está aberta ou se existe algum mecanismo de segurança impedindo a resposta.
O comando abaixo utiliza a opção -sF para indicar que deverá ser enviado um segmento com a flag FIN.
sudo -sF -p 20-25 192.168.0.1


Escaneamento TCP ACK
Apresentamos agora um escaneamento diferente no seu funcionamento e no seu objetivo. Vamos falar do objetivo, nesse caso o scan deseja obter informação se o firewall é stateful.
Dessa forma, não desejamos saber se as portas estão abertas ou não. O que desejamos é verificar se existe uma resposta RST a nossa consulta.
Caso o alvo responda com um RST poderemos presumir que não temos uma regra de firewall stateful antes do serviço analisado. Isso é interessante para verificar se você configurou corretamente o firewall.
Exemplo de um scan utilizando ACK para um host no endereço 192.168.0.1 e portas 20 a 25:
sudo nmap -sA -p 20-25 192.168.0.1

Podemos observar que a resposta foi de que as portas não estavam filtradas. Dessa forma, podemos deduzir que não temos um firewall stateful entre origem e destino.
Além disso, podemos verificar no Wireshark os segmentos TCP com ACK e as respectivas respostas com RST. Isso comprova a tese de que o sistema está respondendo a ACK de forma indiscriminada.

Escaneamento TCP Window
Agora vamos ver uma varredura semelhante à do TCP ACK que verifica se a resposta RST utiliza um tamanho de janela positivo.
Esse comportamento é comum em alguns sistemas e pode ser usado para verificar se uma porta está aberta. Dessa forma, em alguns sistemas temos um RST com tamanho de janela positivo enquanto que para as portas fechadas temos um RST com tamanho 0.
Portanto, trata-se de uma forma incomum de obter informações sobre serviços utilizando um Scan avançado no NMAP.
Exemplo de um scan utilizando TCP WINDOW para um host no endereço 192.168.0.1 e portas 20 a 25:
sudo nmap -sW -p 20-25 192.168.0.1


NMAP Scan avançado com várias flags
Outra opção de escaneamento é enviar um segmento TCP com todos os flags marcados ou a combinação de mais de um flag.
Dessa forma, verifica-se como o sistema destino responderá a esse tipo de segmento. Vale ressaltar que não importa a ordem em que as flags são informadas no comando.
Isso porque, o comando apenas marca quais serão as flags que estarão marcadas no segmento TCP.
Exemplo de um scan utilizando várias flags TCP para um host no endereço 192.168.0.1 e portas 20 a 25:
sudo nmap -scanflags URGACKPSHRSTSYNFIN -p 20-25 192.168.0.1


Veja mais posts do nosso tutorial: NMAP
Artigo 01 – NMAP: Mapeamento de portas TCP e UDP
Artigo 02 – NMAP: Scan avançado
Artigo 03 – NMAP : Identificar a versão de um serviço
- NMAP: Mapeamento de portas TCP e UDP
- NMAP: Scan avançado
- Arpwatch: Instalação e Configuração
- O que é a Blockchain? Visão geral sobre a tecnologia
- Instalação de VNC no Raspberry pi

Juliana Mascarenhas
Data Scientist and Master in Computer Modeling by LNCC.
Computer Engineer
Por que usar o Kali Linux dentro do VirtualBox?
Neste artigo, veremos os principais motivos para considerar o uso do Kali Linux em um…
Como instalar pfblocker no pfsense: guia passo a passo
Hoje vamos aprender a instalar o pfBlockerNG no pfsense. O pfBlocker NG é uma excelente…
Crie sua Primeira Rede no Packet Tracer: Guia Passo a Passo para Iniciantes (2 Computadores)
Está pronto para dar o primeiro passo no mundo fascinante das redes de computadores? Neste…
Aprenda a usar o comando curl: tutorial com exemplos práticos
Hoje vamos aprender sobre o comando curl no Linux! Esse comando é uma ferramenta incrivelmente versátil…
Instalando Kali Linux no VirtualBox: Guia Passo a Passo para Iniciantes
Bem-vindo ao guia definitivo para iniciantes que desejam aprender como instalar o Kali Linux no…
Gerenciadores de Pacotes em Python: Guia Completo sobre Pip e Conda para Iniciantes
Quando começamos a programar em Python, um dos primeiros desafios é gerenciar as bibliotecas (ou…