3 ataquesRedesDatosIPv4

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 27

Ataques a redes de

datos IPv4
Índice
1 | MAC/CAM 3

2 | Vlan Hopping 8

3 | Man in the Middle 10

3.1 | ARP Spoofing 11

3.2 | Network Packet Manipulation 13

3.3 | Contramedidas 15

4 | Ataques a DHCP 20

5 | Otros tipos de Spoofing 23

5.1 | IP Spoofing 23

5.2 | DNS Spoofing 25


Ataques a redes de datos IPv4 | TELEFÓNICA // 3

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.

Podemos modificar el aging timer de la siguiente forma:

Switch (config) # mac address-table aging-time seconds

Además, podemos insertar entradas estáticas en la CAM:

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.

El comando para saber el espacio disponible de la tabla es el siguiente:

Switch (config) # show mac address-table count


Ataques a redes de datos IPv4 | TELEFÓNICA // 4

La tabla de direcciones MAC de un determinado switch almacena


las direcciones MAC, así como su relación con cada puerto y la VLAN
específica. En esta tabla se basa el funcionamiento de un switch,
ya que cuando recibe una trama, busca en la tabla de direcciones el
destino. Cuando un switch recibe una trama, la dirección MAC de
origen queda registrada en la tabla, por tanto, si esa dirección ya MAC Puerto
está almacenada en la tabla, el switch reenvía la trama al puerto MÁQUINA B
A 1
almacenado. Si por el contrario no existe, el switch satura todos los
puertos (excepto el de origen) con la trama. C 3

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 A El switch registra la S1


dirección MAC y se añade
la relación a la tabla MAC.
La máquina C descarta el
paquete dirigido a B.

MÁQUINA C
Ataques a redes de datos IPv4 | TELEFÓNICA // 6

Con el proceso de almacenamiento de relaciones en la máquina


de direcciones MAC surge el riesgo de llenar la tabla, ya que estas
tienen limitación de registros.
MAC Puerto
Un ataque de desbordamiento por CAM se aprovecha de esta
vulnerabilidad e intentará sobrecargar al switch con direcciones X 3
MAC que no existen para así poder completar la tabla y desbordarla. MÁQUINA B
Y 3
Existen herramientas que pueden generar miles de entradas por
minuto. C 3

En la siguiente figura un atacante en la máquina C está generando


direcciones MAC falsas, con el consecuente almacenamiento por B A
parte del switch de dichas direcciones. La máquina C continúa con
este comportamiento hasta conseguir que la tabla se complete y al
llegar a este punto, el switch entra en “fail-open”. Al entrar en este MÁQUINA A Se han agregado direcciones S1
modo, el switch reenvía las tramas a todas las máquinas existentes para máquinas ficticias en
en la red, dando visibilidad al atacante de todas las tramas enviadas. la tabla MAC. Las máquinas
ficticias se encuentra en
el puerto 3. El atacante X ?
comienza a enviar direcciones
MAC de bogus desconocidas.

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 A La máquina B es desconocida S1


ya que la tabla de direcciones
MAC está compuesta, así que
el switch satura los puertos
con la trama para buscar a la
máquina B. A B

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.

Access 802.1Q Access


VLAN: 1 Trunk VLAN: 10

Víctima
Atacante S1 S2

Eth V1 V10 Eth V10 Eth


Ataques a redes de datos IPv4 | TELEFÓNICA // 9

Cuando el switch recibe el paquete del atacante, elimina la primera Contramedidas


etiqueta. A continuación, reenvía el paquete a todos los switches
vecinos (ya que también utilizan la misma VLAN nativa). Debido a La característica clave de un ataque de este tipo es la explotación
que la segunda etiqueta nunca se eliminó después de entrar en el de la VLAN nativa. Dado que VLAN1 es la VLAN predeterminada
primer switch, los siguientes switches que reciben el paquete ven la para los puertos de acceso y la VLAN nativa predeterminada en
etiqueta restante como el destino de la VLAN y reenvían el paquete puertos troncales, es un objetivo fácil.
al puerto de destino en esa VLAN.
La primera contramedida es eliminar los puertos de acceso de la
A continuación, se detalla un ejemplo para la mejor comprensión de VLAN1 predeterminada, ya que el puerto del atacante debe coincidir
lo recientemente estudiado. con el de la VLAN nativa del switch.

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

3. Man in the Middle


Man in the Middle (MITM) es un conocido sistema de ataque en el que se vulnera un canal entre dos máquinas, y
sin que ninguno de los dos extremos sea consciente, la información que se envía entre las dos máquinas puede ser
leída o modificada. Es decir, el atacante se sitúa entre la máquina A y la máquina B, y cuando la máquina A envíe
información a la máquina B, dicha información será susceptible ya que llegará primero al equipo de la víctima que
reenviará o modificará, en función del tipo de ataque, la información hacia la máquina B.

