ARP

Embed Size (px)

Citation preview

Introduccin (1) Una computadora conectada a una red Ethernet tiene dos direcciones Direccin de NIC (direccin MAC) Globalmente nica y no modificable que se almacena en la NIC. El header Ethernet contiene la direccin MAC de las mquinas fuente y destino.

Direccin IP Cada computadora en una red debe tener una direccin IP nica. Virtual y asignada por software.2

Introduccin (2)1. Paquetes Ethernet1. 2. 3. 4. Tienen un header Ethernet (delivery) Los paquetes se fraccionan en frames Se envan por el cable hacia un switch (por ej.) El switch decide por cul port debe mandar el frame. Para ello busca la direccin destino del frame en una tabla interna que mapea nmeros de ports y direcciones MAC.3

Introduccin (3) En el momento en que el frame Ethernet es construido a partir de un paquete IP no se tiene idea de la MAC de la mquina destino. La nica informacin disponible es la direccin IP destino. Debe existir una forma para que el protocolo Ethernet obtenga la MAC de la mquina destino dado el IP destino. Aqu es donde el protocolo ARP (Address Resolution Protocol) aparece en escena.

4

Adress Resolution & Reverse Adress Resolution

5

6

7

Encapsulamiento de ARP

8

Funcionamiento del ARP (1)1. Obtener la direccin IP del destino. 2. Crear un mensaje ARP de pedido (request). Insertar la direccin fsica del emisor (sender). Insertar la direccin IP del emisor. Insertar la direccin IP del destino. La direccin fsica del destino se llena con 0.

3. El mensaje se pasa a la capa link donde es encapsulado en un frame. Direccin fuente: direccin fsica del emisor. Direccin destino: direccin broadcast.9

Funcionamiento del ARP (2)4. Cada host o router en la red recibe el frame. Todos los equipos lo pasan al ARP. Todas las mquinas, excepto la destino, descartan el paquete.

5. La mquina destino responde con un mensaje ARP que contiene su direccin fsica. Mensaje unicast.

6. El emisor recibe el mensaje de respuesta y obtiene la direccin fsica de la mquina destino.10

11

12

Proxy ARP

13

14

15

Encapsulamiento RARP

16

Para evitar el envo de un paquete ARP request cada vez que se necesite un host puede mantener una cache con la direccin IP y su correspondiente direccin fsica en su tabla ARP (ARP cache). Cada entrada en la tabla ARP suele ser envejecida para que luego de cierto tiempo de inactividad sea eliminada. Cuando una computadora recibe un ARP reply se actualiza su entrada en la tabla ARP. El protocolo ARP es stateless, por lo tanto la mayora de los sistemas operativos actualizarn su cache si reciben una respuesta (reply), sin importar si enviaron o no un pedido (request).

17

ARP Spoofing Construir respuestas ARP falsas. Una mquina target puede ser convencida de enviar frames a la computadora B, frames que originalmente estaban destinados a A. La computadora A no tendr idea de esta redireccin. Este proceso de actualizar la cache ARP de la mquina target se conoce como ARP poisoning.

18

ARP reply falso IP:10.0.0.2 MAC:cc:cc:cc:cc

ARP reply falso IP:10.0.0.2 MAC:cc:cc:cc:cc

switch

AIP:10.0.0.1 MAC:aa:aa:aa:aa ARP cacheIP 10.0.0.2 MAC bb:bb:bb:bb

BIP:10.0.0.2 MAC:bb:bb:bb:bb

HackerIP:10.0.0.3 MAC:cc:cc:cc:cc

ARP cacheIP 10.0.0.1 MAC aa:aa:aa:aa19

switch

AIP:10.0.0.1 MAC:aa:aa:aa:aa ARP cacheIP 10.0.0.2 MAC cc:cc:cc:cc

BIP:10.0.0.2 MAC:bb:bb:bb:bb

HackerIP:10.0.0.3 MAC:cc:cc:cc:cc

ARP cacheIP 10.0.0.1 MAC aa:aa:aa:aa

La cache de A fue envenenada.

20

ARP Spoofing Desde ahora todos los paquetes que A pretende enviar a B van a la mquina del hacker. La entrada en la cache tiende a expirar por lo tanto deber enviar nuevamente el ARP reply. Qu tan seguido? Depende del sistema particular. Generalmente cada 40 segundos es suficiente.

