clase 18 prof. javier echaiz d.c.i.c. – u.n.s. ...ldm/mypage/data/ss/apuntes/2017-modulo21.pdf ·...

43
Clase 18 Prof. Javier Echaiz D.C.I.C. – U.N.S. http://cs.uns.edu.ar/~jechaiz [email protected] JAVIER ECHAIZ

Upload: lekhanh

Post on 20-Sep-2018

215 views

Category:

Documents


1 download

TRANSCRIPT

Clase 18

Prof. Javier EchaizD.C.I.C. – U.N.S.

http://cs.uns.edu.ar/[email protected]

JAVIERECHAIZ

Seguridad en Sistemas: ARP SpoofingSeguridad en Sistemas: ARP SpoofingJAVIERECHAIZ

2

Introducción (1)• Una computadora conectada a una red

Ethernet tiene dos direcciones– Dirección de NIC (dirección MAC)

• Globalmente única y no modificable que sealmacena en la NIC.

• El header Ethernet contiene la dirección MAC de lasmáquinas fuente y destino.

– Dirección IP• Cada computadora en una red debe tener una

dirección IP única.• Virtual y asignada por software.

Seguridad en Sistemas: ARP SpoofingSeguridad en Sistemas: ARP SpoofingJAVIERECHAIZ

3

Introducción (2)

1. Paquetes Ethernet1. Tienen un header Ethernet (delivery)2. Los paquetes se fraccionan en frames3. Se envían por el cable hacia un switch (por ej.)4. El switch decide por cuál port debe mandar el

frame. Para ello busca la dirección destino delframe en una tabla interna que mapea númerosde ports y direcciones MAC.

Seguridad en Sistemas: ARP SpoofingSeguridad en Sistemas: ARP SpoofingJAVIERECHAIZ

4

Introducción (3)• En el momento en que el frame Ethernet es

construido a partir de un paquete IP no setiene idea de la MAC de la máquina destino.

• La única información disponible es ladirección IP destino.

• Debe existir una forma para que elprotocolo Ethernet obtenga la MAC de lamáquina destino dado el IP destino.

• Aquí es donde el protocolo ARP (AddressResolution Protocol) aparece en escena.

Seguridad en Sistemas: ARP SpoofingSeguridad en Sistemas: ARP SpoofingJAVIERECHAIZ

5

Adress Resolution & Reverse Adress Resolution

Seguridad en Sistemas: ARP SpoofingSeguridad en Sistemas: ARP SpoofingJAVIERECHAIZ

6

Seguridad en Sistemas: ARP SpoofingSeguridad en Sistemas: ARP SpoofingJAVIERECHAIZ

7

Seguridad en Sistemas: ARP SpoofingSeguridad en Sistemas: ARP SpoofingJAVIERECHAIZ

8

Encapsulamiento de ARP

Seguridad en Sistemas: ARP SpoofingSeguridad en Sistemas: ARP SpoofingJAVIERECHAIZ

9

Funcionamiento del ARP (1)1. Obtener la dirección IP del destino.2. Crear un mensaje ARP de pedido (request).

– Insertar la dirección física del emisor (sender).– Insertar la dirección IP del emisor.– Insertar la dirección IP del destino.– La dirección física del destino se llena con 0.

3. El mensaje se pasa a la capa link donde esencapsulado en un frame.– Dirección fuente: dirección física del emisor.– Dirección destino: dirección broadcast.

Seguridad en Sistemas: ARP SpoofingSeguridad en Sistemas: ARP SpoofingJAVIERECHAIZ

10

Funcionamiento del ARP (2)

4. Cada host o router en la red recibe el frame.– Todos los equipos lo pasan al ARP.– Todas las máquinas, excepto la destino, descartan

el paquete.

5. La máquina destino responde con un mensajeARP que contiene su dirección física.– Mensaje unicast.

6. El emisor recibe el mensaje de respuesta yobtiene la dirección física de la máquinadestino.

Seguridad en Sistemas: ARP SpoofingSeguridad en Sistemas: ARP SpoofingJAVIERECHAIZ

11

Seguridad en Sistemas: ARP SpoofingSeguridad en Sistemas: ARP SpoofingJAVIERECHAIZ

12

Seguridad en Sistemas: ARP SpoofingSeguridad en Sistemas: ARP SpoofingJAVIERECHAIZ

13

Proxy ARP

Seguridad en Sistemas: ARP SpoofingSeguridad en Sistemas: ARP SpoofingJAVIERECHAIZ

14

Seguridad en Sistemas: ARP SpoofingSeguridad en Sistemas: ARP SpoofingJAVIERECHAIZ

