3 ataquesRedesDatosIPv4
3 ataquesRedesDatosIPv4
3 ataquesRedesDatosIPv4
datos IPv4
Índice
1 | MAC/CAM 3
2 | Vlan Hopping 8
3.3 | Contramedidas 15
4 | Ataques a DHCP 20
5.1 | IP Spoofing 23
A estas alturas todos sabemos que un ataque informático es un mecanismo por el que un atacante, mediante
un sistema informático, tiene el objetivo de controlar, monitorizar, dañar o desestabilizar otro sistema distinto
(ordenador, red privada,…). A continuación, pasamos a estudiar los diferentes ataques en IPv4.
1. MAC/CAM
La tabla CAM, que también conocemos como MAC Address Table guarda las direcciones
MAC que un switch determinado aprende a través de las tramas que recibe (almacena el
campo MAC Address Source). Por defecto, una MAC permanece en la tabla CAM un máximo
de 300 segundos tras la última acción registrada. Este tiempo se denomina aging timer.
Switch (config) # mac address-table static mac-address vlan vlan-id interface type
mode/num
La tabla CAM tiene una longitud máxima determinada y es almacenada en la RAM del
equipo para que la consulta tarde muy poco en realizarse.
A B
Este comportamiento puede utilizarse para realizar ataques de
desbordamiento a tablas de direcciones MAC, también conocidos
como “Ataques de desbordamiento de la tabla CAM”. A continuación A B
se explica el funcionamiento de este tipo de ataque paso a paso
mediante ilustraciones.
MÁQUINA A El switch no tiene la S1
En la primera imagen se puede observar el comportamiento normal relación dirección MAC de la
máquina B con el puerto del
de un switch. Como se acaba de comentar, dicho switch recibe la switch, por lo que satura los
trama, busca la dirección de B de destino en su tabla y como no tiene puertos con la trama.
A B
la dirección del destino almacenada, difunde la trama enviándola por
todos los puertos del switch exceptuando el de origen.
MÁQUINA C
Ataques a redes de datos IPv4 | TELEFÓNICA // 5
Una vez que el switch ha difundido la trama, el destino, en este caso B, al haber recibido la trama, envía una
respuesta a la máquina B. De esta forma el switch descubre que la MAC de B se encuentra en el puerto 2 y
almacena estos datos en la tabla de MAC. La máquina C también recibe la trama pero como identifica que no es el
destino, la desecha. A partir de ese momento, el switch tiene e conocimiento del puerto por el que debe reenviar las
tramas cuando el destino es la máquina B.
MAC Puerto
A 1
MÁQUINA B
B 2
C 3
B A
B A
MÁQUINA C
Ataques a redes de datos IPv4 | TELEFÓNICA // 6
Y ?
MÁQUINA C
Ataques a redes de datos IPv4 | TELEFÓNICA // 7
Por tanto, mientras la tabla de direcciones MAC esté completa, el switch permanecerá en ese estado y difundirá
por cada puerto todas las tramas recibidas. En la siguiente figura se puede apreciar cómo el switch reenvía la trama
dirigida a la máquina B por todos los puertos, siendo accesible por tanto a la máquina B.
La tabla de
direcciones MAC
está llena.
MAC Puerto
X 3
MÁQUINA B
Y 3
C 3
A B
B A
MÁQUINA C
Ataques a redes de datos IPv4 | TELEFÓNICA // 8
2. Vlan Hopping
Para que una red de VLANs sea administrada por un switch es El modo de operación consiste en que la máquina atacante aspira a
necesaria la creación de un puerto trunk que tiene acceso a todas conseguir acceso a una VLAN en la que no es autorizado mediante
las VLANS y se utiliza para transmitir paquetes de varias VLAN el anexo de dos etiquetas en los paquetes que salen del cliente.
en el mismo enlace físico. Para su administración se utiliza DTP Dichas etiquetas se añaden a los paquetes que establecen a qué
(Dynamic Trunk Protocol) y es donde se realizan principalmente VLAN corresponden (VLAN ID). El método se denomina doble
estos ataques. DTP se utiliza para la negociación de un enlace entre etiquetado. El ataque comienza cuando el atacante envía un
dos dispositivos y para negociar el tipo de encapsulación que se paquete conectado a un switch añadiendo dos etiquetas VLAN en
utilizará (802.1Q). la cabecera del paquete. Si el primer atacante está conectado al
switch, la primera etiqueta coincide. Si el atacante está conectado
VLAN Hopping aprovecha la vulnerabilidad que se da en entornos a un 802.1Q Trunk, la primera etiqueta coincide con la VLAN nativa
VLAN, en los que hay una conexión por puertos troncales en los (generalmente 1). La segunda etiqueta identifica la VLAN a la que el
Switch. Realizando este ataque podremos mandar y recibir paquetes atacante le gustaría reenviar el paquete.
desde una VLAN a la que el sistema final no debería poder acceder.
Víctima
Atacante S1 S2
Se considera un servidor web seguro en una VLAN denominada Switch(config-if)# switchport access vlan 10
VLAN2. Los hosts en VLAN2 tienen acceso permitido al servidor
Switch(config-if)# description access_port
web; las máquinas de fuera de VLAN2 son bloqueados por filtros de
capa 3.
La segunda contramedida es asignar la VLAN native a todos los
Una máquina atacante en una VLAN separada, llamada VLAN1 puertos troncales del switch a una VLAN no utilizada.
(Nativa), crea un paquete especialmente diseñado para atacar al
servidor web, colocando una cabecera etiquetando al paquete como Switch(config-if)# switchport trunk native vlan 99
si perteneciera a VLAN2 detrás de la etiqueta de VLAN1. Cuando
se envía el paquete, el switch analiza el encabezado VLAN1 y al ver Las medidas anteriores evitaran el ataque de salto de VLAN, pero
que es el predeterminado, elimina la etiqueta y reenvía el paquete. debemos tener en cuenta que existe una tercera opción. Podremos
El siguiente switch ve el encabezado VLAN2 coloca el paquete etiquetar alternativamente la VLAN en todos los puertos troncales,
en VLAN2. El paquete llega así al servidor destino como si fuera desactivando todo el tráfico sin etiquetar sobre la interfaz.
enviado desde otra máquina en VLAN2, ignorando cualquier filtro
Switch(config-if)# switchport trunk native vlan tag
de capa 3 que pudiera estar en su lugar.
Ataques a redes de datos IPv4 | TELEFÓNICA // 10
CONEXIÓN ORIGINAL
ATACANTE
En este tipo de ataque el atacante envenena la tabla ARP de la víctima de forma que envía falsos mensajes ARP a dicha
víctima. ARP Spoofing no se realiza en redes con hubs, sino en redes switcheadas. A continuación, se detalla un ejemplo
teórico que nos ayudará a comprender el funcionamiento de ARP Spoofing, también conocido como ARP Poisoning.
En primer lugar, se considera que el atacante dispone de la herramienta necesaria (esta herramienta puede ser caín,
ettercap, nemesis, …).
TABLA ARP VÍCTIMA 1, máquina con IP 10.0.0.2, dirección IP 10.0.01 (router), MAC AA:AA:AA:AA:AA:AA
TABLA ARP VÍCTIMA 2, máquina con IP 10.0.0.3, dirección IP 10.0.0.2, MAC AA:AA:AA:AA:AA:AA
MAC ATACANTE: AA:BB:AA:BB:AA:BB
El atacante realizará un ARP Spoofing modificando el valor de las tablas ARP de las dos máquinas, siendo el
resultado el siguiente:
TABLA ARP VÍCTIMA 1, máquina con IP 10.0.0.2, dirección IP 10.0.01 (se cree el router), MAC AA:BB:AA:BB:AA:BB
TABLA ARP VÍCTIMA 2, máquina con IP 10.0.0.3, dirección IP 10.0.0.2, MAC AA:BB:AA:BB:AA:BB
Ataques a redes de datos IPv4 | TELEFÓNICA // 12
El atacante ha conseguido que todos los envíos de información de la máquina VÍCTIMA 1 hacia cualquier destino
pasarán por la máquina del atacante. Del mismo modo, la información que envíe la VÍCTIMA 2 (por ejemplo, el
router) a la VÍCTIMA 1 también pasarán por la máquina del atacante.
Después de entender en qué consiste el ataque, podemos comprender que, si la autenticación de un determinado
servidor es en texto plano, con un ARP SPOOFING podremos obtener la información de forma muy sencilla, ya que
toda la información pasará por la máquina del atacante.
El cifrado de las comunicaciones dificulta que se pueda obtener la información tan fácilmente ante un ataque básico
de ARP Spoofing, pero existen métodos más elaborados en lo que se puede obtener dicha información.
Ataques a redes de datos IPv4 | TELEFÓNICA // 13
Cuando tenemos creado el filtro, necesitamos compilarlo con el Una vez hecho esto, ejecutamos Ettercap y lanzamos el filtro:
compilador de filtros de Ettercap, llamado Etterfilter:
3.3 | Contramedidas
CONTRAMEDIDAS ARP SPOOFING
Existen diferentes formas y vías para protegerse contra el ataque Existen diferentes formas de protegerse de este tipo de ataques,
de ARP Spoofing. Una vez se entiende en qué consiste dicho algunas medidas son básicas, pero muy eficaces, mientras que
ataque, hay que tener en cuenta que el objetivo es lograr que las otras, debido a la complejidad de infraestructura pueden ser
entradas que se encuentren en la tabla ARP o CAM, sean realmente más costosas de implantar, pero también son muy eficaces. A
las legítimas, y no haya ninguna entrada de un atacante que esté continuación, se enumera una serie de medidas por nivel de
“spoofeando” la tabla. complejidad en la integración:
Simplemente, para recordar, el protocolo ARP consiste en preguntar • Programa que monitorice el estado de la tabla ARP para evitar
a todos los equipos de la red de ámbito local, con el objetivo de cambios no consentidos.
encontrar al equipo buscado, partiendo del conocimiento de una
• Programa que monitoricen las peticiones de red que llegan a la
dirección IP, para acabar conociendo su relación dirección IP con
máquina, con el objetivo de detectar cuando existen ARP Reply
dirección física o MAC. El problema radica en que un atacante puede
provenientes de una máquina, a la cual no se ha pedido un ARP
llevar a cabo ese tipo de respuestas falsificadas, con el objetivo de
Request.
lograr cambiar la tabla ARP o CAM de un usuario. De esta forma,
se puede conseguir que la víctima envíe su tráfico a otro equipo, • Estudio del volumen de datos o paquetes que han sido
pensando que éste es el router verdadero de la red, por lo que el enviados y recibidos. De esta forma se puede detectar un
atacante consigue situarse en medio de una comunicación, es decir, comportamiento anómalo en el protocolo ARP por parte de un
Man in the Middle. atacante.
Ataques a redes de datos IPv4 | TELEFÓNICA // 16
En otras palabras, existen soluciones “caseras”, pero eficaces En este ejemplo, se supone el siguiente escenario:
con scripting, por ejemplo, en Bash o en Powershell. Por otro
• Un router.
lado, existen soluciones como ARP On o Marmita, las cuales son
aplicaciones que permiten detectar ataques o intentos de ataques • Un equipo de la víctima.
contra la tabla ARP.
• Un equipo del atacante.
Este script, a modo de ejemplo, detecta que la entrada de la dirección CONTRAMEDIDAS DE NETWORK PACKET MANIPULATION
IP 192.168.1.1 ha cambiado en la tabla ARP y lo notifica enviando
La manipulación de paquetes permite a un atacante poder modificar
un mensaje de alerta.
el tráfico de una víctima para obtener una ventaja en la red. Para
Hay que tener en cuenta que, cualquier persona que utilice un equipo lograr esto, el atacante debe estar colocado en el medio de la
portátil estará cada día en un lugar diferente, es decir, conectado comunicación. Generalmente, para protegerse de la manipulación
a diferentes redes. Los equipos de sobremesa suelen estar mucho de paquetes se debe optar por protocolos de cifrado que protejan la
más “atados” al sitio, por lo que la utilización de este tipo de comunicación, y hagan realmente complejo que un atacante que esté
scripts puede ser válido, siempre y cuando puedan ser fácilmente situado en medio de la comunicación pueda analizar, comprender y
actualizables, con el objetivo de poder variar las direcciones físicas modificar con sentido el tráfico.
válidas o legítimas.
La manipulación de paquetes es crítica en entornos como las bases
de datos, ya que, por defecto, los motores de bases de datos no
#!/bin/bash
cifran las comunicaciones entre las aplicaciones web o clientes y
if [ $# -ne 1 ]
servidores dónde se encuentran la base de datos. Alguien que
then
pueda situarse en medio de la comunicación podría manipular
echo “Usage ./mitm.sh <dirección mac>”
las peticiones o queries que se realizan contra la base de datos,
exit
pudiendo obtener un privilegio en el sistema.
fi
mac=$1 Ejemplo: Proteger comunicación entre Wordpress y MySQL
while true
La idea de este ejemplo o prueba de concepto es mostrar al alumno
do
como la comunicación entre un cliente de base de datos o una
entradaRouter=$( arp -a | grep 192.168.1.1 | cut -d’ ‘ -f4 )
aplicación web contra un servidor de base de datos debe estar
if [ $mac != $entradaRouter ]
protegida, y en la mayoría de las ocasiones no lo está.
then
echo “Atento la Mac ha cambiado”
exit
fi
sleep 2
done
Ataques a redes de datos IPv4 | TELEFÓNICA // 18
En primer lugar, si se visualiza el tráfico entre Wordpress y MySQL, La generación de la CA, del certificado y de la clave se realiza a través
se puede ver como éste se encuentra sin cifrar. de los siguientes comandos:
• Openssl x509 -sha1 -req -in server-req.pem -days 730 -CA ca-
Ahora, hay que cambiar la configuración del motor de base de datos
cert.pem -CAkey ca-key.pem -set_serial 01 > server-cert.pem. Se
para que permita cifrar las comunicaciones. Esto sería algo similar
genera un certificado de servidor utilizando el certificado de la CA.
a que alguien se conectara contra un servidor web, éste debería
estar preparado para poder cifrar la comunicación, si se maneja
información sensible.
4. Ataques a DHCP
Existe una variante del ataque MITM que es bastante utilizada y se El ataque simple se basa en implementar un servidor DHCP falso
basa en la implementación de un servidor DHCP falseado. Debemos en la red, de forma que cuando el cliente envía una trama tipo
tener en cuenta que la funcionalidad del mismo es anárquica, de tal DISCOVERY, responden con un OFFER tanto el DHCP real como
forma que la existencia en una red de dos servidores DHCP puede el falso. El clienta atenderá al que antes envíe la respuesta DHCP
ocasionar, o bien la configuración adquirida por una máquina, o OFFER.
bien la facilitada por uno o por el otro. Básicamente el primero que
responda a una petición formulada. El funcionamiento de dicho Un problema para el dispositivo del atacante es que no conoce
servicio en lo que respecta al proceso de petición es el siguiente: en el inicio el rango de direcciones IP que se conceden ni las
ya asignadas por el servidor DHCP real. Así, podría haber un
• Envío por parte del cliente de un paquete DISCOVERY para que
conflicto entre Direcciones IP que el falso servidor crea, con las
el servidor DHCP de dicha red de dispositivos le asigne una
del servidor real. Para evitar que esto ocurra hay una posibilidad
dirección IP y otros parámetros como la máscara de red o el DND.
de ofrecer sólo información determinada y limitada del host: el
• Respuesta por parte del servidor DHCP con un OFFER en el que ataque DHCP ACK injection.
detalla una serie de parámetros al cliente: IP, puertos, DNS,…
Puesto que la comunicación DHCP se hace mandando los paquetes
• Selección por parte del cliente de los parámetros que le interesan
a la dirección MAC de broadcast FF:FF:FF:FF:FF:FF todos los clientes
y con un REQUEST solicita estos parámetros al servidor.
de la LAN reciben los paquetes DHCP. De esta forma existe la
• Reconocimiento por parte del servidor de que se ha reservado posibilidad de que un atacante monitorice los intercambios DHCP
correctamente los parámetros solicitados con un DHCP ACK y se y en un punto de la comunicación envíe un paquete formado
los envía al cliente. específicamente para cambiar su comportamiento.
Ataques a redes de datos IPv4 | TELEFÓNICA // 21
Uno de los puntos donde interesaría intervenir es cuando el servidor reconoce con un DHCP ACK la configuración
del cliente. Primero se tiene que escuchar toda la comunicación poniendo atención en el paquete REQUEST donde el
cliente solicita la IP, DNS y Gateway entre otros de aquellos datos que anteriormente le ha ofrecido el servidor DHCP.
Una vez recibido el REQUEST podría responderse con un ACK como lo haría el servidor DHCP real pero estableciendo
la configuración a criterio del atacante.
La siguiente figura muestra cómo se produciría la transición de tramas para hacer efectivo el ataque:
CLIENTE SERVIDOR
DISCOVER
Y
Broadcas
t
OFFER
unicast
REQUEST
Broadcas
t
LEDG E
ACKNOW
unicast
LEDG E
ACKNOW
unicast
una acción de amplificación enorme contra ese o esos servidores. NTP, por cada byte que se envía se puede llegar a devolver hasta 556
Esto se denomina una negación reflejada. bytes, lo cual es una potente arma para la denegación de servicio.
El ataque de NTP Amplification es exactamente igual que el anterior, En la siguiente imagen, se puede visualizar una configuración de la
solo que se utiliza el protocolo NTP en vez del protocolo DNS. herramienta hping3, con la que generar un ejemplo sencillo de IP
Además, con la aparición de una vulnerabilidad en el comando Spoofing. Con hping3, se está indicando que la petición se enviará a
monlist que permitía obtener un gran número de direcciones IP una dirección IP, en este ejemplo a la dirección IP 127.0.0.1.
de los servidores o máquinas que habían consultado el presente
Con el parámetro -a se indica la dirección IP que se configurará
servidor, se obtenía una gran amplificación.
realmente, es decir, la que se estará “spoofeando”. El parámetro -S
• DNS • 28 to 54 configura el flag de SYN, ya que en este ejemplo se está utilizando
TCP como protocolo de transporte. El paquete es enviado al puerto
• NTP • 556.9
9000, esto se especifica con el parámetro -p, y con el parámetro -c
• SNMPv2 • 6.3 se indica que solo se enviará un solo paquete.
• NetBIOS • 3.8
• SSDP • 30.8
ATAQUE