Adicionalmente el hacker querr que su driver Ethernet no hable demasiado: Por ejemplo puede efectuar un ifconfig -arp21

Complicacin (1) Algunos sistemas pueden tratar de actualizar su cache enviando un pedido ARP (unicast). Como cuando mi mujer me llama slo para saber si estoy aqu.

Un pedido de este tipo puede estropear las cosas porque puede cambiar la entrada ARP de la vctima eliminando la entrada que el hacker falsific. Una computadora tambin puede guardar en su cache la direccin MAC que apareci en el pedido ARP.22

Complicacin (2) Ms vale prevenir que curar Se logra alimentando el sistema mujer con respuestas y de esta forma nunca necesitar preguntar. Un paquete (real) desde B hacia A ser enviado por la mquina de hacker. Qu tan seguido? Una vez ms: 40 segundos es suficiente.

23

Ataque Man-in-the-Middle (1) Man-in-the Un hacker inserta su computadora en el camino (comunicaciones) entre dos mquinas target. El hacker har el forward de los frames entre estas dos computadoras y as las comunicaciones no se interrumpirn. Por ejemplo Hunt, Ettercap, etc. Se consiguen facilmente en la web.24

Ataque Man-in-the-Middle (2) Man-in-the El ataque se efecta de la siguiente forma: 1. 2. 3. Sea X la mquina del hacker. Sean T1 y T2 las mquinas target. X envenena las caches ARP de T1 y de T2. T1 asocia el IP de T2 con la MAC de X. T2 asocia el IP de T1 con la MAC de X. Todo el trfico entre T1 y T2 pasa primero por X.25

ARP reply falso IP:10.0.0.2 MAC:cc:cc:cc:cc

ARP reply falso IP:10.0.0.2 MAC:cc:cc:cc:cc

switch

T1IP:10.0.0.1 MAC:aa:aa:aa:aa ARP cacheIP 10.0.0.2 MAC bb:bb:bb:bb

T2IP:10.0.0.2 MAC:bb:bb:bb:bb

HackerIP:10.0.0.3 MAC:cc:cc:cc:cc

ARP cacheIP 10.0.0.1 MAC aa:aa:aa:aa26

switch

T1IP:10.0.0.1 MAC:aa:aa:aa:aa ARP cacheIP 10.0.0.2 MAC cc:cc:cc:cc

T2IP:10.0.0.2 MAC:bb:bb:bb:bb

HackerIP:10.0.0.3 MAC:cc:cc:cc:cc

ARP cacheIP 10.0.0.1 MAC aa:aa:aa:aa

La cache de T1 fue envenenada.27

ARP replies falsas IP:10.0.0.1 MAC:cc:cc:cc:cc

switch

T1IP:10.0.0.1 MAC:aa:aa:aa:aa ARP cacheIP 10.0.0.2 MAC cc:cc:cc:cc

T2IP:10.0.0.2 MAC:bb:bb:bb:bb

HackerIP:10.0.0.3 MAC:cc:cc:cc:cc

ARP cacheIP 10.0.0.1 MAC aa:aa:aa:aa28

switch

T1IP:10.0.0.1 MAC:aa:aa:aa:aa ARP cacheIP 10.0.0.2 MAC cc:cc:cc:cc

T2IP:10.0.0.2 MAC:bb:bb:bb:bb

HackerIP:10.0.0.3 MAC:cc:cc:cc:cc

ARP cacheIP 10.0.0.1 MAC cc:cc:cc:cc

La cache de T2 fue envenenada.29

Mensaje que debera haber ido a T2

switchEl Hacker har el fw del mensaje

T1IP:10.0.0.1 MAC:aa:aa:aa:aa ARP cacheIP 10.0.0.2 MAC cc:cc:cc:cc

T2IP:10.0.0.2 MAC:bb:bb:bb:bb

HackerIP:10.0.0.3 MAC:cc:cc:cc:cc

ARP cacheIP 10.0.0.1 MAC cc:cc:cc:cc30

El hacker har el fw del mensaje

switchMensaje que debera ir a T1

T1IP:10.0.0.1 MAC:aa:aa:aa:aa ARP cacheIP 10.0.0.2 MAC cc:cc:cc:cc