15

Seguridad en Sistemas: ARP SpoofingSeguridad en Sistemas: ARP SpoofingJAVIERECHAIZ

16

Encapsulamiento RARP

Seguridad en Sistemas: ARP SpoofingSeguridad en Sistemas: ARP SpoofingJAVIERECHAIZ

17

– Para evitar el envío de un paquete ARP requestcada vez que se necesite un host puede manteneruna cache con la dirección IP y sucorrespondiente dirección física en su tablaARP (ARP cache).

– Cada entrada en la tabla ARP suele ser“envejecida” para que luego de cierto tiempo deinactividad sea eliminada.

– Cuando una computadora recibe un ARP replyse actualiza su entrada en la tabla ARP.

– El protocolo ARP es stateless, por lo tanto lamayoría de los sistemas operativos actualizaránsu cache si reciben una respuesta (reply), sinimportar si enviaron o no un pedido (request).

Seguridad en Sistemas: ARP SpoofingSeguridad en Sistemas: ARP SpoofingJAVIERECHAIZ

18

ARP Spoofing

• Construir respuestas ARP falsas.• Una máquina target puede ser “convencida”

de enviar frames a la computadora B, framesque originalmente estaban destinados a A.

• La computadora A no tendrá idea de estaredirección.

• Este proceso de actualizar la cache ARP de lamáquina target se conoce como

“ARP poisoning”.

Seguridad en Sistemas: ARP SpoofingSeguridad en Sistemas: ARP SpoofingJAVIERECHAIZ

19

AIP:10.0.0.1

MAC:aa:aa:aa:aa

BIP:10.0.0.2

MAC:bb:bb:bb:bb

HackerIP:10.0.0.3

MAC:cc:cc:cc:cc

switch

IP MAC

10.0.0.2 bb:bb:bb:bb

ARP cache

IP MAC

10.0.0.1 aa:aa:aa:aa

ARP cache

ARP reply falsoIP:10.0.0.2

MAC:cc:cc:cc:cc

ARP reply falsoIP:10.0.0.2

MAC:cc:cc:cc:cc

Seguridad en Sistemas: ARP SpoofingSeguridad en Sistemas: ARP SpoofingJAVIERECHAIZ

20

AIP:10.0.0.1

MAC:aa:aa:aa:aa

BIP:10.0.0.2

MAC:bb:bb:bb:bb

HackerIP:10.0.0.3

MAC:cc:cc:cc:cc

switch

IP MAC

10.0.0.2 cc:cc:cc:cc

ARP cache

IP MAC

10.0.0.1 aa:aa:aa:aa

ARP cache

La cache de A fue “envenenada”.

Seguridad en Sistemas: ARP SpoofingSeguridad en Sistemas: ARP SpoofingJAVIERECHAIZ

21

ARP Spoofing• Desde ahora todos los paquetes que A pretende

enviar a B van a la máquina 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 driverEthernet no “hable” demasiado:– Por ejemplo puede efectuar un ifconfig -arp

Seguridad en Sistemas: ARP SpoofingSeguridad en Sistemas: ARP SpoofingJAVIERECHAIZ

22

• Complicación (1)– Algunos sistemas pueden tratar de actualizar su

cache enviando un pedido ARP (unicast).• Como cuando mi mujer me llama sólo para saber si

estoy aquí.– Un pedido de este tipo puede estropear las

cosas porque puede cambiar la entrada ARP dela víctima eliminando la entrada que el hackerfalsificó.

• Una computadora también puede guardar en sucache la dirección MAC que apareció en el pedidoARP.

Seguridad en Sistemas: ARP SpoofingSeguridad en Sistemas: ARP SpoofingJAVIERECHAIZ

23

– Complicación (2)– Más vale prevenir que curar

• Se logra alimentando el sistema “mujer” conrespuestas y de esta forma nunca necesitarápreguntar.

• Un paquete (real) desde B hacia A será enviado por lamáquina de hacker.

• ¿Qué tan seguido?– Una vez más: 40 segundos es suficiente.

Seguridad en Sistemas: ARP SpoofingSeguridad en Sistemas: ARP SpoofingJAVIERECHAIZ

24

Ataque Man-in-the-Middle (1)

• Un hacker inserta su computadora en elcamino (comunicaciones) entre dosmáquinas target.

• El hacker hará el forward de los framesentre estas dos computadoras y así lascomunicaciones no se interrumpirán.

• Por ejemplo Hunt, Ettercap, etc.– Se consiguen facilmente en la web.

Seguridad en Sistemas: ARP SpoofingSeguridad en Sistemas: ARP SpoofingJAVIERECHAIZ