A continuación, se muestra el funcionamiento básico de este tipo de ataque:

CONEXIÓN ORIGINAL

VÍCTIMA SERVIDOR WEB

ATACANTE

FIGURA 3.3.1. ATAQUE MITM


Ataques a redes de datos IPv4 | TELEFÓNICA // 11

3.1 | ARP Spoofing

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, …).

Imaginemos el siguiente escenario:

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

¿Qué ha conseguido el atacante?

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.

Información en texto plano

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.

¿Estamos a salvo de este tipo de ataques si utilizamos HTTPS?

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

3.2 | Network Packet Manipulation


La técnica Network Packet Manipulation permite modificar el modificar y, a continuación, proporciona una forma de remplazar
contenido de un paquete de red. Un atacante que se encuentre fácilmente la información con lo que deseemos. Otros programas
en una situación privilegiada, como puede ser en medio de una de manipulación de paquetes, como Airpwn, permiten hacer este
comunicación, gracias entre otras posibilidades a un ARP Spoofing tipo de manipulación también.
en una red de área local, puede observar el tráfico que circula a través
Crear un filtro ettercap es bastante sencillo. Sólo tenemos que
de él. Además de observar, imagine que puede modificar algún dato
decidir qué datos deseamos reemplazar y con qué. Un escenario
de un paquete que circula por la tarjeta de red. En esto se basa la
divertido y común es reemplazar imágenes en webs con alguna
técnica Network Packet Manipulation, por lo que, a priori se necesita
imagen a nuestra elección.
realizar un MiTM y poder colocarse en medio de la comunicación.
A continuación, vamos a estudiar un ejemplo en el que vamos a
Para llevar a cabo un ejemplo de esta técnica se utilizará Ettercap.
remplazar una imagen con nuestra propia imagen llamada OWNED.gif.
Esta herramienta permite realizar diferentes tipos de ataques de
red, entre ellos el propio ARP Spoofing, estudiado anteriormente. Lo primero de todo que tenemos que hacer, como acabamos
Ettercap permite crear una serie de filtros, a través de su de comentar, es crear el filtro. En un editor de texto cualquiera
herramienta Etterfilter, para encontrar los bytes que deseamos crearemos un nuevo fichero al que llamaremos owned.filter.
Ataques a redes de datos IPv4 | TELEFÓNICA // 14

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:

El parámetro –T indica que usaremos Ettercap a través de una línea


de comandos. Por otra parte, el módulo ARP permite indicar un
Esto generará un fichero con extensión ef, el cual es el filtro
target o toda la red, por lo que hemos indicado el host concreto que
compilado.
queremos envenenar.
Después de compilar el filtro deberíamos ver la siguiente respuesta:
A partir de ahora, cuando un paquete atraviese la máquina de
sniffing, la trama que contiene la imagen será reescrita y la frase
“IMAGE REPLACED” aparecerá como salida en la consola.

Debemos indicar que esto es bastante imperfecto, ya que requiere


qué el desarrollador que hizo la máquina web que estamos
intentando hackear escribiera <img src=someimage> o similares, y
muchas personas escriben algo como <img align=”top” height=”128”
src=”foo”> indicando el tamaño deseado, o frases similares. Dado
que protocolos como HTML permiten poner muchos elementos
diferentes en orden diferente, el filtro no funcionará en el 100 por
cien de los casos pero sirve de base didáctica para comprender en
qué consiste el Network Packet Manipulation.
Ataques a redes de datos IPv4 | TELEFÓNICA // 15

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.

Las estradas de una tabla ARP son dinámicas, es decir, tienen un


tiempo por defecto de vida, siempre y cuando no sean refrescadas.
Es decir, cuando pase ‘X’ tiempo sin que llegue un ARP Reply de la
máquina correspondiente con dicha entrada, ésta será eliminada.
Incluso, si llega un ARP Reply que pertenezca a una dirección IP que
existe en la tabla, pero su dirección física es distinta y la entrada
está configurada en modo dinámico, ésta cambiará de valor por la
nueva dirección física.

¿Cómo se crea una entrada estática en la tabla ARP? La instrucción


