- Introdução ao Nping ARP scan
- Nping ARP scan types
- Nmap ARP discovery
- Conclusão
ARP (Address Resolution Protocol) é um protocolo de baixo nível que funciona no nível da camada de ligação do Modelo da Internet ou conjunto de protocolos da Internet, que foi explicado na introdução do Nmap Basics. Existem outras 3 camadas superiores: a camada Internet, a camada Transporte e a camada Aplicação.
Image source: https://linuxhint.com/nmap_basics_tutorial
Nota: alguns especialistas descrevem o Modelo da Internet com 5 camadas incluindo a camada física, enquanto outros especialistas afirmam que a camada física não pertence ao Modelo da Internet, esta camada física é irrelevante para nós para o Nmap.
A Camada de Ligação é um protocolo usado em redes locais IPv4 para descobrir hosts online, não pode ser usado na Internet e está limitado a dispositivos locais, ou é usado em redes IPv6 nas quais o protocolo NDP (Neighbor Discovery) substitui o protocolo ARP.
Quando se usa o Nmap em uma rede local o protocolo ARP é aplicado por padrão por ser mais rápido e confiável de acordo com os dados oficiais , você pode usar a flag -send-ip para forçar o Nmap a usar o Protocolo Internet dentro de uma rede local, você pode evitar que o Nmap envie o ARP ping usando a opção -disable-arp-ping também.
Nping ARP scan types
Former Nmap versões vieram com uma variedade de opções para realizar scans ARP, atualmente o Nmap não suporta estes flags que agora são utilizáveis através da ferramenta Nping incluída no Nmap, se você tem o Nmap instalado você já tem esta ferramenta.
Nping permite gerar pacotes sob muitos protocolos, como descreve o site oficial, também pode ser usado para envenenamento ARP, Negação de Serviço e mais. Seu site lista as seguintes características:
- Geração de pacotes TCP, UDP, ICMP e ARP.
- Suporte para especificação de múltiplos hosts alvo.
- Suporte para especificação de múltiplas portas alvo.
- Modos sem privilégios para usuários não-rootores.
- Modo Eco para resolução avançada de problemas e descoberta.
- Suporte para geração de quadros Ethernet.
- Suporte para IPv6 (atualmente experimental).
- Executável em Linux, Mac OS e MS Windows.
- Recursos de rastreamento de rotas.
- Altamente personalizável.
- Free and open-source.
(Fonte https://nmap.org/nping/)
Protocolos relevantes para este tutorial:
ARP: uma requisição regular de pacotes ARP procura o endereço MAC usando o endereço IP do dispositivo. (https://tools.ietf.org/html/rfc6747)
RARP: uma requisição RARP (Reverse ARP) resolve o endereço IP usando o endereço MAC, este protocolo é obsoleto. (https://tools.ietf.org/html/rfc1931)
DRARP: um protocolo DRARP (Dynamic RARP), ou extensão de protocolo desenvolvido para atribuir endereço IP dinâmico baseado no endereço físico de um dispositivo, ele pode ser usado para obter o endereço IP também. (https://tools.ietf.org/html/rfc1931)
InARP: um pedido InARP (Inverse ARP) resolve o endereço DLCI (Data Link Connection Identifier) que é similar a um endereço MAC. (https://tools.ietf.org/html/rfc2390)
Exemplos básicos de pacotes ARP, DRARP e InARP:
O exemplo seguinte envia um pedido ARP para aprender o endereço MAC do router:
Como você pode ver o flag -arp-type ARP retornou o endereço MAC do alvo 00:00:CA:11:22:33
O seguinte exemplo irá imprimir informações sobre o protocolo, endereços físicos e IP dos dispositivos que interagem:
Where:
HTYPE: Tipo de Hardware.
PTYPE: Tipo de protocolo.
HLEN: Comprimento do endereço do Hardware. (6 bits para endereço MAC)
PLEN: Comprimento do endereço do protocolo. (4 bits para IPv4)
SIP: Endereço IP de origem.
SMAC: Endereço MAC de Origem.
DMAC: Destination Mac Address.
DIP: Destination IP Address.
O exemplo seguinte retorna a mesma saída:
Nmap ARP discovery
O exemplo seguinte usando o nmap é um ping scan ARP omitindo todas as possibilidades do último octeto, usando o wildcard (*), você também pode definir intervalos separados por hífens.
Where:
-sP: Ping escaneia a rede, listando máquinas que respondem ao ping.
-PR: ARP discovery
O exemplo seguinte é um ARP scan contra todas as possibilidades do último octeto incluindo port scan.
O exemplo seguinte mostra uma varredura ARP contra todas as possibilidades do último octeto
As seguintes forças de varredura e ip sobre uma varredura arp, novamente o último octeto usando o wildcard.
Como pode ver enquanto a varredura feita antes levou 6 segundos, levou 23.
Uma saída e tempo semelhantes acontecem se você desativar o protocolo ARP adicionando a bandeira -disable-arp-ping:
Conclusão
Nmap e Nping ARP scans estão ok para descobrir hosts, enquanto de acordo com a documentação oficial os programas podem ser úteis para o DoS, ARP Poisoning e outras técnicas de ataque meus testes não funcionaram, existem melhores ferramentas focadas no protocolo ARP como ARP spoofing, Ettercap, ou arp-scan que merecem mais atenção em relação a este aspecto. No entanto, ao usar o Nmap ou Nping, o protocolo ARP adiciona ao processo de scan a confiabilidade da marcação de pacotes como tráfego de rede local para o qual os roteadores ou firewalls mostram mais paciência do que para o tráfego externo, claro que isso não ajudará se você inundar a rede com pacotes. Os modos e tipos de ARP não são mais úteis no Nmap, mas toda a documentação ainda é útil se aplicada ao Nping.
Espero que você tenha achado útil esta introdução ao Nmap e ao Nping ARP scan. Continue seguindo o LinuxHint para mais dicas e atualizações no Linux e redes.
- Como procurar por serviços e vulnerabilidades com o Nmap
- Usando scripts nmap: Nmap banner grab
- nmap network scanning
- nmap ping sweep
- Traceroute com Nmap
- nmap flags and what they do
- Nmap Stealth Scan
- Nmap Alternatives
- Nmap: scan IP ranges