clase 18 prof. javier echaiz d.c.i.c. – u.n.s. ...ldm/mypage/data/ss/apuntes/2017-modulo21.pdf ·...
TRANSCRIPT
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
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
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.