Descubrir Hosts con Arping

  • Posted on: 23 September 2019
  • By: ReYDeS

Arping es una utilidad la cual permite crear paquetes ARP (Address Resolution Protocol) e ICMP (Internet Control Message Protocol) para enviarlos hacia hosts arbitrarios en la red local. Naturalmente esta es una excelente manera de enumerar todos los hosts en funcionamiento. También es una herramienta muy informativa, pues imprime las respuestas ICMP y ARP en la pantalla.

Los siguientes ejemplos demuestran algunos usos simples del comando “Arping”.

# arping 192.168. 0.70

La siguiente imagen es el resultado del comando ejecutado anteriormente, incluyendo dirección MAC y dirección IP.

Si se recibe una respuesta del host, es un fuerte indicador de este host existe actualmente en la red. De hecho la ausencia de fortaleza criptográfica en el protocolo ARP; no es realmente una garantía de esta información sea estrictamente verdadera. Se debe recordar esto es información comunicada sobre protocolos inseguros.

Se puede tener el requerimiento de recorrer una lista de direcciones IP en una subred. Utilizando un script pequeño en bash se puede lograr esto. El siguiente código realiza esto.

#!/bin/bash

PREFIX=$1
INTERFACE=$2

for SUBNET in {0..255}
do
for HOST in {0..255}
do
echo "[*] IP : "$PREFIX"."$SUBNET"."$HOST
arping -c 1 -I $INTERFACE $PREFIX"."$SUBNET"."$HOST 2>/dev/null
done
done

En este script se utiliza la opción “-c” para definir únicamente el envío de una petición. También el usuario especifica la interfaz a ser utilizada con “arping” utilizando la opción “-I”. También se debe definir un prefijo para la dirección IP local. La manera correcta consecuentemente de ejecutar el script es la siguiente, siendo el nombre del script “arping.sh”.

# bash arping.sh 192.168 eth0

“Arping” tiene otras opciones aparte de las anteriormente mencionadas.

-d. Encuentra respuestas duplicadas. Esta opción es relevante como una herramienta para vigilancia. Siendo factible detectar si alguien en la red está falsificando una dirección MAC asignada a otro host; los atacantes frecuentemente hacen esto para iniciar un ataque de hombre en el medio.

-p. Define el modo promiscuo en la interfaz especificada, y permite definir las direcciones MAC de otros como el propio, esto es una falsificación de MAC.

-r. Muestra el resultado en bruto, y significa únicamente la dirección MAC e IP son mostrados para cada respuesta.

También “arping” define modos de direccionamiento

-s MAC. Esto implica utilizar MAC como dirección MAC fuente. Esta opción funciona bien si la red o selección de hosts los cuales se están enumerando utiliza filtrado por MAC origen, únicamente sirviendo respuestas hacia un número selecto de hosts.

-S IP. Esta opción instruye utilizar la dirección IP como fuente, esto es falsificación IP. Si un firewall basado en host únicamente permite un número limitado de direcciones IP para comunicarse, esta opción es relevante para falsificar una de las direcciones IP permitidas.

-t MAC. Esta opción instruye a utilizar la dirección MAC como objetivo.

-T IP. Esta opción instruye a utilizar la dirección IP como la dirección IP objetivo.

Así es factible combinar las características y funcionalidades inherentes a una herramienta como “arping”, con el shell bash de Linux. De esta manera se incrementa su potencial y beneficios.

Fuentes:

https://linux.die.net/man/8/arping
https://tools.ietf.org/html/rfc792
https://tools.ietf.org/html/rfc6747

Sobre el Autor


Alonso Eduardo Caballero Quezada - ReYDeS
Instructor y Consultor en Hacking Ético, Forense Digital & GNU/Linux
Correo Electrónico: ReYDeS@gmail.com
Twitter: @Alonso_ReYDeS
LinkedIn: pe.linkedin.com/in/alonsocaballeroquezada
Facebook: https://www.facebook.com/alonsoreydes
Youtube: http://www.youtube.com/c/AlonsoCaballero
Resumen de mi CV: http://www.reydes.com/d/?q=node/1