¿Qué es arp-scan?

arp-scan es una herramienta de línea de comandos que utiliza el protocolo ARP (Address Resolution Protocol) para descubrir hosts en una red local.

¿Qué problema resuelve?

En una auditoría, el escaneo tradicional (ICMP/Ping) suele fallar porque los firewalls de los hosts bloquean los paquetes de Capa 3. Sin embargo, para que un dispositivo se comunique en una LAN, debe responder a las peticiones ARP.

¿Por qué un Bug Hunter/Pentester debería usarla?

  • Bypass de Firewalls: Identifica dispositivos "invisibles" que bloquean el tráfico IP.
  • Fingerprinting de Hardware: Identifica el fabricante (OUI) del dispositivo (útil para hallar cámaras IoT, PLCs o switches mal configurados).
  • Velocidad: Es extremadamente rápido para mapear segmentos /24 o superiores.

Instalación y Configuración

Viene preinstalado en Kali y Parrot, pero aquí tienes los comandos por si acaso:

# Instalación en Debian/Ubuntu/Kali
sudo apt update && sudo apt install arp-scan -y

# Verificar versión
arp-scan --version

Modo Básico (Walkthrough)

Para empezar a ver resultados, debes ejecutarlo con privilegios de root (necesarios para manipular sockets crudos de red).

# Escaneo automático de toda la red local conectada a tu interfaz
sudo arp-scan --localnet

Este comando detectará tu IP, máscara de subred y lanzará peticiones a todo el segmento.

Parámetros Imprescindibles

Estrategias Avanzadas para Pentesting

1. El Comando de Oro

Para maximizar el éxito y el sigilo, utiliza esta configuración:

sudo arp-scan -I eth0 --localnet --backoff=2 --retry=3 --interval=200 --ignoredups --ouifile=ieee-oui.txt
  • --backoff=2: Factor multiplicador para el tiempo de espera si no hay respuesta; ayuda en redes congestionadas.
  • --interval=200: Introduce un delay de 200ms entre paquetes para no disparar alertas de "Storm Control" en switches empresariales.
  • --ouifile: Forzar el uso de una base de datos actualizada para identificar dispositivos IoT críticos (Cámaras, controladores industriales).

2. Integración en el Pipeline (Recon & Chaining)

El verdadero poder de un Hunter está en el encadenamiento. Aquí te presento un flujo profesional para transformar una IP muerta en un Critical Bounty:

Flujo: Descubrimiento -> Fingerprinting -> Nuclei

# 1. Identificar hosts, limpiar salida y guardar en un archivo
sudo arp-scan --localnet -x | awk '{print $1}' > live_hosts.txt

# 2. Pasar a Naabu (escáner de puertos rápido) y luego a HTTPX para identificar servicios web
cat live_hosts.txt | naabu -p 80,443,8080,8443 -silent | httpx -title -content-length -status-code -o web_services.txt

# 3. Lanzar Nuclei sobre los servicios encontrados para buscar vulnerabilidades conocidas
nuclei -l web_services.txt -t critical-templates.yaml -severity critical,high

3. Casos de Uso Avanzados y Bypasses

A. Evasión de Filtros MAC (MAC Spoofing)

Si el cliente tiene un filtrado por dirección física, puedes suplantar tu MAC por la de un dispositivo ya conocido (como una impresora Xerox que siempre está encendida):

# Cambia tu MAC de origen por una que sepas que está permitida
sudo arp-scan --localnet --srcaddr=00:11:22:33:44:55

B. Identificación de Dispositivos "Dual-Homed"

Si ves que una misma MAC responde a dos IPs de rangos distintos, ¡has encontrado un punto de pivote! Un servidor que conecta dos redes (ej. Gestión y Producción).

  • Tip: Usa --ignoredups solo cuando estés seguro de que no hay Proxy ARP; de lo contrario, deja que muestre los duplicados para encontrar estas joyas de red.

Escenarios de Explotación Real

Escenario: Bypass de Segmentación de Red

En un compromiso de red interna, el cliente asegura que la red de "Invitados" está aislada de la "Administrativa".

  • Ejecutas nmap -sn 192.168.10.0/24 y no recibes nada.
  • Ejecutas sudo arp-scan --interface=eth0 192.168.10.0/24.
  • Aparecen 5 hosts con MACs de "Cisco Systems". Vulnerabilidad: Los activos están vivos pero protegidos en Capa 3. Acabas de confirmar que la segmentación es solo superficial y puedes proceder con ataques de ARP Spoofing o Man-in-the-Middle (MitM).

Sección "Pro-Tip"

El One-Liner de Reconocimiento Masivo Silencioso

Si quieres evitar hacer ruido enviando demasiados paquetes a la vez, usa el parámetro --interval para espaciar las peticiones y pasar desapercibido ante un IDS simple.

# Envía un paquete cada 500ms (0.5s) para un escaneo sigiloso
sudo arp-scan --interface=eth0 --interval=500 --localnet

Recordatorio Ético: El uso de arp-scan genera ruido en la red local (tráfico ARP masivo). Asegúrate de tener autorización explícita para auditar la red interna. En entornos de Bug Bounty, esto suele aplicar solo en programas con alcance de infraestructura interna o VPNs corporativas.

Conéctate conmigo

¿Te fue útil esta información? Puedes encontrar más contenido en:

Support Me ☕