para crear la entrada o modificar el comportamiento dinámico
por estático es arp -s <dirección IP> <dirección física>. ¿Qué
ventaja tiene la entrada estática? Aunque haya un equipo en la red
que indique que la dirección física asociada a una dirección IP ha
cambiado, no se atenderá dicha solicitud, ya que la entrada solo
puede ser cambiada manualmente en local. A continuación, se
propone, a modo de ejemplo, el siguiente script.
Por último, hay sistemas de detección de intrusiones que pueden
detectar los intentos de ataques ARP Spoofing. En esta ocasión, se
va a ejemplificar con un script sencillo para proteger la entrada en la
tabla ARP que corresponde con el router de la red.
Ataques a redes de datos IPv4 | TELEFÓNICA // 17

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 genrsa 2048 > ca-key.pem - openssl req –sha1 –new


–x509 –nodes –days 3600 –key ca-key.pem > ca-cert.pem. Con
esto se tiene certificado y clave privada de la CA.

• Openssl req –sha1 –newkey rsa:2048 -days 730 -nodes


-keyout server-key.pem > server-req.pem. Con esto se genera
clave privada para el servidor.

• Openssl rsa -in server-key.pem -out server-key.pem. Se exporta


clave privada, tipo RSA.

• 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.

En el servidor de base de datos se comprueban las variables para


ver si openssl se encuentra disponible y puede ser utilizado. Esto se
lleva a cabo a través de la ejecución de show variables like ‘%ssl’;”. Las
variables have_openssl y have_ssl deben encontrarse en MySQL.
Ahora, es momento, de configurar los certificados necesarios para
crear las comunicaciones cifradas: ssl_ca, ssl_cert y ssl_key, que
indican la ruta de la CA, la ruta del certificado del servidor y la clave
del certificado del servidor.
Ataques a redes de datos IPv4 | TELEFÓNICA // 19

Para este ejemplo, dónde se protege una conexión entre Wordpress


y una base de datos MySQL, hay que tener en cuenta el fichero
wp-config.php, el cual tiene una serie de flags para la conexión
con la base de datos. Se debe añadir, simplemente, la instrucción
“define(‘MYSQL_CLIENT_FLAGS’, MYSQL_CLIENT_SSL);”. En la
siguiente imagen se puede visualizar.

En este instante, las peticiones entre el sitio web de Wordpress y


las consultas a MySQL van por un canal cifrado, por lo que la técnica
de Network Packet Manipulation no puede funcionar, ya que no se
puede observar que es lo que se está enviando. Ya no es válida.
Ataques a redes de datos IPv4 | TELEFÓNICA // 20

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

FIGURA 3.4.1. ATAQUE DHCP


Ataques a redes de datos IPv4 | TELEFÓNICA // 22

La ventaja de este ataque es que no necesita conocer el rango


de direcciones IP válidas ni qué direcciones están libres y cuáles
ocupadas. Se deja en manos del servidor DHCP real el que
ofrezca toda esa información y sólo se interviene en la fase final,
en el reconocimiento que da el servidor sobre la configuración
seleccionada. También es más difícil de detectar. Sólo se envía un
paquete y puede es enviado con la IP suplantada del servidor DHCP.

Sin embargo, como en el anterior escenario existe la posibilidad de


que la respuesta proceda tanto del atacante como del servidor DHCP
real y el cliente sólo hará caso al primero de ellos que responda.
Algunas veces será más rápido el servidor DHCP real, otras el
atacante.

El atacante no tendrá que tener conocimiento ni de las IP dadas


ni de las que pueden ofrecerse, sólo se facilitarán los parámetros
necesarios para interceptar por ejemplo los paquetes dirigidos al
router o plantear la base para un ataque de DNS Spoofing.

Como mecanismo de defensa pueden encontrarse aplicaciones tales


como DHCP Probe, que cotejan en una base de datos los servidores
DHCP legales que se habrán introducido con el tráfico generado por
un falso servidor DHCP. Dicha aplicación lanza peticiones de DHCP
evaluando la respuesta obtenida, indicando para ello qué servidores
son los legítimos y cuáles no.
Ataques a redes de datos IPv4 | TELEFÓNICA // 23

5. Otros tipos de Spoofing