25

Ataque Man-in-the-Middle (2)

• El ataque se efectúa de la siguiente forma:– Sea X la máquina del hacker.– Sean T1 y T2 las máquinas target.– X envenena las caches ARP de T1 y de T2.1. T1 asocia el IP de T2 con la MAC de X.2. T2 asocia el IP de T1 con la MAC de X.3. Todo el tráfico entre T1 y T2 pasa primero

por X.

Seguridad en Sistemas: ARP SpoofingSeguridad en Sistemas: ARP SpoofingJAVIERECHAIZ

26

T1IP:10.0.0.1

MAC:aa:aa:aa:aa

T2IP:10.0.0.2

MAC:bb:bb:bb:bb

HackerIP:10.0.0.3

MAC:cc:cc:cc:cc

switch

IP MAC

10.0.0.2 bb:bb:bb:bb

ARP cache

IP MAC

10.0.0.1 aa:aa:aa:aa

ARP cache

ARP reply falsoIP:10.0.0.2

MAC:cc:cc:cc:cc

ARP reply falsoIP:10.0.0.2

MAC:cc:cc:cc:cc

Seguridad en Sistemas: ARP SpoofingSeguridad en Sistemas: ARP SpoofingJAVIERECHAIZ

27

T1IP:10.0.0.1

MAC:aa:aa:aa:aa

T2IP:10.0.0.2

MAC:bb:bb:bb:bb

HackerIP:10.0.0.3

MAC:cc:cc:cc:cc

switch

IP MAC

10.0.0.2 cc:cc:cc:cc

ARP cache

IP MAC

10.0.0.1 aa:aa:aa:aa

ARP cache

La cache de T1 fue envenenada.

Seguridad en Sistemas: ARP SpoofingSeguridad en Sistemas: ARP SpoofingJAVIERECHAIZ

28

T1IP:10.0.0.1

MAC:aa:aa:aa:aa

T2IP:10.0.0.2

MAC:bb:bb:bb:bb

HackerIP:10.0.0.3

MAC:cc:cc:cc:cc

switch

IP MAC

10.0.0.2 cc:cc:cc:cc

ARP cache

IP MAC

10.0.0.1 aa:aa:aa:aa

ARP cache

ARP replies falsasIP:10.0.0.1

MAC:cc:cc:cc:cc

Seguridad en Sistemas: ARP SpoofingSeguridad en Sistemas: ARP SpoofingJAVIERECHAIZ

29

T1IP:10.0.0.1

MAC:aa:aa:aa:aa

T2IP:10.0.0.2

MAC:bb:bb:bb:bb

HackerIP:10.0.0.3

MAC:cc:cc:cc:cc

switch

IP MAC

10.0.0.2 cc:cc:cc:cc

ARP cache

IP MAC

10.0.0.1 cc:cc:cc:cc

ARP cache

La cache de T2 fue envenenada.

Seguridad en Sistemas: ARP SpoofingSeguridad en Sistemas: ARP SpoofingJAVIERECHAIZ

30

T1IP:10.0.0.1

MAC:aa:aa:aa:aa

T2IP:10.0.0.2

MAC:bb:bb:bb:bb

HackerIP:10.0.0.3

MAC:cc:cc:cc:cc

switch

ARP cache ARP cache

Mensaje que debería haber ido a T2

El Hackerhará el fw delmensaje

IP MAC

10.0.0.2 cc:cc:cc:cc

IP MAC

10.0.0.1 cc:cc:cc:cc

Seguridad en Sistemas: ARP SpoofingSeguridad en Sistemas: ARP SpoofingJAVIERECHAIZ

31

T1IP:10.0.0.1

MAC:aa:aa:aa:aa

T2IP:10.0.0.2

MAC:bb:bb:bb:bb

HackerIP:10.0.0.3

MAC:cc:cc:cc:cc

switch

ARP cache ARP cache

El hacker hará el fw del mensaje

Mensaje quedebería ir aT1

IP MAC

10.0.0.2 cc:cc:cc:cc

IP MAC

10.0.0.1 cc:cc:cc:cc

Seguridad en Sistemas: ARP SpoofingSeguridad en Sistemas: ARP SpoofingJAVIERECHAIZ

32

Tipos de Ataque Posibles (1)– Sniffing

• Al utilizar ARP spoofing todo el tráfico puededirigirse hacia el hacker.

• Ahora es posible hacer sniffing en una redswitcheada.

– 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 unDoS.

Seguridad en Sistemas: ARP SpoofingSeguridad en Sistemas: ARP SpoofingJAVIERECHAIZ

33

