Escaneando la red en segundos | ARP Scan

Hoy vengo a hablar sobre el descubrimiento de dispotisivos, es una de las fases iniciales que tenemos que realizar en cualquier test de penetración y a veces olvidamos cual sería el método más efectivo para descubrir el mayor número de dispositivos con el mínimo riesgo de detección.

 

¿Qué es ARP?

ARP son las siglas para “Address Resolution Protocol ” o protocolo de resolución de direcciones, es un protocolo que trabaja en la capa de red del modelo OSI, se encarga de traducir las direcciones físicas (MAC ) de cada dispositivo en direcciones virtuales (IP)

Las tablas ARP se encargan de relaciones dichas direcciones IP con las direcciones físicas, son esenciales para el correcto funcionamiento de la red, podemos consultarlas desde la terminal con el comando arp -a

Captura
Tablas ARP

 

Realizando escaneos ARP

Para realizar el escaneo al protocolo ARP podemos utilizar diferentes herramientas ( todas ellas incluidas en Kali Linux ) o podemos utilizar Scapy para crear un simple escáner.

Utilizando las herramientas existentes

La primera herramienta es la más conocida y útil, se trata de nmap, para realizar un escaneo ARP simplemente tenemos que utlizar la siguiente bandera:

nmap -sn 192.168.1.*

Escaneando de esta forma todo el segmento de red en el que nos encontramos

Resultado del escaneo de Nmap

También disponemos de herramientas específicas para escanear en ARP, en mi opinión para este tipo de discovery perfiero utilizar netdiscover ya que puede llegar a ser más útil obteniendo resultados de más segmentos de red del que nos encontramos.

Resultado de la herramienta NetDiscover

Utilizando Scapy para escanear la red

Scapy es una utilidad que nos permite trabajar con la red de una forma diferente, pudiendo crear paquetes totalmente personalizados y realizar escaneos como realizaremos en este post.Scapy es de utilidad porque podemos convinarlo con Python.

Un sencillo script para automatizar el proceso de escaneo sería el siguiente:

targets_online=[]
for ip in range(0,50):
try:
dir_ip = str(“192.168.0.”)+str(ip)
print dir_ip+”\n”
scan = sr1(ARP(pdst=str(dir_ip)), timeout=1, verbose=0)
if scan == None:
pass
else:
print “Possible target found on %s”%(dir_ip)
targets_online.append(dir_ip)
except KeyboardInterrupt:
print “[!] Aborted by user”

Con este pequeño script podemos realizar un escaneo a un segmento descubriendo todos los dispositivos conectados.

 

Ventajas y desventajas de este escaneo

Las ventajas de este tipo de escaneo es que se realizar de forma muy rápida para entornos donde trabajamos con numerosos dispositivos y con diferentes segmentos de red.

Sin embargo, el protocolo ARP, no es enrutable hacia internet, es decir, este tipo de escaneo solo serán útiles en entornos de área local.

 

@cyberh99

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s