arp-fingerprint

  • Posted on: 29 May 2023
  • By: ReYDeS

arp-fingerprint obtiene huellas (fingerprint) del host destino especificado utilizando el protocolo ARP.

Envía varios tipos diferentes de peticiones ARP, para luego registrar a cuales tipos responde el host. Desde esto construye una cadena de huellas constituidos de "1" donde el host respondió, y de "0" donde no lo hizo. Un ejemplo de cadena de huellas es 01000100000. Esta cadena de huellas se utiliza luego para buscar el sistema operativo probable.

Muchas de las cadenas sobre huellas son compartidas por varios sistemas operativos, por lo cual no siempre existe un mapeo uno a uno entre las cadenas de huellas y los sistemas operativos. Además el hecho de la huella de un sistema coincida con un determinado sistema operativo (o una lista de sistemas operativos), no significa necesariamente el sistema desde el cual se está obteniendo la huella sea ese sistema operativo, aunque es bastante probable. Esto se debe a la lista de sistemas operativos no es exhaustiva; siendo es probable existan sistemas operativos que no incluidos en lista.

La huella ARP de un sistema es generalmente una función de su kernel(aunque es posible la función ARP se implemente en el espacio del usuario, aunque casi nunca lo es).

Algunas veces un sistema operativo puede dar diferentes huellas dependiendo de la configuración. Un ejemplo es Linux, el cual responderá a una dirección IP de origen no local, si esa IP se encamina a través de la interfaz la cual se está probando. Esto es bueno y malo; por un lado hace la tarea de obtener huellas sea más compleja; pero de otro lado puede permitir determinar algunos aspectos sobre la configuración del sistema.

Algunas veces el hecho de dos sistemas operativos diferentes compartan una cadena de huellas ARP comunes, apunta hacia una reutilización del código de red. Un ejemplo de esto es Windows NT y FreeBSD.

arp-fingerprint utiliza arp-scan para enviar las peticiones ARP y recibir las respuestas.

Se ejecuta arp-fingerprint sin ningún parámetro, lo cual muestra un resumen de sus opciones.

$ arp-fingetprint

La opción -l intentará obtener una huella de todos los hosts sobre la red local.

$ sudo arp-fingerprint -l

Finalizado el escaneo, se presenta la información obtenida en tres columnas, la primera corresponde a la dirección IP, la segunda corresponde a la huella, y la tercera corresponde a una categorización de potenciales sistemas operativos obtenidos, con sus correspondientes variantes o versiones.

Fuentes:

https://linux.die.net/man/1/arp-fingerprint
https://linux.die.net/man/1/arp-scan
https://www.reydes.com/d/?q=arp-scan

Sobre el Autor


Alonso Eduardo Caballero Quezada - ReYDeS
Instructor y Consultor Independiente en Ciberseguridad
Correo Electrónico: ReYDeS@gmail.com
Twitter: https://twitter.com/Alonso_ReYDeS
LinkedIn: https://pe.linkedin.com/in/alonsocaballeroquezada/
Facebook: https://www.facebook.com/alonsoreydes
Youtube: https://www.youtube.com/c/AlonsoCaballero


Curso de Informática Forense