Tipos de Ataque Posibles (2)• Esto también puede llevar a un ataque post-MiM: las

computadoras target seguirán enviando frames a laMAC del atacante aún despues de haber sidoremovidas del camino de comunicación.

• El hacker debe restaurar las entradas ARP paralograr un ataque MiM “limpio”.

– Hijacking• Utilizando el ataque MiM todo el tráfico de una

conexión TCP pasará primero por el hacker.• Comparado con los exploits TCP ahora es mucho

más sencillo hacer el hijack (apropiación) de unasesión TCP.

Seguridad en Sistemas: ARP SpoofingSeguridad en Sistemas: ARP SpoofingJAVIERECHAIZ

34

Tipos de Ataque Posibles (3)– Broadcasting

• Se pueden mandar frames por broadcast (a toda lared) simplemente seteando la dirección destino aFF:FF:FF:FF:FF:FF (broadcast MAC).

• Si se inunda la red con respuestas ARP falsificadascapaces de setear la MAC del gateway a la direcciónde broadcast, toda la información que deberíaenviarse a redes externas es ahora enviada porbroadcast a la red local, habilitando el sniffing.

• Si un hacker escucha los pedidos ARP y generarespuestas con la dirección broadcast se enviarángrandes volúmenes de información a las redes.

Seguridad en Sistemas: ARP SpoofingSeguridad en Sistemas: ARP SpoofingJAVIERECHAIZ

35

Tipos de Ataque Posibles (4)– Cloning

• Supuestamente una dirección 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 máquinatarget, luego asignarse a sí mismo el IP y la MAC dela máquina target y así recibir todos los framesdestinados hacia la máquina que acaba de“reemplazar”.

Seguridad en Sistemas: ARP SpoofingSeguridad en Sistemas: ARP SpoofingJAVIERECHAIZ

36

Defensas contra el ARP Spoofing (1)

• No hay defensa universal.• Utilizar entradas ARP estáticas

– No pueden actualizarse.– Las respuestas ARP son ignoradas.– La tabla ARP necesita una entrada estática por

cada máquina presente en la red.– Gran overhead

• Para diseminar estas tablas.• Mantener las tablas actualizadas.

Seguridad en Sistemas: ARP SpoofingSeguridad en Sistemas: ARP SpoofingJAVIERECHAIZ

37

Defensas contra el ARP Spoofing (2)– Windows todavía acepta respuestas ARP falsificadas

y es capaz de actualizar una entrada estática con laMAC falsa.

• Port Security– También conocido como port binding o MAC

Binding.– Es una característica 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.

Seguridad en Sistemas: ARP SpoofingSeguridad en Sistemas: ARP SpoofingJAVIERECHAIZ

38

Defensas contra el ARP Spoofing (3)• Arpwatch

– Programa UNIX gratis que “escucha”respuestas ARP en una red.

– Construye una tabla donde se asocian IPs yMACs y se almacena en un archivo.

– Cuando cambia un par MAC/IP (flip-flop)envía un e-mail al administrador.

– En redes donde se producen frecuentes flip-flops, por ejemplo si está habilitado el serviciode DHCP, es difícil detectar flip-flopsprovocados por atacantes.

Seguridad en Sistemas: ARP SpoofingSeguridad en Sistemas: ARP SpoofingJAVIERECHAIZ

39

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

múltiples respuestas para un único RARP.

Seguridad en Sistemas: ARP SpoofingSeguridad en Sistemas: ARP SpoofingJAVIERECHAIZ

40

Notas (1)

• Diferentes S.Os. pueden comportarse distinto– Solaris acepta actualizaciones ARP solamente

después de un período de timeout.– Para “envenenar” la cache de una máquina Solaris

un atacante tendría que lograr un DoS sobre lasegunda máquina target.

– Este DoS puede detectarse empleando algunasherramientas.

Seguridad en Sistemas: ARP SpoofingSeguridad en Sistemas: ARP SpoofingJAVIERECHAIZ

41

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 envíainformación actualizada acerca de él mismo atodo el mundo.

– Un solo paquete puede estropear toda la red.

Seguridad en Sistemas: ARP SpoofingSeguridad en Sistemas: ARP SpoofingJAVIERECHAIZ

42

IP Spoofing? Resumen

• Explota “relaciones de confianza” a nivelIP.– El atacante envía mensajes empleando un IP

“confiable” para el destinatario. Antes hay quehacer “desaparecer” a la máquina confiable… yutilizar servicios que utilizan autenticaciónbasada en Ips.

– Man in the middle, etc.

ICMPRedirect

JAVIERECHAIZ

ComingNext!