Área de Tecnologías de la Información
Programa Académico de Infraestructura de Redes Digitales
Materia: Ciberseguridad
Título: Ciberataques
Profesor(a): Ricardo Estrada Malacara
Alumno(a): Fátima Abigail Porras Noriega
Grupo: IRD-501
León, Guanajuato. 12 de febrero de 2020
INTRODUCCIÓN Proteger a las organizaciones contra cualquier ciberataque posible no es factible por algunos motivos. La experiencia necesaria para configurar y mantener la red segura puede ser costosa. Los atacantes siempre seguirán encontrando nuevas maneras de apuntar a las redes.
Con el tiempo, un ciberataque avanzado y dirigido tendrá éxito, es por ello por lo que en esta práctica aprenderemos a protegernos ante distintos tipos de ataques en diferentes protocolos como lo son el VTP, STP o DTP entre otros.
El objetivo de la mayoría de los ciberdelincuentes es robar la información valiosa para los usuarios. Los ataques pueden ser dirigidos a usuarios individuales, páginas web famosas o bases de datos financieros.
Uno de los ciberataques más conocidos y fáciles de realizar, aunque no por ello menos peligroso es el Man In The Middle (MITM), en este método se introduce un intermediario (el cibercriminal o una herramienta maliciosa) entre la víctima y la fuente, estos ataques son realmente efectivos y, a su vez, muy difíciles de detectar por el usuario, quien no es consciente de los daños que puede llegar a sufrir. Este método sólo necesita que el atacante se sitúe entre las dos partes que intentan comunicarse; interceptando los mensajes enviados e imitando al menos a una de ellas.
En las siguientes prácticas conoceremos cómo lanzar los ataques así como enseñarnos a proteger nuestros dispositivos de todos estos, en donde aprenderemos que un ataque, por más complejo que parezca, podremos realizarlo gracias a las distintas herramientas que existen de hoy en día a nuestra disposición. Estos ataques son peligrosos ya que normalmente los atacantes pasan totalmente desapercibidos para poder alcanzar con éxito la meta.
SUPLANTACIÓN DE MAC MAC spoofing es una técnica para cambiar la dirección MAC de un dispositivo de red. Cada dispositivo cuenta con una MAC address única, por lo cual no puede ser modificada. Esta suplantación consiste en esconder la identidad del atacante dentro de la red local, imitando otra diferente permitiéndole acceder a los beneficios o a la información que tenga el dispositivo que está suplantando.
Al suplantar la MAC address de un dispositivo, debido a que no pueden existir dos direcciones idénticas en el mismo tiempo y en la misma red, el switch sólo tomará una como existente, mientras que la otra será descartada y no recibirá información.
Para esta práctica utilizamos un switch y dos máquinas, una funcionando como atacante y otra como víctima. _______________________________________________________________________
Como atacantes, lo primero que debemos tomar en cuenta es conocer la dirección MAC de nuestra tarjeta de red, ingresando al cmd y utilizando el comando
ipconfig /all
que nos mostrará toda la información disponible sobre ésta. Pero la información que nos interesa saber es el nombre de la interfaz de red y la dirección física, que es nuestra dirección MAC.
Se necesita conocer a qué interfaces del switch están conectadas las máquinas para así poder saber a cuál puerto y cuál dirección física debemos atacar. Esto lo podremos visualizar con el comando
show mac-address-table
que se
ingresará desde el switch.
Podemos identificar las dos máquinas conectadas, la del atacante que está en la interfaz fa0/1 y la otra máquina que está en la fa0/2. Además, podemos ver que las direcciones de ambos dispositivos ya están asociadas a su puerto del switch. Entonces conocemos que la MAC address del atacante es 3c2c.30ac.aa4d y la de la víctima es 308d.99c4.96bd. NOTA: En caso de que no se pudiera acceder a la consola del switch, para conocer la dirección física del dispositivo que se está atacando, se puede conocer ingresando desde la consola del atacante el comando arp -a , que mostrará una lista de direcciones IP asociadas a una dirección MAC. Para comenzar el ataque y suplantar la dirección MAC del otro dispositivo, el atacante necesitará ejecutar la herramienta TMAC v6 que sirve en sí para cambiar o suplantar las direcciones MAC. Cuando ésta se ejecuta, se muestran en primera instancia todas las interfaces de red. Para cambiarla, se deberá seleccionar la interfaz de red conectada y escribir la dirección que se desea suplantar (la del dispositivo a atacar).
Ya que el atacante cambió su dirección MAC, deberá generar actividad dentro de la red para que así el switch pueda detectar la nueva dirección que se suplantó.
Como prueba de que el ataque funcionó se puede comprobar ingresando de nuevo el comando que muestra la tabla de direcciones MAC y se podrá observar que el puerto del atacante (recordemos que es fa0/1) ahora tiene la dirección MAC del otro dispositivo.
Como mencioné al principio, el switch no admite dos direcciones MAC iguales, por lo que sólo aparecerá el dispositivo atacante, negándole la actividad en la red al dispositivo atacado, sin embargo, este dispositivo, aparecerá de manera intermitente por el hecho de estar duplicada.
ATAQUE CAM DEL SWITCH Ataque también llamado Mac Flooding Attack, que consiste en saturar la tabla CAM (Content Addressable Memory) de un switch con miles de direcciones MAC generadas aleatoriamente por una herramienta como macof.
La tabla CAM no es infinita, puede almacenar solo cierta cantidad de información y cuando un ataque la satura, ocurre que las tramas que van de un PC a otro PC de forma Unicast en el switch, se transmiten por todos los puertos, sin importar si hay dominios de Brodcast (VLAN) configurados. Esto permite a un atacante capturar todo el tráfico que circula por el switch a través de un Sniffer como Wireshark.
Para el desarrollo de esta práctica, de igual manera se necesita un switch, dos máquinas físicas y en nuestro caso, una máquina virtual. _______________________________________________________________________
Para lanzar este ataque debemos iniciar un equipo con el SO Kali Linux, en nuestro caso desde una máquina virtual, sin embargo, también se podría desde el equipo mismo del atacante.
Como estamos utilizando una máquina virtual, deberemos indicar que el adaptador de red de la maquina tenga un bridge connection con el adaptador de red de la maquina física que esté conectada al switch.
Ya que iniciamos Kali sin errores, deberemos instalar la herramienta que se mencionó anteriormente “macof” que nos permitirán el ataque CAM con la aplicación dsniff con el comando sudo apt-get install dnsiff .
Antes de lanzar el ataque, sólo para comprobar, sería importante ver nuestra tabla de direcciones MAC para darnos cuenta de cuántas de éstas están registradas en la red:
Como podemos observar, tenemos únicamente tres direcciones MAC registradas, importante tenerlo en cuenta para que, cuando se lance el ataque se puedan ver los cambios. Y ahora sí se puede continuar a lanzar el ataque desde Kali Linux con el comando macof -i interfaz
en donde macof indica que se ejecutará esa aplicación, -i indica que se
mandará como parámetro una interfaz e interfaz indica la interfaz por la cual se lanzará el ataque que en nuestro caso es eth0.
Como se puede observar, este comando comienza a enviar al switch una cantidad interminable de direcciones MAC que durarรก hasta que el atacante detenga el ataque.
Como mencioné al inicio, ya que el switch esté actuando como hub, se podrá capturar todo el tráfico que circula por el switch a través de un Sniffer como Wireshark.
¿CÓMO PROTEGERNOS DE ESTE ATAQUE? Para evitar este tipo de ataque, existe la herramienta port security, incluye comandos que se aplican a las interfaces del switch que se quieren proteger en el siguiente orden: switchport port-security
Habilita la seguridad de los puertos.
switchport port-security mac-address sticky
Indica al Switch que almacene la
dirección MAC de los terminales conectados al puerto de forma automática. switchport port-security maximum 1
Indica al Switch que almacene un máximo
de direcciones MAC por interfaz que se quieran, en nuestro caso solo una. switchport port-security violation shutdown Indica al Switch que en caso de detectar cualquier violación a la política antes definida, tome una medida de seguridad. Existe shutdown que desactive la interfaz e informa una alerta, restrict que impide el tráfico de red sin apagar la interfaz generando un mensaje de log, y protect que solo impide el flujo de tráfico de red.
Teniendo seguridad en los puertos, cuando intentemos realizar un ataque, veremos las acciones reflejadas segĂşn el nivel de seguridad que hemos definido, en el caso de restrict, se mostrarĂĄ un mensaje de log en el switch.
Cuando el nivel de seguridad es shutdown, notaremos que a pesar de que tengamos conectado correctamente nuestro ordenador al switch, el led indicador de este no encenderĂĄ. Para volver a habilitar el puerto tendremos que apagarlo y encenderlos con los comandos shutdown y no shutdown en la interfaz del puerto.
A T A Q U E S T P (S P A N N I N G T R E E P R O T O C O L) Spanning Tree Protocol (STP) es un protocolo de capa 2 que se ejecuta en bridges y switches. El propósito principal de STP es garantizar que no se creen loops cuando se tenga trayectorias redundantes en la red. Los loops son fatales para una red.
STP permite que los switches se comuniquen a través de paquetes BPDU (Bridge Protocol Data Unit) para designar a un switch como raíz, para bloquear puertos que puedan causar algún bucle en la red.
Aprovecharemos vulnerabilidades de STP a través del envío de BPDUS desde Kali Linux. El resultado que lograremos con los ataques será denegación de servicios y ataque de intermediario. _______________________________________________________________________
INUNDACIÓN DE BPDU Los switches mandan BPDU de 3 tipos, el de configuración, el de cambio de topología (TCN) y el de confirmación del cambio (TCA) con la intención de hacer funcionar el protocolo STP y darle funcionalidad a la red.
El ataque que vamos a lanzar consiste en enviar masivamente paquetes BPDU al switch para negar todos sus servicios en la red. Para empezar el ataque, trabajaremos en Kali Linux. Además, ocuparemos la herramienta Yersinia. Esta herramienta nos permite realizar distintos ataques de capa dos a distintos protocolos, tales como STP, DTP, VTP, DHCP, entre otros. Para instalar Yersinia, en la terminal debemos ingresar el comando sudo apt-get install yersinia .
Deberemos ingresar en modo raíz, el comando
yersinia –G
herramienta, la opción –G permite abrirla en modo gráfico.
para instalar la
Al abrir esta venta, podremos realizar los ataques en la parte launch attack.
Por otro lado, en la parte central, hay una lista de los paquetes que hemos enviado en cada protocolo, de la misma manera, aparecerรก otra lista con la cantidad total de paquetes enviados a cada protocolo.
Para empezar a lanzar el ataque de inundaciรณn de BPDU, nos iremos a la parte que mencionamos anteriormente launch attack.
Al darle clic en esta opción, se nos abrirá una ventana donde elegiremos el protocolo que vamos a atacar y su ataque. En este caso, el protocolo es STP, y en el ataque elegiremos sending conf BPDUS, el cual consiste en enviar paquetes BPDU de configuración y el ataque comenzará (debemos verificar que la casilla DoS esté marcada).
En la misma pantalla podremos ver los paquetes enviados en la interfaz de la aplicación.
Este ataque provocará que el switch detenga sus servicios y por lo tanto, los dispositivos conectados a este no tendrán acceso a la red. Si teníamos una sesión por Telnet abierta con el switch, esta se cerrará después de unos segundos, en el caso de PuTTY, este
mostrará una ventana enviando un mensaje de error.
ROLE BRIDGE Cuando STP designa un switch como raíz o root, este recibirá todos los paquetes que se envíen en la red, si como atacantes nos logramos designar como switch raíz, podremos realizar un ataque MITM (Man In The Middle). Este ataque también lo podemos realizar en Yersinia, y para ello nos dirigiremos a la opción Launch Attack, seleccionaremos el protocolo STP y el ataque que se lanzará será el de Claiming Root Role.
Lo siguiente sería esperar a que el paquete se envíe. Al tener acceso a la consola de comandos del switch y utilizar el comando dirección MAC del dispositivo atacante.
show spanning-tree , se mostrará la
Ahora que es el puerto raíz, todos los paquetes de la red estarán llegando al dispositivo atacante. Para poder ver los paquetes, se puede utilizar la herramienta Wireshark que utilizamos en el ataque CAM. Viene instalado por defecto en Kali, y al abrirlo se necesitará especificar la interfaz que se desea monitorear, se podrá ver el contenido de los paquetes y filtrarlos si se desea.
¿CÓMO PROTEGERNOS DE ATAQUES CON BPDU? Para prevenirnos de este ataque debemos identificar los puertos que no intervienen en el proceso de STP y no necesitan recibir ni enviar paquetes BPDU.
Al identificarlos, ingresaremos los siguientes comandos en cada puerto del switch o como rango de puertos. spanning-tree portfast
hace que al conectar un dispositivo al puerto del switch,
este entre inmediatamente en estado de fowarding (estado normal de un dispositivo conectado), omitiendo el de learning (estado en que STP está haciendo, procesando BPDUs para designar al root y los enlaces bloqueados), ya que este último necesita unos 15 segundos para completarse. Además, de que esta línea es necesaria para poder ejecutar la siguiente. spanning-tree bpduguard enable previene que el puerto reciba BPDUs. Si el puerto sigue recibiendo un BPDU, este es puesto en estado de error y se deshabilitará como una medida preventiva.
ATAQUE A DTP Y VTP DTP (Dynamic Trunking Protocol), nos da la facilidad de crear enlaces troncales de manera dinámica, solo configurando un puerto como troncal, el otro se convertirá en uno. Los enlaces troncales sirven para transportar paquetes de todas las VLAN.
VTP (VLAN Trunking Protocol) nos ofrece la posibilidad de crear VLANs en un switch y replicarlas en todos los conectados a través de establecerlos como clientes y como servidores en un mismo dominio.
Cuando en una organización se manejan varias VLAN para separar el tráfico, tener el control de crearlas y eliminarlas puede causar conflictos en la red. _______________________________________________________________________
CREACIÓN Y ELIMINACIÓN DE VLANS En esta práctica haremos uso de dos máquinas, una física y una virtual y de dos switches, como cliente y como servidor. Utilizando Yersinia, aprovecharemos una vulnerabilidad de DTP. Por defecto, todos los switches tienen este protocolo activado, permitiendo convertirse en troncales cuando se conecta a ellos una interfaz de switch que esté en modo troncal.
Para crear un enlace troncal, desde Yersinia nos dirigiremos a Launch attack y en el protocolo DTP seleccionaremos el ataque enabling trunking.
Cuando el ataque que lanzamos haya funcionado, en la pantalla veremos que se ha enviado el paquete, así pues, nuestro enlace troncal se habrá creado.
La tarea de crear y/o eliminar una VLAN será muy sencillo al momento de convertirse en troncales. Desde Yersinia, lanzaremos un ataque en la opción de Launch attack, después elegiremos el protocolo VTP y el ataque será adding one vlan en donde definiremos un nombre y un número de VLAN.
Aun realizando estos pasos, no se ha enviado el paquete que contiene la información para crear la VLAN, para ello, volveremos a lanzar un ataque al protocolo VTP, pero esta vez el ataque será sending VTP packet para que se envíe y aparezca en nuestra lista de paquetes enviados.
Accediendo a la consola de comandos del switch víctima (si es posible), podremos ejecutar el comando show vlan , para ver cómo han surtido cambios en el switch.
Así como hicimos lo anterior, podemos borrar una o todas las VLAN con los ataques a VTP entrando en deleting one vlan y deleting all vlans.
¿CÓMO PROTEGERNOS DE ATAQUES A DTP Y VTP? El ataque anterior se pudo lanzar con éxito debido a una pequeña vulnerabilidad, el DTP, la forma en que los puertos admiten enlaces troncales de manera predeterminada.
Al igual que con BPDU, aplicaremos la siguiente configuración a los puertos no troncales de la topología y que son de acceso, como los que utilizamos para conectar ordenadores e impresoras. switchport mode access
pone al puerto en modo de acceso, o sea, que servirá
exclusivamente para transportar paquetes de una VLAN. Cabe mencionar que, aunque ya esté en modo de acceso, aun puede negociar un enlace con limitaciones con un puerto troncal. switchport nonegotiate
línea que negará cualquier negociación para cambiar el
enlace de acceso que propone el puerto del switch.
CONCLUSIÓN Como pudimos ver en el desarrollo de las prácticas, existen diferentes formas efectivas para defendernos de los ataques MiTM o cualquier ataque.
Las herramientas con las que contamos, como yersinia son de gran utilidad para un atacante porque te facilitan la tarea, además de que te proporcionan más confiabilidad de que los ataques serán lanzados de manera correcta y para los propósitos que se buscan alcanzar.
Hoy en día es muy importante tener conocimientos sobre la protección de nuestros dispositivos, ya que como pudimos notar, con un poco de practica es posible poder interceptar la información del dispositivo que nos interese y sobre todo, pasar desapercibidos por este.
Claro que está que hay ataques que son blancos, debido a que únicamente buscan encontrar vulnerabilidades para poderlas arreglar, sin embargo, nunca estará de más protegernos de las mejores maneras para que no tengamos ninguna pérdida, ya que como organización podemos perder tanto prestigio, como dinero o incluso clientes, entre otros y a nivel personal, nuestros datos personales e íntimos podrían quedar expuestos de distintas maneras.