T2IP:10.0.0.2 MAC:bb:bb:bb:bb

HackerIP:10.0.0.3 MAC:cc:cc:cc:cc

ARP cacheIP 10.0.0.1 MAC cc:cc:cc:cc31

Tipos posibles de Ataque (1) Sniffing Al utilizar ARP spoofing todo el trfico puede dirigirse hacia el hacker. Ahora es posible hacer sniffing en una red switcheada.

DoS (Denial of Service) Actualizar una cache ARP con MACs no existentes puede provocar que se descarten frames. Estas MACs inexistentes pueden envierse a todos los clientes en la red con el objetivo de causar un DoS.32

Tipos posibles de Ataque (2) Esto tambin puede llevar a un ataque post-MiM: las computadoras target seguirn enviando frames a la MAC del atacante an despues de haber sido removidas del camino de comunicacin. El hacker debe restaurar las entradas ARP para lograr un ataque MiM limpio.

Hijacking Utilizando el ataque MiM todo el trfico de una conexin TCP pasar primero por el hacker. Comparado con los exploits TCP ahora es mucho ms sencillo hacer el hijack (apropiacin) de una sesin TCP.33

Tipos posibles de Ataque (3) Broadcasting Se pueden mandar frames por broadcast (a toda la red) simplemente seteando la direccin destino a FF:FF:FF:FF:FF:FF (broadcast MAC). Si se inunda la red con respuestas ARP falsificadas capaces de setear la MAC del gateway a la direccin de broadcast, toda la informacin que debera enviarse a redes externas es ahora enviada por broadcast a la red local, habilitando el sniffing. Si un hacker escucha los pedidos ARP y genera respuestas con la direccin broadcast se enviarn grandes volmenes de informacin a las redes.34

Tipos posibles de Ataque (4) Cloning Supuestamente una direccin MAC es nica. Es posible cambiar la MAC de una placa de red (quemada en su ROM) En algunos sistemas operativos es posible cambiar (a nivel del S.O.) la MAC. ifconfig

Un atacante puede causar un DoS en una mquina target, luego asignarse a s mismo el IP y la MAC de la mquina target y as recibir todos los frames destinados hacia la mquina que acaba de reemplazar.35

Defensas contra el ARP Spoofing (1) No hay defensa universal. Utilizar entradas ARP estticas No pueden actualizarse. Las respuestas ARP son ignoradas. La tabla ARP necesita una entrada esttica por cada mquina presente en la red. Gran overhead Para diseminar estas tablas. Mantener las tablas actualizadas.36

Defensas contra el ARP Spoofing (2) Windows todava acepta respuestas ARP falsificadas y es capaz de actualizar una entrada esttica con la MAC falsa.

Port Security Tambin conocido como port binding o MAC Binding. Es una caracterstica presente en los switches de alta calidad. Previene cambios en las tablas MAC de un switch. A menos que un administrador lo haga manualmente.

No aplicable ni a redes grandes ni a redes que utilizan DHCP.37

Defensas contra el ARP Spoofing (3) Arpwatch Programa UNIX gratis que escucha respuestas ARP en una red. Construye una tabla donde se asocian IPs y MACs y se almacena en un archivo. Cuando cambia un par MAC/IP (flip-flop) enva un e-mail al administrador. En redes donde se producen frecuentes flipflops, por ejemplo si est habilitado el servicio de DHCP, es difcil detectar flip-flops provocados por atacantes.

38

Defensas contra el ARP Spoofing (4) RARP (Reverse ARP) Se pide un IP a partir de una MAC conocida. Detecta el problema de MAC cloning. Se detecta el cloning cuando se reciben mltiples respuestas para un nico RARP.

39

Notas (1) Diferentes S.Os. pueden comportarse distinto Solaris acepta actualizaciones ARP solamente despus de un perodo de timeout. Para envenenar la cache de una mquina Solaris un atacante tendra que lograr un DoS sobre la segunda mquina target. Este DoS puede detectarse empleando algunas herramientas.40

Notas (2) ARP gratuito El IP fuente y destino en el pedido ARP es el mismo. En forma de broadcast. Algunas implementaciones lo reconocen como un caso especial, donde un sistema enva informacin actualizada acerca de l mismo a todo el mundo. Un solo paquete puede estropear toda la red.41