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.
Livros Indicados:
E-Books de Redes e Segurança
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
SSH: Como criar chave pública
Nesse tutorial vamos ensinar a criar e configurar o acesso a um servidor SSH usando…
Socket em Python criando chat UDP
Tutorial para a criação de um chat simples utilizando sockets em UDP em Python 3….
Socket em Python, criando um Chat
Tutorial para a criação de um chat simples utilizando sockets TCP em Python 3. O…
Como usar apt get com proxy
Ao longo dos tempos sempre me deparo nos laboratórios de rede com a necessidade de…
Qual a melhor IDE para Python?
Encontrar a IDE perfeita é uma jornada pessoal que depende de vários fatores, como suas…