Nmap

Processo de descoberta de host Nmap

Processo de descoberta de host Nmap
O Nmap é uma ferramenta poderosa de verificação e auditoria de rede, preferida por testadores de penetração e engenheiros de rede. Torna possível fazer a varredura de um único host ou grande rede com milhares de hosts e encontrar informações relevantes sobre eles.

Este tutorial se concentrará em um uso chave do Nmap, i.e., descoberta de host e metodologia de descoberta de host. É bom notar que este não é um guia para iniciantes para trabalhar com Nmap ou metodologia de coleta de informações em testes de penetração.

O que é Host Discovery

O processo de descoberta de host Nmap refere-se à enumeração de hosts de rede para reunir informações sobre eles para construir um plano de ataque no pen-testing.

Durante a descoberta do host, o Nmap usa elementos como Ping e um script embutido para pesquisar sistemas operacionais, portas e serviços em execução usando protocolos TCP e UDP. Se especificado, você pode ativar o mecanismo de script Nmap que usa vários scripts para pesquisar vulnerabilidades no host.

O processo de descoberta de host empregado pelo Nmap utiliza pacotes ICMP brutos. Esses pacotes podem ser desabilitados ou filtrados por firewalls (raramente) e administradores de sistema muito cautelosos. No entanto, o Nmap nos fornece uma varredura furtiva, como veremos neste tutorial.

Vamos começar.

Descoberta de rede

Sem perder muito tempo, vamos examinar vários métodos para realizar a descoberta de host e superar várias limitações causadas por dispositivos de segurança de rede, como firewalls.

1: ping ICMP clássico

Você pode realizar a descoberta de host com um simples Solicitação de eco ICMP onde o host responde com um ICMP echo reply.

Para enviar uma solicitação de eco ICMP com Nmap, digite o comando:

$ nmap -PE -sn 192.168.0.16

A saída será semelhante à mostrada abaixo:

Iniciando o Nmap 7.91 (https: // nmap.org)
relatório de varredura para 192.168.0.16
Host está ativo (0.Latência 11s).
Endereço MAC: EC: 08: 6B: 18: 11: D4 (Tecnologias Tp-link)
Nmap concluído: 1 endereço IP (1 host) verificado em 0.62 segundos

No comando acima, dizemos ao Nmap para enviar uma solicitação de eco de ping (-PE) para o alvo. Se receber uma resposta ICMP, o host está ativo.

Abaixo está uma captura de tela do Wireshark do comando nmap -sn -PE:

Considere o recurso fornecido abaixo para saber mais sobre o protocolo ICMP.

https: // linkfy.para / ICMP

NOTA: As solicitações de eco ICMP não são confiáveis ​​e não chegam a uma conclusão com base na resposta. Por exemplo, considere o mesmo pedido para a Microsoft.com

$ nmap -sn -PE microsoft.com

A saída será conforme mostrado abaixo:

Iniciando o Nmap 7.91 Observação: o host parece inativo.
Se estiver realmente ativo, mas bloqueando nossas sondagens de ping, tente -Pn
Nmap concluído:
1 endereço IP (0 hosts ativos) verificado em 2.51 segundos

Aqui está uma captura de tela para a análise do Wireshark:

2: Ping TCP SYN

Outro método de descoberta de host é usar uma varredura de ping Nmap TCP SYN. Se você estiver familiarizado com os três handshakes TCP SYN / ACK, o Nmap pega emprestado da tecnologia e envia uma solicitação para várias portas para determinar se o host está ativo ou usando filtros permissivos.

Se dissermos ao Nmap para usar o ping SYN, ele envia o pacote para a porta de destino e, se o host estiver ativo, ele responde com um pacote ACK. Se o host estiver inativo, ele responde com um pacote RST.

Use o comando conforme mostrado abaixo para executar uma solicitação de ping SYN.

sudo nmap -sn -PS scanme.nmap.org

A resposta deste comando deve indicar se o host está ativo ou inativo. A seguir está um filtro Wireshark da solicitação.

tcp.bandeiras.syn && tcp.bandeiras.ack

NOTA: Usamos o -PS para especificar que queremos usar a solicitação de ping TCP SYN, que pode ser um método mais eficiente do que pacotes ICMP brutos. A seguir está uma solicitação de Nmap da Microsoft.com usando TCP SYN.

$ nmap -sn -PS microsoft.com

O resultado é mostrado abaixo:

Iniciando o Nmap 7.91 (https: // nmap.org)
Relatório de varredura Nmap para microsoft.com (104.215.148.63)
Host está ativo (0.Latência 29s).
Outros endereços para microsoft.com (não digitalizado): 40.112.72.205 13.77.161.179 40.113.200.201 40.76.4.15
Nmap concluído:
1 endereço IP (1 host) verificado em 1.08 segundos

3: Ping TCP ACK

O método de ping TCP ACK é filho da solicitação de ping SYN. Funciona de forma semelhante, mas em vez disso usa o pacote ACK. Neste método, NMAP tenta algo inteligente.

Ele começa enviando um pacote TCP ACK vazio para o host. Se o host estiver offline, o pacote não deve obter nenhuma resposta. Se estiver online, o host responderá com um pacote RST indicando que o host está ativo.

Se você não está familiarizado com o RST (pacote de redefinição), é o pacote enviado após o recebimento de um pacote TCP inesperado. Uma vez que o pacote ACK que o Nmap envia não é uma resposta ao SYN, o host deve retornar um pacote RST.

Para inicializar um ping Nmap ACK, use o comando como:

$ nmap -sn -PA 192.168.0.16

Dado o resultado abaixo:

Iniciando o Nmap 7.91 (https: // nmap.org)
Relatório de varredura Nmap para 192.168.0.16
Host está ativo (0.Latência de 15s).
Endereço MAC: EC: 08: 6B: 18: 11: D4 (Tecnologias Tp-link)
Nmap concluído:
1 endereço IP (1 host) verificado em 0.49 segundos

4: Ping UDP

Vamos falar sobre outra opção para descoberta de host no Nmap, i.e., Ping UDP.

O ping UDP funciona enviando pacotes UDP para as portas especificadas do host de destino. Se o host estiver online, o pacote UDP pode encontrar uma porta fechada e responder com uma mensagem de porta ICMP inacessível. Se o host estiver inativo, o prompt será várias mensagens de erro ICMP, como TTL excedido ou nenhuma resposta.

A porta padrão para ping UDP é 40, 125. O ping UDP é uma boa técnica para usar ao realizar a descoberta de host para hosts atrás de um firewall e filtros. Isso ocorre porque a maioria dos Firewalls procuram e bloqueiam o TCP, mas permitem o tráfego do protocolo UDP.

Para executar a descoberta de host Nmap com ping UDP, use o comando abaixo:

sudo nmap -sn -PU scanme.nmap.org

A saída do comando acima pode ser examinada usando o Wireshark, conforme mostrado na imagem abaixo. Filtro Wireshark usado - udp.porta == 40125

Como você pode ver na imagem acima, o Nmap envia um ping UDP para o IP 45.33.32.156 (scanme.nmap.org). O servidor responde com ICMP inacessível, o que indica que o host está ativo.

5: ARP Ping

Não podemos esquecer o método ARP ping que funciona muito bem para descoberta de host em redes locais. O método ARP ping funciona enviando uma série de sondagens ARP para um determinado intervalo de endereços IP e descobre hosts ativos. O ping ARP é rápido e muito confiável.

Para executar um ping ARP usando Nmap, use o comando:

sudo nmap -sn -PR 192.168.0.24/01

Se você examinar o comando com o Wireshark e filtrar ARP da fonte 192.168.0.30, você obterá uma captura de tela das solicitações de sondagem ARP Broadcast, conforme mostrado abaixo. O filtro Wireshark usado é: arp.src.proto_ipv4 == 192.168.0.30

TCP SYN Stealth

Você descobrirá que a varredura SYN é uma boa opção para descoberta de host porque é rápida e pode fazer a varredura de uma série de portas em segundos, desde que sistemas de segurança como firewalls não interfiram. SYN também é muito poderoso e furtivo, pois funciona por solicitações TCP incompletas.

Não entrarei em detalhes de como o TCP SYN / ACK funciona, mas você pode aprender mais sobre ele nos vários recursos fornecidos abaixo:

Para executar a varredura furtiva Nmap TCP SYN, use o comando:

sudo nmap -sS 192.168.0.24/01

Eu forneci uma captura do Wireshark do comando Nmap -sS e os achados do Nmap da varredura, examine-os e veja como funciona. Procure por solicitações TCP incompletas com o pacote RST.

Conclusão

Para recapitular, nos concentramos em discutir como usar o recurso de descoberta de host Nmap e obter informações sobre o host especificado. Também discutimos qual método usar quando você precisa realizar a descoberta de host para hosts atrás de firewalls, bloqueando solicitações de ping ICMP e muito mais.

Explore o Nmap para obter um conhecimento mais profundo.

Como usar o Xdotool para estimular cliques do mouse e pressionamentos de tecla no Linux
Xdotool é uma ferramenta de linha de comando gratuita e de código aberto para simular cliques do mouse e pressionamentos de tecla. Este artigo irá cob...
Os 5 principais produtos ergonômicos de mouse de computador para Linux
O uso prolongado do computador causa dor no pulso ou nos dedos? Você está sofrendo de rigidez nas articulações e constantemente precisa apertar as mão...
Como alterar as configurações do mouse e touchpad usando Xinput no Linux
A maioria das distribuições Linux vem com a biblioteca “libinput” por padrão para lidar com eventos de entrada em um sistema. Ele pode processar event...