Seguridad en Sistemas: Spoofing - Redirect
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 se
almacena en la NIC.
• El header Ethernet contiene la dirección MAC de las
máquinas fuente y destino.
– Dirección IP
• Cada computadora en una red debe tener una
dirección IP única.
• Virtual y asignada por software.
2
Seguridad en Sistemas: Spoofing - Redirect
Introducción (2)
1. Paquetes Ethernet
1.
2.
3.
4.
Tienen un header Ethernet (delivery)
Los paquetes se fraccionan en frames
Se envían por el cable hacia un switch (por ej.)
El switch decide por cuál port debe mandar el
frame. Para ello busca la dirección destino del
frame en una tabla interna que mapea números
de ports y direcciones MAC.
3
Seguridad en Sistemas: Spoofing - Redirect
Introducción (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 máquina destino.
• La única información disponible es la
dirección IP destino.
• Debe existir una forma para que el
protocolo Ethernet obtenga la MAC de la
máquina destino dado el IP destino.
• Aquí es donde el protocolo ARP (Address
Resolution Protocol) aparece en escena.
4
Seguridad en Sistemas: Spoofing - Redirect
Adress Resolution & Reverse Adress Resolution
5
Seguridad en Sistemas: Spoofing - Redirect
6
Seguridad en Sistemas: Spoofing - Redirect
7
Seguridad en Sistemas: Spoofing - Redirect
Encapsulamiento de ARP
8
Seguridad en Sistemas: Spoofing - Redirect
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 es
encapsulado en un frame.
–
–
Dirección fuente: dirección física del emisor.
Dirección destino: dirección broadcast.
9
Seguridad en Sistemas: Spoofing - Redirect
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 mensaje
ARP que contiene su dirección física.
–
Mensaje unicast.
6. El emisor recibe el mensaje de respuesta y
obtiene la dirección física de la máquina
destino.
10
Seguridad en Sistemas: Spoofing - Redirect
11
Seguridad en Sistemas: Spoofing - Redirect
12
Seguridad en Sistemas: Spoofing - Redirect
Proxy ARP
13
Seguridad en Sistemas: Spoofing - Redirect
14
Seguridad en Sistemas: Spoofing - Redirect
15
Seguridad en Sistemas: Spoofing - Redirect
Encapsulamiento RARP
16
Seguridad en Sistemas: Spoofing - Redirect
– Para evitar el envío de un paquete ARP request
cada vez que se necesite un host puede mantener
una cache con la dirección IP y su
correspondiente dirección física 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
mayoría de los sistemas operativos actualizarán
su cache si reciben una respuesta (reply), sin
importar si enviaron o no un pedido (request).
17
Seguridad en Sistemas: Spoofing - Redirect
ARP Spoofing
• Construir respuestas ARP falsas.
• Una máquina 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
redirección.
• Este proceso de actualizar la cache ARP de la
máquina target se conoce como
“ARP poisoning”.
18
Seguridad en Sistemas: Spoofing - Redirect
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
A
B
Hacker
IP:10.0.0.1
MAC:aa:aa:aa:aa
IP:10.0.0.2
MAC:bb:bb:bb:bb
IP:10.0.0.3
MAC:cc:cc:cc:cc
ARP cache
ARP cache
IP
MAC
IP
MAC
10.0.0.2
bb:bb:bb:bb
10.0.0.1
aa:aa:aa:aa
19
Seguridad en Sistemas: Spoofing - Redirect
switch
A
B
Hacker
IP:10.0.0.1
MAC:aa:aa:aa:aa
IP:10.0.0.2
MAC:bb:bb:bb:bb
IP:10.0.0.3
MAC:cc:cc:cc:cc
ARP cache
ARP cache
IP
MAC
IP
MAC
10.0.0.2
cc:cc:cc:cc
10.0.0.1
aa:aa:aa:aa
La cache de A fue “envenenada”.
20
Seguridad en Sistemas: Spoofing - Redirect
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 driver
Ethernet no “hable” demasiado:
– Por ejemplo puede efectuar un ifconfig -arp
21
Seguridad en Sistemas: Spoofing - Redirect
• 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 de
la víctima eliminando la entrada que el hacker
falsificó.
• Una computadora también puede guardar en su
cache la dirección MAC que apareció en el pedido
ARP.
22
Seguridad en Sistemas: Spoofing - Redirect
– Complicación (2)
– Más 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
máquina de hacker.
• ¿Qué tan seguido?
– Una vez más: 40 segundos es suficiente.
23
Seguridad en Sistemas: Spoofing - Redirect
Ataque Man-in-the-Middle (1)
• Un hacker inserta su computadora en el
camino (comunicaciones) entre dos
máquinas target.
• El hacker hará el forward de los frames
entre estas dos computadoras y así las
comunicaciones no se interrumpirán.
• Por ejemplo Hunt, Ettercap, etc.
– Se consiguen facilmente en la web.
24
Seguridad en Sistemas: Spoofing - Redirect
Ataque Man-in-the-Middle (2)
•
El ataque se efectúa de la siguiente forma:
–
–
–
1.
2.
3.
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.
T1 asocia el IP de T2 con la MAC de X.
T2 asocia el IP de T1 con la MAC de X.
Todo el tráfico entre T1 y T2 pasa primero
por X.
25
Seguridad en Sistemas: Spoofing - Redirect
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
T1
T2
Hacker
IP:10.0.0.1
MAC:aa:aa:aa:aa
IP:10.0.0.2
MAC:bb:bb:bb:bb
IP:10.0.0.3
MAC:cc:cc:cc:cc
ARP cache
ARP cache
IP
MAC
IP
MAC
10.0.0.2
bb:bb:bb:bb
10.0.0.1
aa:aa:aa:aa
26
Seguridad en Sistemas: Spoofing - Redirect
switch
T1
T2
Hacker
IP:10.0.0.1
MAC:aa:aa:aa:aa
IP:10.0.0.2
MAC:bb:bb:bb:bb
IP:10.0.0.3
MAC:cc:cc:cc:cc
ARP cache
ARP cache
IP
MAC
IP
MAC
10.0.0.2
cc:cc:cc:cc
10.0.0.1
aa:aa:aa:aa
La cache de T1 fue envenenada.
27
Seguridad en Sistemas: Spoofing - Redirect
ARP replies falsas
IP:10.0.0.1
MAC:cc:cc:cc:cc
switch
T1
T2
Hacker
IP:10.0.0.1
MAC:aa:aa:aa:aa
IP:10.0.0.2
MAC:bb:bb:bb:bb
IP:10.0.0.3
MAC:cc:cc:cc:cc
ARP cache
ARP cache
IP
MAC
IP
MAC
10.0.0.2
cc:cc:cc:cc
10.0.0.1
aa:aa:aa:aa
28
Seguridad en Sistemas: Spoofing - Redirect
switch
T1
T2
Hacker
IP:10.0.0.1
MAC:aa:aa:aa:aa
IP:10.0.0.2
MAC:bb:bb:bb:bb
IP:10.0.0.3
MAC:cc:cc:cc:cc
ARP cache
ARP cache
IP
MAC
IP
MAC
10.0.0.2
cc:cc:cc:cc
10.0.0.1
cc:cc:cc:cc
La cache de T2 fue envenenada.
29
Seguridad en Sistemas: Spoofing - Redirect
Mensaje que debería haber ido a T2
switch
El Hacker
hará el fw del
mensaje
T1
T2
Hacker
IP:10.0.0.1
MAC:aa:aa:aa:aa
IP:10.0.0.2
MAC:bb:bb:bb:bb
IP:10.0.0.3
MAC:cc:cc:cc:cc
ARP cache
ARP cache
IP
MAC
IP
MAC
10.0.0.2
cc:cc:cc:cc
10.0.0.1
cc:cc:cc:cc
30
Seguridad en Sistemas: Spoofing - Redirect
El hacker hará el fw del mensaje
switch
Mensaje que
debería ir a
T1
T1
T2
Hacker
IP:10.0.0.1
MAC:aa:aa:aa:aa
IP:10.0.0.2
MAC:bb:bb:bb:bb
IP:10.0.0.3
MAC:cc:cc:cc:cc
ARP cache
ARP cache
IP
MAC
IP
MAC
10.0.0.2
cc:cc:cc:cc
10.0.0.1
cc:cc:cc:cc
31
Seguridad en Sistemas: Spoofing - Redirect
Tipos posibles de Ataque (1)
– Sniffing
• Al utilizar ARP spoofing todo el tráfico 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
Seguridad en Sistemas: Spoofing - Redirect
Tipos posibles de Ataque (2)
• Esto también puede llevar a un ataque post-MiM: las
computadoras target seguirán enviando frames a la
MAC del atacante aún despues de haber sido
removidas del camino de comunicación.
• El hacker debe restaurar las entradas ARP para
lograr 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 una
sesión TCP.
33
Seguridad en Sistemas: Spoofing - Redirect
Tipos posibles de Ataque (3)
– Broadcasting
• Se pueden mandar frames por broadcast (a toda la
red) simplemente seteando la dirección 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 dirección
de broadcast, toda la información que debería
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 dirección broadcast se enviarán
grandes volúmenes de información a las redes.
34
Seguridad en Sistemas: Spoofing - Redirect
Tipos posibles de Ataque (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áquina
target, luego asignarse a sí mismo el IP y la MAC de
la máquina target y así recibir todos los frames
destinados hacia la máquina que acaba de
“reemplazar”.
35
Seguridad en Sistemas: Spoofing - Redirect
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.
36
Seguridad en Sistemas: Spoofing - Redirect
Defensas contra el ARP Spoofing (2)
– Windows todavía acepta respuestas ARP falsificadas
y es capaz de actualizar una entrada estática con la
MAC 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.
37
Seguridad en Sistemas: Spoofing - Redirect
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)
envía un e-mail al administrador.
– En redes donde se producen frecuentes flipflops, por ejemplo si está habilitado el servicio
de DHCP, es difícil detectar flip-flops
provocados por atacantes.
38
Seguridad en Sistemas: Spoofing - Redirect
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.
39
Seguridad en Sistemas: Spoofing - Redirect
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 la
segunda máquina target.
– Este DoS puede detectarse empleando algunas
herramientas.
40
Seguridad en Sistemas: Spoofing - Redirect
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ía
información actualizada acerca de él mismo a
todo el mundo.
– Un solo paquete puede estropear toda la red.
41
Seguridad en Sistemas: Spoofing - Redirect
Introducción
• El mensaje ICMP route redirect es generalmente enviado por el default router al
sistema para indicar que existe una ruta más
corta para un destino particular.
• Un hacker puede falsificar un mensaje
ICMP redirect para lograr un efecto similar
al provocado por el problema de ARP cache
poisoning.
43
Seguridad en Sistemas: Spoofing - Redirect
Internet Control Message Protocol
(ICMP)
• El ICMP fue diseñado para hacer frente a las
deficiencias del protocolo IP
– el protocolo IP no tiene mecanismos de reporte
y corrección de errores.
• Por ejemplo descartar un datagrama debido a que no
se encuentra el router o el campo time-to-live tiene
un valor 0.
– Al protocolo IP también le falta un mecanismo
de manejo de queries.
• Por ejemplo se necesita información de otro host o
de un router.
44
Seguridad en Sistemas: Spoofing - Redirect
Posición del ICMP en capa Network
45
Seguridad en Sistemas: Spoofing - Redirect
Mensaje ICMP
El ICMP forma un protocolo de capa de red por sí mismo. Sin
embargo sus mensajes no se pasan directamente a la capa link,
primero son encapsulados en datagramas IP.
46
Seguridad en Sistemas: Spoofing - Redirect
Formato general de un mensaje ICMP
47
Seguridad en Sistemas: Spoofing - Redirect
Mensajes ICMP
3: Destination unreachable
4: Source quench
11: time exceeded
12: Parameter Problem
5: Redirection
8,0: Echo request or reply
13,14: Timestamp request and
reply
17,18: Address mask request and
reply
10,9: Route solicitation and
advertisement
48
Seguridad en Sistemas: Spoofing - Redirect
Redirección (1)
• Cuando un router o un host necesita enviar un
paquete destinado a otra red, debe conocer la
dirección IP apropiada del router próximo.
• Cada router y cada host debe tener una tabla de
ruteo.
• Por cuestiones de eficiencia usualmente los
hosts no toman parte en el proceso de actualización del ruteo.
– Ruteo estático.
49
Seguridad en Sistemas: Spoofing - Redirect
Redirección (2)
• Habitualmente la tabla de ruteo de un host tiene un
número limitado de entradas.
– Conoce el IP de un único router, el default router.
• El host puede enviar un datagrama (a otra red) a
un router equivocado.
• El router que recibe estos datagramas hará
– un forward del datagrama hacia el router correcto.
– una actualización de la tabla de ruteo del host
enviándole un mensaje de redirección.
50
Seguridad en Sistemas: Spoofing - Redirect
Redirección (3)
51
Seguridad en Sistemas: Spoofing - Redirect
Redirección (4)
Code 0: Redirección para ruteo específico de red.
Code 1: Redirección para ruteo específico de host.
Code 2: Redirección para ruteo específico de red basado
en el tipo de servicio especificado.
Code 3: Redirección para ruteo específico de host basado
en el tipo de servicio especificado.
52
Seguridad en Sistemas: Spoofing - Redirect
Redirección (5)
53
Seguridad en Sistemas: Spoofing - Redirect
Redirección (6)
• Algunos hosts realizan algunos chequeos antes
de modificar su tabla de ruteo al recibir un
mensaje ICMP redirect.
• Estos chequeos tratan de prevenir problemas a
partir de un router/host que se encuentra
funcionando mal o un usuario malicioso, que
esta modificando una tabla de ruteo de un
sistema.
• Sin embargo no es difícil crear un mensaje
ICMP falso, el cual puede pasar exitosamente
todos estos tests.
54
Seguridad en Sistemas: Spoofing - Redirect
Redirección (7)
•
Items que pueden ser verificados.
•
El nuevo router debe encontrarse conectado
en forma directa a la red.
1. El mensaje de redirección debe ser enviado
por el router actual para ese destino.
2. El mensaje de redirección no puede decirle al
host que utilice al emisor del mensaje de
redirección como router.
3. La ruta que está siendo modificada debe ser
una ruta indirecta.
55
Seguridad en Sistemas: Spoofing - Redirect
ICMP Spoofing
• Un hacker puede falsificar un mensaje
ICMP redirect para lograr un efecto similar
al producido por ARP cache poisoning.
• Suponga que el hacker (137.189.89.179)
trata de convencer al target (137.189.89.176)
que el camino más corto a 123.123.123.123
es a través de 137.189.89.179. Suponga que
el router original es 137.189.91.254.
• Se enviará el siguiente paquete falso.
56
Seguridad en Sistemas: Spoofing - Redirect
VER
HLEN
Service Type
PACKET_LEN
Identification
Protocol (ICMP)
Fragmentation offset
Header Checksum
Source IP address (137.189.91.254)
IP header
Time to live
Flag
Destination IP address (137.189.89.176)
Option
Code (1)
Checksum
IP address of the target router (137.189.89.179)
VER
HLEN
Service Type
PACKET_LEN
Identification
Flag
Protocol (IPPROTO_IP)
Fragmentation offset
Header Checksum
Source IP address (137.189.89.176)
Destination IP address (123.123.123.123)
Option
Embedded header
Time to live
ICMP
Type (5)
8 bytes of data
No necesita llenarse en el mensaje falso
57
Seguridad en Sistemas: Spoofing - Redirect
Propiedades
• Algunas propiedades del ICMP redirect
– A diferencia de las entradas de la cache ARP las
entradas de ruteo no expiran con el tiempo.
• en algunos sistemas si expiran (ej. redhat 7.2)
– El ataque puede lanzarse desde cualquier lugar.
– Se puede conseguir evitar que el target se
comunique con cualquier dirección fuera de su
subnet (DoS).
58
Seguridad en Sistemas: Spoofing - Redirect
Tipos posibles de Ataque
•
•
•
•
Sniffing
Man-in-the-middle
Session hijack
DoS
– Nameserver
– Router
59
Seguridad en Sistemas: Spoofing - Redirect
Prevención (1)
• Firewall
– Bloquea todos los mensajes ICMP redirect
provenientes del exterior de la LAN.
– No es bueno confiar ciegamente y unicamente
en el firewall.
– No puede bloquear hackers que tienen acceso a
nuestra red local.
• Simplemente descartar todos los ICMP
redirect en su host.
60
Seguridad en Sistemas: Spoofing - Redirect
Prevención (2)
• Para redhat 6.1
for f in /proc/sys/net/ipv4/a
done
• Para redhat 6.2 o superior
Agregar las siguientes líneas al archivo /etc/sysctl.conf:
# Disable ICMP Redirect Acceptance
net.ipv4.conf.all.accept_redirects = 0
• Debe resetear su red para que los cambios tengan
efecto
/etc/rc.d/init.d/network restart
61
Descargar

Document