- Introducción a Nping ARP scan
- Tipos de Nping ARP scan
- Nmap ARP discovery
- Conclusión
ARP (Address Resolution Protocol) es un protocolo de bajo nivel que trabaja en el nivel de la capa de enlace del modelo de Internet o conjunto de protocolos de Internet que se explicó en la introducción de Nmap Basics. Hay otras 3 capas superiores: la capa de Internet, la capa de transporte y la capa de aplicación.
Fuente de la imagen: https://linuxhint.com/nmap_basics_tutorial
Nota: algunos expertos describen el Modelo de Internet con 5 capas incluyendo la capa física mientras que otros expertos afirman que la Capa Física no pertenece al Modelo de Internet, esta Capa Física es irrelevante para nosotros para Nmap.
La Capa de Enlace es un protocolo utilizado en las redes locales IPv4 para descubrir hosts en línea, no se puede utilizar en Internet y se limita a los dispositivos locales, o bien se utiliza en las redes IPv6 en las que el protocolo NDP (Neighbor Discovery) sustituye al Protocolo ARP.
Cuando se utiliza Nmap en una red local se aplica por defecto el protocolo ARP por ser más rápido y fiable según los datos oficiales , puede utilizar el flag -send-ip para forzar a Nmap a utilizar el Protocolo de Internet dentro de una red local, puede evitar que Nmap envíe ping ARP utilizando también la opción -disable-arp-ping.
Tipos de escaneo ARP de Nping
Las versiones anteriores de Nmap venían con una variedad de opciones para realizar escaneos ARP, actualmente Nmap no soporta estas banderas que ahora son utilizables a través de la herramienta Nping incluida en Nmap, si tienes Nmap instalado ya tienes esta herramienta.
Nping permite generar paquetes bajo muchos protocolos, como describe su sitio web oficial también puede ser utilizado para envenenamiento ARP, denegación de servicio y más. Su sitio web enumera las siguientes características:
- Generación de paquetes TCP, UDP, ICMP y ARP personalizados.
- Soporte para la especificación de múltiples hosts de destino.
- Soporte para la especificación de múltiples puertos de destino.
- Modos no privilegiados para usuarios no root.
- Modo Echo para la solución de problemas avanzados y el descubrimiento.
- Soporte para la generación de tramas Ethernet.
- Soporte para IPv6 (actualmente experimental).
- Se ejecuta en Linux, Mac OS y MS Windows.
- Capacidades de rastreo de rutas.
- Altamente personalizable.
- Libre y de código abierto.
(Fuente https://nmap.org/nping/)
Protocolos relevantes para este tutorial:
ARP: una petición de paquete ARP normal busca la dirección MAC utilizando la dirección IP del dispositivo. (https://tools.ietf.org/html/rfc6747)
RARP: una petición RARP (Reverse ARP) resuelve la dirección IP utilizando la dirección MAC, este protocolo está obsoleto. (https://tools.ietf.org/html/rfc1931)
DRARP: un protocolo DRARP (Dynamic RARP), o extensión de protocolo desarrollada para asignar una dirección IP dinámica basada en la dirección física de un dispositivo, también puede utilizarse para obtener la dirección IP. (https://tools.ietf.org/html/rfc1931)
InARP: una petición InARP (Inverse ARP) resuelve la dirección DLCI (Data Link Connection Identifier) que es similar a una dirección MAC. (https://tools.ietf.org/html/rfc2390)
Ejemplos básicos de paquetes ARP, DRARP e InARP:
El siguiente ejemplo envía una petición ARP para conocer la dirección MAC del router:
Como puede ver la bandera -arp-type ARP devolvió la dirección MAC del objetivo 00:00:CA:11:22:33
El siguiente ejemplo imprimirá información sobre el protocolo y las direcciones físicas e IP de los dispositivos que interactúan:
Where:
HTYPE: Tipo de hardware.
PTYPE: Tipo de protocolo.
HLEN: Longitud de la dirección de hardware. (6 bits para la dirección MAC)
PLEN: Longitud de la dirección de protocolo. (4 bits para IPv4)
SIP: Dirección IP de origen.
SMAC: Dirección Mac de origen.
DMAC: Dirección Mac de destino.
DIP: Dirección IP de destino.
El siguiente ejemplo devuelve la misma salida:
Nmap ARP discovery
El siguiente ejemplo usando nmap es un ping ARP omitiendo contra todas las posibilidades del último octeto, usando el comodín (*), también se pueden establecer rangos separados por guiones.
Donde:-sP: Ping escanea la red, listando las máquinas que responden al ping.
-PR: Descubrimiento ARP
El siguiente ejemplo es un escaneo ARP contra todas las posibilidades del último octeto incluyendo el escaneo del puerto.
El siguiente ejemplo muestra un escaneo ARP contra todas las posibilidades del último octeto
El siguiente escaneo fuerza un escaneo ip sobre un escaneo arp, de nuevo el último octeto usando el comodín.
Como se puede ver mientras el escaneo hecho antes tardaba 6 segundos este tarda 23.
Una salida y un tiempo similares ocurren si se desactiva el protocolo ARP añadiendo la bandera -disable-arp-ping:
Conclusión
Los escaneos ARP de Nmap y Nping están bien para descubrir hosts, mientras que según la documentación oficial los programas pueden ser útiles para DoS, ARP Poisoning y otras técnicas de ataque mis pruebas no funcionaron, hay mejores herramientas enfocadas al protocolo ARP como ARP spoofing, Ettercap,o arp-scan que merecen más atención en este aspecto. Sin embargo, al usar Nmap o Nping, el protocolo ARP añade al proceso de escaneo la confiabilidad de etiquetar los paquetes como tráfico de red local para el cual los routers o firewalls muestran más paciencia que para el tráfico externo, por supuesto esto no ayudará si se inunda la red con paquetes. Los modos y tipos de ARP ya no son útiles bajo Nmap pero toda la documentación sigue siendo útil si se aplica a Nping.
Espero que haya encontrado útil esta introducción a Nmap y al escaneo ARP de Nping. Sigue siguiendo LinuxHint para más consejos y actualizaciones sobre Linux y redes.
- Cómo escanear servicios y vulnerabilidades con Nmap
- Usando scripts nmap: Nmap banner grab
- Escaneo de red con Nmap
- Barrido de ping con Nmap
- Traceroute con Nmap
- Banderas de Nmap y lo que hacen
- Escaneo sigiloso de Nmap
- Alternativas de Nmap
- Nmap: escanear rangos de IP
.