You are on page 1of 25

Detectando Sniffers en nuestra red.

Redes conmutadas y
no conmutadas. Actualizacin.
Publicado en 27 noviembre, 2009de Alfon

Hace ya algunos aos, concretamente en 2003-2004, escrib sobre la Deteccin


de Sniffers en redes conmutadas y no conmutadas en varios sitios de la
Red. Lo podeis ver tambin aqu y en mi primer blog (http://webs.ono.com/alfonn/).
Creo que es el momento de revisar y ampliar este artculo.
En esta actualizacin trataremos tambin la deteccin desde varios escenarios
usandoWireshark (al final del artculo) y algn que otro software / tcnica ms de
deteccin como Nast y DecaffeinatID, ArpOn, VLANs, algn firewall
como Outpost, Actualizar tambin algunos enlaces de descarga que estaban ya
obsoletos, notas sobre funcionamiento de algunas herramientas antiguas, etc.
ACiD: bogon 192.168.4.5 00:04:76:f2:c9:5f (00:11:22:33:44:55)
ACiD: ethernet mismatch 192.168.4.5 00:04:76:f2:c9:5f
(00:11:22:33:44:55)
ACiD: bogon 192.168.4.1 00:04:76:97:b3:a9
ACiD: bogon 192.168.4.5 00:04:76:9a:66:a6
Possible spoof 192.168.4.5 00:04:76:9a:66:a6 was at
00:04:76:f2:c9:5f
Decamos, por aquel entonces.
Vamos a tratar aqu, principalmente, la deteccin de sniffers en nuestra red desde el escenario
ms bsico posible. Este escenaro sera una subred o red no conmutada. Aunque ms adelante
nos introduciremos brvemente en la escuha en redes conmutadas o basadas en switches y
herramientas de deteccin en este tipo de redes.

Sobre posicionamiento de un sniffer en nuestra red, conmutada o no


conmutada:
Posicin del sniffer en nuestra red. Redes conmutadas y no conmutadas.
Antes que nada, decir que los sniffers no son fciles de detectar y combatir, ya que
se trata de programas que trabajan en modo pasivo. Las tcnicas que se tratan aqu,
por tanto, no son totalmente fiables, aunque en algunos casos si suponen una gran
aproximacin al descubrimiento de este tipo de software. Antes que nada y para
enteder algunos coneceptos de este artculo veremos como funciona, brevemente,
el protocolo ARP

Que es. Para que sirve ARP ?

En una red Ethernet cuando queremos enviar un paquete IP entre dos hosts
conectados, las nicas direcciones vlidas son las MAC, y lo que circula son tramas
Ethernet. Entonces, y volviendo al ejemplo de antes, cuando queremos enviar un
paquete IP lo que se hace es meter el paquete dentro de una trama Ethernet y
enviar.

Formato de una cabecera ARP:

HLEN Longitud direccin hardware


PLEN Longitud direccin del protocolo
OPERACION Cdigo de operacin (ARPreques ARPreply)
SENDER HA Direccin de origen hardware
SENDER IP Direccin de origen del protocolo
TARGET HA Direccin de destino hardware

Cual es el problema entonces ?


El problema radica en que que sabemos la direccin IP del host de destino
pero no su direccin MAC.

Como se soluciona esto ?


La solucin est en que antes de enviar el paquete IP se debe usar ARP para
averiguar cual es la direccin MAC del host destino de la coneccin que
pretendemos realizar.

Y como se hace ?.
ARP tiene dos tipos bsicos de mensajes:
mensaje de peticion o ARPrequest
mensaje de respuesta o ARPreply
los dos viajan por nuestra red dentro de tramas Ethernet.
Cuando queremos enviar un paquete IP desde un host origen (A)
hacia un host destino (B) sucede:

(A) crea un mensaje o peticin ARPrequest indicando:

su direccin IP

su direccin MAC

direccin IP del host (B)


campo de direccin MAC host (B) sin rellenar.
envia el ARPrequest a la direccin broadcast (todos los hosts de la red)
pero slo contesta uno de ellos (B). Entonces:

(B) crea un mensaje ARPreply:

rellena el campo de direccin MAC con su MAC


intercambia las direcciones origen y destino
cambia el tipo de mensaje de ARPreques a ARPreply
envia el mesnaje ARPrpely a (A).

Ya hay entonces informacin suficiente para establecer cualquier


comunicacin entre (A) y (B).
Esto lo podemos comprobar utilizando un sniffer de red
como Wireshark, Windump y filtrando por protocolos, en este caso ARP:
C:\scan>windump -qtn arp
windump: listening on \Device\NPF_{604C8AE3-5FAC-45A5-BFAA81175A8C32BF}
arp who-has 192.168.5.241 tell 192.168.5.240
arp who-has 192.168.4.234 tell 192.168.4.1
arp who-has 192.168.4.234 tell 192.168.4.1
arp
arp
arp
arp
arp
arp
arp
arp
arp

who-has 192.168.4.234 tell 192.168.4.1


who-has 192.168.5.4 tell 192.168.5.240
who-has 192.168.5.6 tell 192.168.5.240
who-has 192.168.5.44 tell 192.168.5.240
who-has 192.168.5.14 tell 192.168.5.240
who-has 192.168.4.234 tell 192.168.4.1
who-has 192.168.4.15 tell 192.168.4.10
reply 192.168.4.15 is-at 0:1:2:e7:57:cf
who-has 192.168.4.234 tell 192.168.4.1

arp
arp
arp
arp
arp

who-has 192.168.4.15 tell 192.168.4.1


reply 192.168.4.15 is-at 0:1:2:e7:57:cf
who-has 192.168.4.234 tell 192.168.4.1
who-has 192.168.4.15 tell 192.168.4.13
reply 192.168.4.15 is-at 0:1:2:e7:57:cf..

Toda la informacin de las relaciones IP/MAC se guarda en la cache ARP. En un


sistema Windows:

C:\>arp -a
Interfaz: 192.168.4.3 on Interface 01000003
Direccin IP Direccin fsica Tipo
192.168.4.1 00-04-76-97-b3-a9 dinmico
192.168.4.20 00-a0-24-4e-4e-4e dinmico
Sistemas Linux:
$ arp -a
serprint (192.168.4.2) at 52:54:05:fd:de:e5
infografia3 (192.168.4.3) at 00:90:27:6a:58:74
Una vez visto como funciona el protocolo ARP, seguimos con la deteccin de los
sniffers.

Deteccin en sistemas UNIX/Linux


En entornos Linux o UNIX la verificacin de una interface en modo promiscuo se
puede hacer usando ifconfig. Este programa configura la interface de red
instalada en un determinado host y obtiene informacin de la configuracin en el
momento de ejecutar el programa. Cuando un adaptador de red se encuentra en
modo promiscuo, ifconfig nos devuelve la siguiente informacin:
$ ifconfig -a
eth0 Link Encap: 10Mbps Ethernet HWaddr: xx:xx:xx:xx:xx:xx
inet addr: a.b.c.d Bcast: a.b.c.f Mask: m.m.m.m
UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1
(OJO: Modo promiscuo)
RX packets: 0 errors:0 dropped:0 overruns:0TX packets:0
errors:0 dropped:0 overruns:0
Interrupt:15 Base Address:0300
Este sistema no es infalible.
Existen programas que pueden hacer esta labor como:

Nast. ( Network Analizer Sniffer Tool. )


http://nast.berlios.de/
Herramienta para Linux. Nast es un Sniffer multipropsito. Entre otras
funciones, realiza:
listado de host de una red,

bsquedas de Gateway,

control y secubrimiento de ARP-Spoofing


reseteo de conexiones TCP establecidas,
bsqueda de dispositivos hub / switch,
scan de puertos
seguimiento de TCP data Stream
..
y, lo que nos interesa: descubrimiento de modo promscuo en
interfaces de red,
Para este propsito tan solo ejecutar naast de la forma:

nast -P, 192.168.1.30


Nast V. x.x.x
This check can have false response, pay attention!
Scanning for sniffer the following host:
192.168.1.15 (192.168.1.30) > Found!
nos devolver informacin de si dicha IP est (la interface de red) en modo
promscuo.

CMP (Check Promiscuous Mode)


ftp://ftp.cerias.purdue.edu/pub/tools/unix/sysutils/cpm/
Este pequeo programa realizado por la Universidad de Carnegie Mellon, chequea
el interfaz de red de la mquina descubriendo si est siendo utilizado en modo
promscuo (escuchando todo el trfico de la red).
$ cpm
4 network interfaces found:
eth0:5: Normal
eth0:3: Normal
eth0:2: Normal
eth0:1: Normal
eth0: *** IN PROMISCUOUS MODE ***
Existen otros programas como Antisniff, Sentinel, SniffDet, ifstatus o NEPED:

NEPED. Modo de trabajo.


http://downloads.securityfocus.com/tools/neped.c
Tenemos que introducir la interface de red:

$ neped eth0
> My HW Addr: 00:50:BF:1C:41:59
> My IP Addr: 192.168.0.1
> My NETMASK: 255.255.255.0
> My BROADCAST: 192.168.1.255
Scanning .
* Host 192.168.0.3, 00:C2:0F:64:05:FF **** Promiscuous mode
detected !!!
End.
NEPED utiliza la tcnica de realizar una simple peticin ARP para cada una de las
IPs de la red a diagnosticar, pero ojo, los paquetes no van destinados a broadcast
(FF:FF:FF:FF:FF:FF), sino a una direccin aleatoria e inexistente. Slo las
interfaces en modo promiscuo vern estos paquetes, y de esta
manera, slo estas interfaces contestarn a estas peticiones.
Existe tambin un dispositivo de hardware llamado Tap. Este dispositivo permite
conectarse a un Hub o incluso a un switch de red al cual conectsemos un
dispositivo (ordenador) para monitorizar la red. Existen tipos de Taps para cada
tipo de red Ethernet 10 Mbps, 100 Mbps y 1 Gbps.
SniffDet Remote Sniffer Detection
http://prdownloads.sourceforge.net/sniffdet/sniffdet-0.9.tar.gz
Usa ls tcnicas test ICMP, test ARP, test DNS y test de ping de latencia.
NOTA: Veremos estos test mas abajo.
Vemos un ejemplo con SniffDet:
# ./sniffdet 0.9
A Remote sniffer Detection Tool
Copyright (c) 2003
Ademar de Souza Reis Jr.
Milton Soares Filho
Usage: ./sniffdet [options] TARGET
Where:
TARGET is a canonical hostname or a dotted decimal IPv4
address

-i iface=DEVICE Use network DEVICE interface for tests


-c configfile=FILE Use FILE as configuration file
-l log=FILE Use FILE for tests log
-f targetsfile=FILE Use FILE for tests target
pluginsdir=DIR Search for plugins in DIR
-p plugin=FILE Use FILE plugin
-u uid=UID Run program with UID (after dropping root)
-g gid=GID Run program with GID (after dropping root)
-t test=[testname] Perform specific test
Where [testname] is a list composed by:
dns DNS test
arp ARP response test
icmp ICMP ping response test
latency ICMP ping latency test
-v verbose Run in verbose mode
-h, help Show this help screen and exit
version Show version info and exit
Defaults:
Interface: eth0
Log file: sniffdet.log
Config file: /etc/sniffdet.conf
Plugins Directory: /usr/lib/sniffdet/plugins
Plugin: stdout.so
You have to inform at least one test to perform
vemos un ejemplo resultado de este software:

Sniffdet Report
Generated on: xxxxxxxxx 2003

Tests Results for target 192.168.2.1

Test: ARP Test


Check if target replies a bogus ARP request (with wrong MAC)
Validation: OK
Started on: xxxx
Finished on: Mxxxxx

Bytes Sent: 84
Bytes Received: 60
Packets Sent: 2
Packets Received: 1

RESULT: POSITIVE

Number of tests with positive result: #1

AntiSniff_v1.3
http://www.packetstormsecurity.org/sniffers/antisniff/as-1021.zip
Esta herramienta, tanto para plataformas linux/Unix como para Win32, es muy
sencilla de usar y tan slo es necesario inroducir el rango ede IPs a monitorizar en
busca del posible sniffer.
Usa las tcnicas de ping de latencia, test DNS y test ARP.

Actualmente no est soportado.

Sentinel
http://packetstorm.linuxsecurity.com/UNIX/IDS/sentinel/sentinel-1.0.tar.gz
Utiliza los mtodos de: test DNS, test ARP, prueba ICMP Etherping, y ping de
latencia.
Uso de sentinel:
./sentinel [mtodo] [-t ] [opciones]
Mtodos:
[ -a test ARP ]
[ -d test DND ]
[ -i ICMP Test ping de latencia]
[ -e ICMP test Etherpingt ]

Opciones:
[ -f fichero o IP]
[ -c clase C a monitorizar]
[ -n ]
[ -I ]
Ejemplos:

./sentinel -a -t 192.168.1.2
Optimizado para usar el test ARP host 192.168.1.2
./sentinel -aed -f ./()
Optimizado para usar el test DNS host 192.168.1.2

./sentinel -aed -f ./fichero_lista_IPs testo ARP, DND, Etherping para una lista
de IPs
./sentinel -aed -c 10.2.2
Optimizado para escanear una red de clase c (10.2.2) usando el test ARP, DNS
y test Etherping
Otras formas de detectar posibles sniffers
Detectar y controlar los logs que suelen generar los sniffers.
Detectar y controlar las conexiones al exterior.
Monitorizados los programas que acceden al dispositivo de red.

Normalmente una interface en modo promiscuo, queda reflejada en el fichero


de logs:
* $ cat /var/log/messages

Otras tcnicas de deteccin

Slo por nombrar algunas, son usadas por los programas anti-sniffers.
Comentaremos la ltima:

Ping de latencia
Test ARP

Uso de un IDS. Por ejemplo Snort que contiene un preprocesador (arpspoof)


que nos puede servir. Aqu las lneas de snort.conf configurando el
preprocesador:
# arpspoof
## Experimental ARP detection code from Jeff Nathan, detects

ARP attacks,
# unicast ARP requests, and specific ARP mapping monitoring.
To make use
# of this preprocessor you must specify the IP and hardware
address of hosts on # the same layer 2 segment as you.
Specify one host IP MAC combo per line.
# Also takes a -unicast option to turn on unicast ARP
request detection.
# Arpspoof uses Generator ID 112 and uses the following SIDS
for that GID:
# SID Event description
# # 1 Unicast ARP request
# 2 Etherframe ARP mismatch (src)
# 3 Etherframe ARP mismatch (dst)
# 4 ARP cache overwrite attack
preprocessor arpspoof
preprocessor arpspoof_detect_host: 192.168.2.1
f0:0f:00:f0:0f:00
Otro IDS para sistemas Linux como Prelude Hybrid
IDS(http://www.preludeids.org/rubrique.php3?id_rubrique=13), poseee un
plugin (ArpSpoof Plugin ) que nos ayuda a detectar incoherencias en mensajes
ARP, conflicos con una base de datos ARPwatch (veremos esto ms adelante), etc:
Configuracin de plugin: /usr/local/etc/prelude-nids/prelude-nids.conf

[ArpSpoof]
#
# Search anomaly in ARP request.
#
# The directed option will result in a warn each time an ARP
# request is sent to an address other than the broadcast address.
#
# directed;
# arpwatch= ;

* Test DNS

Las tcnicas de deteccin. Breve explicacin.


El test DNS En este mtodo, la herramienta de deteccin en s misma est en
modo promscuo. Creamos numerosas conexiones TCP falsas en nuestro segmento
de red, esperando un sniffer pobremente escrito para atrapar estas conexiones y
resolver la direcin IP de los inexistentes hosts. Algunos sniffers realizan
bsquedas inversas DNS en los paquetes uqe capturan. Cuando se realiza una
bsqueda inversa DNS, un utilidad de detecin de sniffers huele la peticin de las
operaciones de bsqueda para ver si el objetivo es aquel que realiza la peticin del
host inexistente.
El Test del Ping Este mtodo confia en un problema en el ncleo de la
mquina receptora. Podemos construir una peticin tipo ICMP echo con la
direccin IP de la mquina sospechosa de hospedar un sniffer, pero con una
direccin MAC deliberadamente errnea. Enviamos un un pacquete ICMP echo al
objetivo con la direccin IP correcta, pero con una direccin de hardware de
destino distinta. La mayora de los sistemas desatendern este paquete ya que su
direccin MAC es incorrecta. Pero en algunos sistemas Linux, NetBSD y NT, puesto
que el NIC est en modo promscuo, el sniffer asir este paquete de la red como
paquete legtimo y responder por consiguiente. Si el blanco en cuestin responde
a nuestra peticin, sabremos que est en modo promscuo. Un atacante avanzado
puede poner al da sus sniffers para filtrar tales paquetes para que parezca que el
NIC no hubiera estado en modo promscuo.
El Test ICMP Ping de Latencia. En ste mtodo, hacemos ping al blanco y
anotamos el Round Trip Time (RTT, retardo de ida y vuelta o tiempo de latencia)
Creamos centenares de falsas conexiones TCP en nuestro segmento de red en un
perodo de tiempo muy corto. Esperamos que el sniffer est procesando estos
paquetes a razn de que el tiempo de latencia incremente. Entonces hacemos ping
otra vez, y comparamos el RTT esta vez con el de la primera vez. Despues de una
serie de tests y medias, podemos concluir o no si un sniffer est realmente
funcionando en el objetivo o no.
El test ARP Podemos enviar una peticin ARP a nuestro objetivo con toda la
informacin rpida excepto con una direccin hardware de destino errnea. Una
mquina que no est en modo promscuo nunca ver este paquete, puesto que no
era destinado a ellos, por lo tanto no contestar. Si una mquina est en modo
promiscuo, la peticin ARP sera considerada y el ncleo la procesara y
contestara. Por la mquina que contesta, la sabemos estamos en modo promiscuo.

El test Etherping Enviamos un ping echo al host a testear con una IP de


destivo correcta y direccin MAC falseada. Si el host responde, es que su interfaz
est en modo promiscuo, es decir, existe un sniffer a la escucha y activo.

Protegerse contra la accin de los Sniffers

A grandes rasgos para protegernos de los sniffers y para que stos no cumplan sus
objetivos de olfateo de contraseas y en general nos lean datos sensibles en texto
plano -sin cifrado fuerte-, podemos hacer uso de diversas tcnicas o utilizar
sistemas como:

Redes conmutadas (no siempre es efectivo)

PGP

SSL
SSH
VPN,
Implementacin de VLANs que, a parte de mejoras de seguridad,
aportan optimizacin del trfico LAN. Algunos tipo de polticas /
configuracin VLANs, puede ser susceptibles de atacadas mediante ARP
Spooofin.
Algunos routers / switch implementan medidas adicionales de
seguridad anti spoofing mediante reglas, etc.

.
Aunque ya veremos ms adelante que ni siquiera el uso de SSH, por citar un
ejemplo, nos puede protejer efectivamente del uso de ciertos tipos de sniffer
como ettercap.

Deteccin en sistemas Windows


PromiScan

http://www.securityfriday.com/tools/promiscan_sla.html

PromiScan (www.securityfriday.com) es una utilidad de distribucin gratuita


diseada para dar caza a los nodos promiscuos en una LAN rpidamente y sin crear
una carga pesada en la red. Hay que tener en cuenta que localizar un nodo
promiscuo es una tarea ardua, y que en muchos casos el resultado es incierto; no
obstante, PromiScan consigue mostrar cada uno de esos nodos de una manera
transparente, claramente visible. Para usarPromiScan es necesario contar con

Windows 2000 Professional y haber instalado previamente el controlador


WinPcap.
Funciona con la vewrsion winpcap 3.0 en adelante, pero conviene no usarlo con
versiones muy altas. Puede funcionar en XP. La version 3.0 de Promiscan es
comercial pero puede funcionar como Trial.

PromiscDetect
http://www.ntsecurity.nu/downloads/promiscdetect.exe
NOTA: Actualizado para XP, Windows 2003 y Vista.
C:\scan>promiscdetect
PromiscDetect 1.0 (c) 2002, Arne Vidstrom
(arne.vidstrom@ntsecurity.nu)
http://ntsecurity.nu/toolbox/promiscdetect/
Adapter name:
NIC PCI 3Com EtherLink XL 10/100 PCI para administracin
completa del equipo
(3C905C-TX)
Active filter for the adapter:
Directed (capture packets directed to this computer)
Multicast (capture multicast packets for groups the
computer is a member of)
Broadcast (capture broadcast packets)
Promiscuous (capture all packets on the network)
WARNING: Since this adapter is in promiscuous mode there
could be a sniffer running on this computer!

DecaffeinatID
http://irongeek.com/downloads/decaffeinatid0.09.zip
Otra herramienta, que, aunque tiene otras funciones, nos puede servir para la
deteccin de sniffers es DecaffeinatID, que nos informar de cualquier cambio en
la tabla de entradas ARP. La utilidad permanece residente monitorizando de forma
automtica. Se trata, pues de una herramienta ARP-Watch.

Firewalls. Outpost.
Algunos cortafuegos o firewalls por software, implementas soluciones de
proteccin, anlisis y bloqueo de ataques Ethener. En este caso Outpot, tiene la
opcin: Activar Filtro Inteligent ARP en las Propiedades de la deteccin de
ataques.

ProDETECT 0.2 BETA

Incluye configuracin de alertas, alertas por SMTP, logs, rangos y listas de IPs, etc.
NOTA: Puede no funcionar correctamente con las ltimas versiones de Winpcap.

http://sourceforge.net/projects/prodetect/
http://prdownloads.sourceforge.net/prodetect/proi386.exe?download
Alerta de ProDETECT:

Deteccin en redes conmutadas


En redes commutas o que hagan uso de switches, la tcnica de ARP
poisoning oenvenenamiento arp es la ms efectiva. Esta tcnica consiste, muy
brevemente, en modificar (envenenar) la tabla ARP de los host involucrados en el
ataque para que stos enven a la red tramas Ethernet con destino la MAC del
atacante. Esto significa que el switch entregar los datos de las comunicacin a
dicho host. Para evitar el refresco de la cach ARP es necesario el envio constante
de arp-reply.

Una posible solucin o defensa sera el uso de MACs estticas, con el fin de que no
puedan ser modificadas, aunque en algunos sistemas Windows esto no es eficiente
al 100 por 100.

ArpOn ( Arp Handler Inspection )


http://arpon.sourceforge.net/
ArpOn es una herramienta para sistemas Linux, Mac OS X, FreeBSD, NetBSD,
OpenBSD, que implementa, no ya la deteccin de ARP spoofing, si no, ms bien, el
bloqueo y defensa mediante dos tcnicas:
SARPI Se refiere al modo de funcionamiento esttico. En este
modo, ArpOn crea una lista, guarda en una cach, las entradas de la tabla de

ARP, de esta forma, ArpOn, slo permitir el trfico de peticiones y


respuestas ARP de las IP / MACreflejadas en la informacin previamente
guardada en la cache ms arriba comentada.
DARPI Se refiere al modo de funcionamiento dinmico. Es este
modo, ArpOn, borra toda las entradas de la cach ARP. Entonces, las
nuevas entradas se irn aadiendo a una cach especial para los mensajes de
peticin o ARPrequest y para los de respuesta o ARPreply. ArpON, de
forma dinmica, bsicamente, lo que hace es
dejar pasar los ARPrequest generados por nuestro host y apunta en la

cach la direccin destino.


rechaza los ARPRequest que proceden de la LAN dirigido a nuestro host
y borra lo referente a la direccin origen. El mismo Kernel ser el que envie
un paquete ARPrequest a la direccin de orgen.
dejar pasar los ARPreply generados por nuestro host.
para los ARPreply procedentes de la LAN, se comprueba si la
direccin de origen se encuentra en la cach apuntada por ArpOn en el
ARPrequest generado por nuestro host. Si existe la entrada, se le deja pasar
al paquete, caso contrario se rechaza y elimina la entrada de la cach.

De esta forma ArpOn nos portejer de ARP Poisoning o envenenamiento ARP


producidos tanto por ARPrequest como por ARPreply.

Nast. ( Network Analizer Sniffer Tool. )


http://nast.berlios.de/
Herramienta para Linux. Nast es un Sniffer multipropsito. Entre otras
funciones, realiza:
listado de host de una red,

bsquedas de Gateway,

descubrimiento de modo promscuo en interfaces de red,


reseteo de conexiones TCP establecidas,
bsqueda de dispositivos hub / switch,
scan de puertos
seguimiento de TCP data Stream
..
y, lo que nos interesa: control y secubrimiento de ARP-Spoofing.
Para este propsito tan solo ejecutar naast de la forma:

nast -c, check-arp-poisoning


nos devolver un mensaje: Waring! Truly is xx:xx:xx:xx:xx:xx, possible
ARP-Poisoning!!!

ARPWatch
En sistemas Linux la herramienta ( http://www-nrg.ee.lbl.gov/ ) nos puede servir
para detectar el uso del envenenamiento ARP en nuestro sistema. Con ARPWatch
podemos comprobar la correspondencia entre pares IP-MAC (Ethernet). En caso
de que un cambio en un par se produzca (esto es, se escuche en el interfaz de red
del sistema), ARPWatch enva un correo de notificacin del suceso a la cuenta root
o administrador del sistema con un mensaje tipo FLIP FLOP o Change
ethernet address. Tambin podemos monitorizar la existencia de nuevos host (
aparicin de una nueva MAC en la red).
# ./arpwatch -?
Version 2.1a11
usage: arpwatch [-dN] [-f datafile] [-i interface] [-n
net[/width]] [-r file]
[-u username] [-e username] [-s username]
# cat /etc/sysconfig/arpwatch
# -u : defines with what user id arpwatch should run
# -e : the where to send the reports
# -s : the -address
OPTIONS="
Una herramienta similar a ARPwatch pero para sistemas Windows la encontramos
enWinARP Watch
v1.0 (http://www.securityfocus.com/data/tools/warpwatch.zip). Esta herramienta
no enviar correo alguno a ningn administrador, pero nos tendr puntualmente

informados sobre la cach ARP, las correspondencias IP/MAC, cualquier


nuevo par que se aada a la cach, etc.
Una alerta de WinARP Watch:

Existe en el mercado un tipo especial de switches que est preparados para que la
tabla ARP no pueda ser modificada.
Hablando de herramientas, una que realiza este trabajo de escucha en redes
conmutadas con gran eficacia
es ettercap. Ettercap ( http://ettercap.sourceforge.net ) es capaz de escuchar
tanto redes basadas en hubs como en switches. Adems puede escuchar
conexiones SSH e incluso detectar otros envenenamientos o modificaciones de la
tabla ARP.

Deteccin de envenenamiento ARP con ettercap en un sistema Windows.


C:\\ettercap>ettercap -Nc
ettercap 0.6.b (c) 2002 ALoR & NaGA
List of available devices :
> [dev0] [3Com EtherLink PCI]
Please select one of the above, which one ? [0]:
Your IP: 192.168.4.3 with MAC: 00:04:76:F2:C9:5F on Iface:
dev0
Building host list for netmask 255.255.255.0, please wait
Sending 255 ARP request
* |==================================================>|
100.00 %
Resolving 14 hostnames

* |==================================================>|
100.00 %
Checking for poisoners
MAC of 192.168.4.59 and 192.168.4.235 are identical !
Otra herramienta que detecta cambios en los pares IP/MAC as como ataques tipo
arp-spoofinges:

ACiD (ARP Change intrusion Detection)


C:\scan\ACID>acid
ACiD 0.0.2 (c) 2002 Roberto Larcher
robertolarcher@webteca.port5.com
All rights reserved.
Press CTRL+C to stop.
Initializing default adapter. Please wait
IP: 0.4.168.192 Subnet Mask: 0.255.255.255
Network type: Ethernet
ACiD: bogon 192.168.4.1 00:04:76:97:b3:a9
ACiD: bogon 192.168.5.240 00:06:5b:05:9a:e7
ACiD:
ACiD:
ACiD:
ACiD:
ACiD:
ACiD:
ACiD:
ACiD:
ACiD:

bogon
bogon
bogon
bogon
bogon
bogon
bogon
bogon
bogon

192.168.4.1
192.168.2.3
192.168.4.5
192.168.2.3
192.168.2.3
192.168.4.5
192.168.4.1
192.168.4.5
192.168.4.1

00:04:76:97:b3:a9
00:a0:24:4d:bc:69
00:04:76:9a:66:a6
00:a0:24:4d:bc:69
00:a0:24:4d:bc:69
00:04:76:9a:66:a6
00:04:76:97:b3:a9
00:04:76:9a:66:a6
00:04:76:97:b3:a9

ACiD:
ACiD:
ACiD:
ACiD:
ACiD:
ACiD:
ACiD:

bogon
bogon
bogon
bogon
bogon
bogon
bogon

192.168.5.240 00:06:5b:05:9a:e7
192.168.4.5 00:04:76:9a:66:a6
192.168.4.5 00:04:76:9a:66:a6
192.168.4.5 00:04:76:9a:66:a6
192.168.5.240 00:06:5b:05:9a:e7
192.168.4.5 00:04:76:9a:66:a6
192.168.4.20 00:a0:24:4e:4e:4e

ACiD: bogon 192.168.4.1 00:04:76:97:b3:a9


ACiD:
ACiD:
ACiD:
ACiD:
ACiD:
ACiD:
ACiD:
ACiD:
ACiD:

bogon
bogon
bogon
bogon
bogon
bogon
bogon
bogon
bogon

192.168.5.240 00:06:5b:05:9a:e7
192.168.4.15 00:01:02:e7:57:cf
192.168.4.10 00:a0:24:4e:51:6b
192.168.5.240 00:06:5b:05:9a:e7
192.168.4.1 00:04:76:97:b3:a9
192.168.4.5 00:04:76:9a:66:a6
192.168.4.5 00:04:76:9a:66:a6
192.168.4.1 00:04:76:97:b3:a9
192.168.4.3 00:04:76:f2:c9:5f

ACiD: bogon 192.168.4.3 00:04:76:f2:c9:5f


ACiD: bogon 192.168.4.20 00:a0:24:4e:4e:4e
ACiD: bogon 192.168.5.240 00:06:5b:05:9a:e7
ACiD: bogon 192.168.4.5 00:04:76:9a:66:a6
ACiD: bogon 192.168.4.1 00:04:76:97:b3:a9
ACiD: bogon 192.168.4.20 00:a0:24:4e:4e:4e
ACiD: bogon 192.168.4.15 00:01:02:e7:57:cf
ACiD: bogon 192.168.4.8 00:10:4b:4d:15:bb
Ctrl+C detected
IP MAC table:
192.168.2.3 00:a0:24:4d:bc:69
192.168.4.1 00:04:76:97:b3:a9
192.168.4.10 00:a0:24:4e:51:6b
192.168.4.15 00:01:02:e7:57:cf
192.168.4.20 00:a0:24:4e:4e:4e
192.168.4.3 00:04:76:f2:c9:5f
192.168.4.5 00:04:76:9a:66:a6
192.168.4.8 00:10:4b:4d:15:bb
192.168.5.240 00:06:5b:05:9a:e7
ArpCount table:
192.168.2.3 -3
192.168.4.1 -8
192.168.4.10 1
192.168.4.15 -2
192.168.4.20 3
192.168.4.3 -2

192.168.4.5 -10
192.168.4.8 1
192.168.5.240 -6
En la consola de ACID si existe un error en la paridad IP/MAC nos alertar de esta
manera:
ACiD: bogon 192.168.4.5 00:04:76:f2:c9:5f (00:11:22:33:44:55)
ACiD: ethernet mismatch 192.168.4.5 00:04:76:f2:c9:5f
(00:11:22:33:44:55)
ACiD: bogon 192.168.4.5 00:04:76:f2:c9:5f (00:11:22:33:44:55)
ACiD: ethernet mismatch 192.168.4.5 00:04:76:f2:c9:5f
(00:11:22:33:44:55)
ACiD: bogon 192.168.4.5 00:04:76:f2:c9:5f (00:11:22:33:44:55)
ACiD: ethernet mismatch 192.168.4.5 00:04:76:f2:c9:5f
(00:11:22:33:44:55)
ACiD: bogon 192.168.4.5 00:04:76:f2:c9:5f (00:11:22:33:44:55)
ACiD: ethernet mismatch 192.168.4.5 00:04:76:f2:c9:5f
(00:11:22:33:44:55)
ACiD: bogon 192.168.4.1 00:04:76:97:b3:a9
ACiD: bogon 192.168.4.5 00:04:76:9a:66:a6
Possible spoof 192.168.4.5 00:04:76:9a:66:a6 was at
00:04:76:f2:c9:5f

Usando Wireshark para la deteccin de Arp-Spoofing


Vamos a establecer dos escenarios diferente para ver el comportamiento de
Wireshark en la deteccin del ataque. Los tres escenarios se sitan en un ambiente
de red segmentadamediante switches.
Pero, antes que nada, como podemos, en Wireshark, detectar el arpspoofing ?. Tenemos tres formas:
Wireshark detecta el ataque por arp-spoofing y lanza el
mensaje (duplicate use of 192.168.1.11 detect!)
Puede ser que wireshark no lo detecte, entonces, tras aplicar un filtro arp:
Un determinado host, est anunciando su MAC. Pero ningn otro
host realiza peticin alguna.
Un determinado host si solicita una MAC. Pero se observan dos
respuestas misma IP con MACs diferentes.

Los escenarios de nuestra pequea red de pruebas:


Escenario A.
mquinas victimas: 192.168.1.36 / 192.168.1.11
maquina atacante : 192.168.1.5
maquina deteccin: 192.168.1.5
Escenario B.

mquinas victimas: 192.168.1.36 / 192.168.1.11


maquina atacante : 192.168.1.77

maquina deteccin: 192.168.1.5


Para la pruebas usaremos Ettercap ARP-Poison:

Los pasos seguidos para realizar en nuestra red un Envenenamiento ARP son
los siguientes:
1. Sniff > Unified Sniffing... (seleccionamos interface de red)
2. Hosts > Scan for Hosts

3. Hosts > Hosts List


4. Target 1 (seleccionamos por ejemplo la Puerta de Enlace)
5. Target 2 (seleccionamos la vctima)
6. Mitm > Arp poisoning..
7. Start > Start Sniffing > Sniff remote connections.
8. Al terminar. Mitm > Stop mitm attack(s) y Start > Stop Sniffing
Vamos entonces a ver el comportamiento de Wireshark en cada uno de los caso:
Escenario A:

Obervad como wireshark nos muestra un mensaje: (duplicate use of


192.168.1.11 detect!).
Escenario B:

Esta claro no ?

You might also like