5.1 | IP Spoofing
La técnica de IP Spoofing, como todos los Spoofing, consiste en En el caso del protocolo UDP, es muy común ver la técnica de IP
engañar al que recibe la petición haciéndole creer que la dirección Spoofing orientada a ataques de denegación de servicio con ataques
de origen es una, cuando realmente es otra. En otras palabras, si de amplificación. Un ataque de amplificación consiste en que, si la
se enviara una carta a la casa del señor García, y en el remitente se máquina A envía un paquete de 10 bytes, la máquina B conteste con
pusiera señor Fernández, el señor García pensaría que la carta viene un paquete de n*10 bytes, es decir, amplificado.
del señor Fernández, cuando en realidad es el señor González quién
Como casos reales se pueden encontrar varios, pero se hablará de:
envío la carta. Esto es un símil válido para la técnica IP Spoofing.
• El protocolo DNS.
En otras palabras, la técnica de IP Spoofing permite falsificar la
dirección IP origen de un paquete. Generalmente, está muy ligado • El protocolo NTP.
al protocolo de transporte UDP, ya que dicho protocolo no está
Un ataque de DNS Amplification consiste en que una serie de máquinas
orientado a conexión, por lo que el equipo que recibe un paquete
realizan consultas contra servidores DNS a través del protocolo
por UDP puede contestar directamente sin más. Cuando se trata del
de transporte UDP. El protocolo UDP no valida las direcciones IP
protocolo TCP, es más raro ver este tipo de técnicas, ya que, al estar
de origen, de ello debería encargarse el protocolo de la capa de
orientado a conexión, no tendría demasiado sentido que se envíe
aplicación, por lo que si éste no lo realiza se tendrá un problema.
un SYN con dirección IP falsa, ya que el equipo que recibe el flag de
Es realmente fácil falsificar un datagrama IP para configurar una
SYN contestará SYN+ACK o RST, según sea, a una máquina que no
dirección IP de origen falsa. Cuando muchos paquetes UDP tienen
lo espera y que descartará el paquete. Es cierto, que existen usos
como dirección IP de origen una o una serie de máquinas en
con TCP, como, por ejemplo, un escaneo zombie o idle.
concreto, los servidores contestarán a esa dirección y se realizará
Ataques a redes de datos IPv4 | TELEFÓNICA // 24

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

En la siguiente relación, se tiene una serie de protocolos basados en


UDP y el factor que se puede llegar a amplificar, es decir, en el caso de
Ataques a redes de datos IPv4 | TELEFÓNICA // 25

5.2 | DNS Spoofing


DNS Spoofing es un tipo de ataque con el cual, un atacante puede Para una mejor comprensión, se ejemplifica un ataque a una víctima con DNS
redirigirnos a un sitio web diferente al que nos queremos conecta y Spoofing, en el que se la redirige a la dirección IP que el atacante quiere.
con intenciones diferentes a las nuestras. Conceptualmente estamos
hablando de una suplantación de identidad por nombre de dominio,
es decir, se trata de la manipulación de una relación Dominio-IP,
resolviendo un cierto nombre DNS con una dirección IP falsa, o al
contrario. El atacante consigue este objetivo falseando dicha relación
aprovechando una vulnerabilidad del servidor o su confianza hacia ATACANTE
servidores poco fiables. Además, dichas entradas son sensibles de 1

envenenar la caché DNS de otro servidor DNS. 2

A continuación, se muestra un esquema gráfico de DNS Spoofing.

1. El atacante está en medio de la comunicación entre la víctima Gmail.com

y el servidor DNS. Cuando la víctima envía una petición DNS al


servidor legítimo, ésta es interceptada. 3 VÍCTIMA

2. El atacante reenvía la respuesta DNS falsificada, es decir, la


dirección IP que se devuelve a la víctima no corresponde con el
dominio legítimo solicitado.
GmailFakeAttacker.co
3. La víctima se conecta con un sitio malicioso, en vez de conectarse
con el sitio web legítimo. La víctima se estará conectado a un sitio FIGURA 3.5.2.1. ESQUEMA DNS SPOOFING
web dónde le podrían robar, entre otras cosas, las credenciales.
Ataques a redes de datos IPv4 | TELEFÓNICA // 26

ESCENARIO De una manera sencilla el atacante ha realizado un phising casi


perfecto. La víctima podrá detectar esto comprobando su caché. En
• Una víctima navegando desde un ordenador Windows,
ella descubriría que la resolución de nombres nueva se encuentra en
utilizando un servidor DNS externo a la red local, el 8.8.8.8 (DNS
una dirección IP local:
de Google).

• Un atacante con Kali Linux.

• Ambos se encuentran en la misma LAN.

ATAQUE

El objetivo del atacante será interceptar las peticiones y respuestas


DNS, construyendo un fichero hosts con la nueva IP deseada por el
atacante. Por tanto, en primer lugar el atacante realizará un ataca Man
In the Middle para interceptar dicho tráfico, mediante ARP Spoofing.
Una vez que el atacante consigue acceder al tráfico construye
un fichero host que se pasará a dnsspoof, con las IP acordes a los
nombres que desea spoofear.

Editará el siguiente fragmento:

192.168.0.57 *.tuenti.com192.168.0.57 tuenti.com

Cuando el atacante haya terminado de editar el fichero, deberá


ejecutar la herramienta dnsspoof con el siguiente texto:

Dnsspoof –i –et0 –f <fichero>

También podría gustarte