Amenazas en redes
Herramientas de seguridad para redes: recopilaci贸n de informaci贸n y an谩lisis de tr谩fico
Índice de Contenidos Seguridad en Sistema Informáticos Amenazas a la seguridad Tipos de ataques Fundamentos de redes Elementos de redes de computadores Cómo obtener datos de la red Cómo detectar sniffers Herramientas Conclusiones
2
Seguridad en Sistemas Informรกticos
3
Seguridad en Sistemas Informáticos
La seguridad debe garantizar: Confidencialidad Integridad Disponibilidad (Autenticación - No repudio) (Trazabilidad)
La mejor arma para defendernos de ataques es utilizar el sentido común en el diseño de sistemas y contemplar todas las posibilidades: claves robustas, cambio periódico de claves, formación del personal, cuidado en la eleeción de nombres de equipos, etc. Una máxima: El sistema de seguridad no puede ser más valioso que el sistema o los datos que protege. 4
Seguridad en Sistemas Informáticos
“El sistema de seguridad nunca puede ser más costoso que la información que protege” “Un sistema de seguridad es tan seguro como su eslabón más débil”
Para poder defender nuestros sistemas, es necesario conocer la forma en que los atacantes actúan y cuáles son sus armas. 5
Amenazas a la seguridad
6
Amenazas a la seguridad Existen cuatro tipos de amenazas genéricas: Interrupción: Hace que el objetivo del ataque se pierda, quede inutilizable o no disponible. Interceptación: Consiste en acceder a un determinado objeto del sistema. Modificación: Además de la interceptación, el objeto del ataque es modificado. Fabricación: Modificación destinada a suplantar el objeto real. 7
Amenazas a la seguridad Origen de las amenazas Personas: Personal de la organización. Ex-empleados. Terroristas. Curiosos. Crackers. (atacantes malignos con el objetivo de utilizar, modificar o incluso destruir) Intrusos remunerados. Ingeniería social Catástrofes: Sean naturales o artificiales, constituyen la amenaza menos probable. Terremotos, incendios, inundaciones, fallos eléctricos, etc. 8
Amenazas a la seguridad Origen de las amenazas: Amenazas L贸gicas: Son todo tipo de programas que de una forma u otra pueden da帽ar nuestro sistema, ya sea intencionadamente o por error. Software incorrecto (exploits). Herramientas de seguridad Puertas traseras Bombas l贸gicas Virus (gusanos, troyanos, programas conejo o bacteria) T茅cnicas Salami
9
Fundamentos de redes
10
Fundamentos de redes Protocolo TCP/IP
Nivel Aplicación
Nivel Transporte
Nivel Internet
Nivel Aplicación: Es nivel que las aplicaciones más comunes usan para comunicarse a través de una red con otros programas. Incluye protocolos de alto nivel como HTTP (Hyper Text Transfer Protocol), FTP (File Transfer Protocol), etc.
Nivel Enlace
Nivel Físico
11
Fundamentos de redes Protocolo TCP/IP
NivelAplicación Aplicación Nivel
NivelTransporte Transporte Nivel
Nivel Internet Internet Nivel
Nivel Enlace Enlace Nivel
Nivel Físico Físico Nivel
Nivel Transporte: Los protocolos del nivel de transporte se encargan de gestionar la fiabilidad y el orden de recepción de los paquetes enviados. También en este nivel se determina a qué aplicación (puerto) van dirigidos los datos. Existen dos protocolos fundamentales: TCP (fiable y orientado a conexión) y UDP (sin gestión de conexión).
12
Fundamentos de redes Protocolo TCP/IP
NivelAplicación Aplicación Nivel
NivelTransporte Transporte Nivel
Nivel Internet Internet Nivel
Nivel Enlace Enlace Nivel
Nivel Físico Físico Nivel
Nivel Internet: Este nivel se encarga de transportar paquetes a través de una red sencilla. Incluye el enrutamiento de paquetes a través de la red. El protocolo fundamental es el IP (Internet Protocol) que permite asignar direcciones únicas a los sistemas. Otros como ICMP (Internet Control Message Protocol) pueden ser considerados de este nivel a pesar de estar por encima de IP.
13
Fundamentos de redes Protocolo TCP/IP
NivelAplicación Aplicación Nivel
NivelTransporte Transporte Nivel
Nivel Internet Internet Nivel
Nivel Enlace Enlace Nivel
Nivel Físico Físico Nivel
Nivel Enlace: Especifica cómo son transportados los paquetes sobre el nivel físico, incluyendo los delimitadores. Es dependiente del hardware de red que utilicemos (tarjeta de red). Podemos encontrar tecnologías como Ethernet, ATM, token ring, etc. A este nivel se corresponden las direcciones MAC (Medium Access Control address). 14
Fundamentos de redes Protocolo TCP/IP
NivelAplicación Aplicación Nivel
NivelTransporte Transporte Nivel
Nivel Internet Internet Nivel
Nivel Enlace Enlace Nivel
Nivel Físico Físico Nivel
Nivel Físico: Describe las características físicas de la comunicación. Detalla los conectores, código de canales y modulación, potencias de señal, longitudes de onda, temporización, etc.
15
Fundamentos de redes Esquema redes TCP/IP Aplicación
Aplicación
Transporte
Transporte
Red
Red
Red
Enlace
Enlace
Enlace
Enlace
Física
Física
Física
Física
1110010111011100101001101111001011
Protocolos TRANSPORTE: (TCP) Transmission Control Protocol (UDP) User Datagram Protocol
1001001100101010011001010100110
Protocolos RED: (IP) Internet Protocol (ICMP) Internet Control Message
Protocolos ENLACE: (ARP) Address Resolution Protocol
16
Fundamentos de redes Protocolo TCP/IP
Sistema Origen (Dir. IP1)
Sistema Destino (Dir. IP2)
Dato X
Dato X Paquete X1
Paquete X2
Dir. MAC1
Paquete X3
Dir. MAC2 Medio FĂsico
17
Fundamentos de redes Protocolo TCP/IP
En la práctica, una máquina tiene dos direcciones:
Dirección IP (Nivel Internet): 192.168.100.1 Dirección MAC (Nivel Enlace): 12:34:56:78:9A:BC
18
Fundamentos de redes Modo Promiscuo (Modo Monitor): En modo promiscuo, una máquina intermedia captura todos los paquetes que desecharía. En lugar de limitar su recorrido al nivel de enlace, los paquetes pueden pueden ser procesados por aplicaciones en los niveles superiores.
¡¡GRAN FUENTE DE INFORMACION!! Las máquinas en modo promiscuo suelen copiar cada paquete y ponerlo de nuevo en el medio para que lleguen a su destino real. 19
Fundamentos de redes Modo Promiscuo (Modo Monitor): Como herramienta de administración, el modo promiscuo resulta muy útil para conocer que paquetes atraviesan nuestra red. Es especialmente útil en los routers que unen varias redes: detectar errores, ataques, pérdida de paquetes o actividades extrañas. Como herramienta de ataque, permite obtener datos de la red. Incluso es posible obtener datos concretos de las aplicaciones de un equipo e incluso nombres de usuario y passwords. En Linux, podemos activar el modo promiscuo simplemente haciendo: sudo ifconfig <interfaz> promisc (-promisc) 20
Elementos de redes de computadores Elementos conectores: Hub: Extienden las redes LAN. Son simplemente repetidores que envían TODOS los paquetes por TODOS sus puertos conectados.
Switch: Son hubs avanzados. Son capaces de reconocer direcciones MAC de los equipos conectados a cada uno de sus puertos y redirigir el tráfico a su correcto destinatario.
Router: Conecta subredes trabajando en el nivel de RED. Es capaz de distribuir el tráfico en base a direcciones IP. Además, es capaz de ejecutar aplicaciones de control, filtrado, etc. sobre los paquetes que distribuye. 21
C贸mo obtener datos de la red
22
Cómo obtener datos de la red Sniffing (técnicas de escucha) Los sniffers son herramientas de software y/o hardware que interceptan tráfico en una red y lo muestran en distintos formatos Pueden capturar paquetes (nivel de RED: direcciones IP) o tramas (nivel de ENLACE: direcciones MAC) Algunos más sofisticados interpretan los paquetes y pueden reensamblar flujos Utilidad principal: leer el tráfico de una red Un atacante puede descubrir nombres de usuario, passwords, y otra información confidencial Muchos ataques complejos requieren del uso de técnicas de sniffing en algún momento
Otros usos: auditoría, análisis de carga, depuración, como herramienta didáctica, etc. 23
Cómo obtener datos de la red
Los sniffers de software trabajan capturando paquetes no destinados a la MAC del sistema donde residen Normalmente, un sistema responde solamente al tráfico enviado a su propia dirección MAC Si un dispositivo de red se encuentra en “modo promiscuo” el sistema lee todo el tráfico y lo envía al sniffer Cualquier protocolo que no cifre sus datos es susceptible al sniffing Los protocolos como HTTP, POP3, SNMP y FTP son los mas comúnmente capturados utilizando sniffing 24
Cómo obtener datos de la red Sniffing Pasivo Se refiere a escuchar y capturar tráfico, y es útil en redes interconectadas por hubs (o en redes inhalámbricas) donde el tráfico es visto por todos los equipos de la red. Ejemplo: Wireshark Sniffing Activo Se refiere al lanzamiento de ataques de ARP Spoofing o flooding contra un switch para poder capturar el tráfico Ejemplo: Ettercap El sniffing activo es detectable porque genera acciones, a diferencia del pasivo 25
Cómo obtener datos de la red Capturando paquetes de red: Es necesario estar en modo promiscuo y estar conectado al mismo segmento de red que la víctima. Si el elemento que une las redes es un hub (que actúa a nivel de enlace), no necesitamos realizar ningún paso adicional. En cambio, si es un router (que actúa a nivel de red o nivel internet) sólo podremos engañarlo si le saturamos o suplantamos la IP de la puerta de enlace.
26
C贸mo obtener datos de la red Capturando paquetes de red: Si lo que tenemos es un switch, sigue siendo posible capturar paquetes de la red mediante ciertas t茅cnicas.
27
Cómo obtener datos de la red Capturando paquetes de red: Un switch trabaja en el nivel de enlace, habitualmente en modo hardware para ser más rápido. En las redes con switches, la información se transmite basándose en la dirección MAC y manteniendo una tabla con los puertos físicos asignados a cada MAC
Los switches son la forma más común de segmentar redes en subredes para mejorar su rendimiento y su seguridad No distingue los protocolos del nivel superior (IP, IPX, Appletalk, etc. ) y por lo tanto toma decisiones menos inteligentes que un router.
28
Cómo obtener datos de la red Capturando paquetes de red: Un switch puede funcionar en modo aprendizaje (memorizar parejas MAC-puerto) o en modo manual. En modo aprendizaje, crea una tabla con las direcciones MAC de origen de los paquetes que van pasando por él: Si llega una nueva MAC de origen que no está en sus tablas, la guarda junto con el número de puerto por el que llegó. Si llega una nueva MAC de destino que no está en su tabla se reenvía por todos los puertos menos por el que llegó. 29
C贸mo obtener datos de la red Enga帽ando al switch: Saturaci贸n El switch tiene un espacio de memoria para direcciones limitado. Cuando la memoria se llena, es decir, cuando el switch se satura, puede actuar de varias maneras: Enviar las tramas a todos los puertos. Ignorar las direcciones que no est茅n en sus tablas. Enviar las tramas por puertos equivocados. Reiniciarse.
La defensa contra este tipo de ataques consiste en usar siempre el modo manual.
30
Como obtener datos de la red ARP poisoning Utilizado para atacar redes Ethernet y permitir a un atacante sniffear datos en una red con switch o detener un tráfico determinado. ARP poisoning usa el spoofing (suplantación de dirección) para enviar mensajes de origen falso por la red. Estas tramas contienen falsas direcciones MAC que confunden a los dispositivos de red. Como resultado, las tramas pueden ser erróneamente enviadas o reenviadas.
Prevención: Utilizar tablas estáticas para las direcciones MAC del gateway en equipos clientes. Fijar estáticamente los puertos físicos de los switches asociándolos unívocamente con las direcciones MAC 31
Cómo obtener datos de la red
Engañando al switch: ARP redirect Incluso estando en modo promiscuo, es posible que no todos los paquetes lleguen a nuestra máquina. Podemos forzar esta situación haciendo creer al resto de equipos de la subred que nuestra máquina es la puerta de enlace de la red. Para ello, podemos utilizar el paquete dsniff: Este paquete contiene una serie de herramientas para captura y análisis de paquetes de una red.
32
C贸mo obtener datos de la red Enga帽ando al switch: ARP redirect El comando arpspoof permite enga帽ar a la red enviando un paquete diciendo que la direcci贸n MAC de la puerta de enlace es precisamente nuestra MAC. Lograremos esto enviando paquetes ARP no solititadas a nuestra victima/s: sudo arpspoof -t <ip_victima> <ip_puerta_de_enlace>
33
Cómo obtener datos de la red Engañando al switch: ARP redirect La víctima procesará este mensaje y tomará nuestro equipo como puerta de enlace de la red. Este efecto es temporal, ya que la puerta de enlace verdadera también enviará sus propios paquetes. Por defecto, Linux descarta todos los paquetes que no son dirigidos a nosotros, así que para que la víctima no pierda la conexión, debemos redirigir todos los paquetes a la puerta de enlace original: echo “1” > /proc/sys/net/ipv4/ip_forward echo “0” > /proc/sys/net/ipv4/ip_forward (para desconectarlo) 34
Cómo obtener datos de la red Engañando al switch: Técnicas ICMP ICMP sirve fundamentalmente para enviar informaciones de control entre las máquinas. ICMP Redirect: Sirve para decir a una máquina que utilice una ruta (una puerta de enlace) alternativa. De este modo, podriamos decir que envíe todo su tráfico a nuestra máquina para que podamos capturarlo. ICMP Router Advertisements:Informa directamente cuál es el router.
La mayoría de los sistemas no usan estos paquetes ICMP. Incluso es posible encontrar el puerto ICMP cerrado (Puerto 8) para paquetes ICMP echo (ping).
35
Cómo obtener datos de la red Engañando al switch: Suplantar MAC de la víctima Para capturar el tráfico de una máquina o subred concreta, podemos suplantar su identidad. Enviaremos al switch paquetes ARP en los que hayamos cambiado nuestra MAC por la de la víctima. Así, el switch asociará a nuestro puerto todo el tráfico que vaya destinado a esa máquina o subred.
36
Cómo obtener datos de la red Engañando al switch: Suplantar MAC de la vícitma Sin embargo, este efecto es temporal puesto que la máquina real enviará también tramas al switch: Podemos hacer un ataque de Denegación de Servicio (DoS) a la máquina objetivo. Podemos robar todas las tramas enviando paquetes que suplanten su MAC continuamente. Los paquetes que recibamos para la víctima, debe de serle reenviados.
37
Cómo obtener datos de la red Engañando al switch: usando un hub Si tenemos acceso físico a la red, podemos capturar todo su tráfico simplemente poniendo un hub entre dos switches. Esta técnica es tremendamente efectiva y muy difícil de detectar. ¡¡LA SEGURIDAD FÍSICA ES MUY IMPORTANTE!!
38
C贸mo detectar sniffers
39
Cómo detectar sniffers
La idea es detectar equipos en la red que estén en modo promiscuo. La mayoría de las técnicas se basan en intentar que el intruso se traicione a sí mismo respondiendo a un mensaje al que nadie debería responder.
40
Cómo detectar sniffers
El método Ping: Consiste simplemente en enviar una petición ICMP echo request, con una dirección IP de destino correcta, y una dirección MAC incorrecta. Una máquina en modo promiscuo responderá a este mensaje delatándose. Algunos sniffers ya cuentan con protección ante esto mediante filtrados de direcciones MAC. El método ARP: Similar al anterior pero con paquetes ARP.
41
Cómo detectar sniffers Método de Decodificación: Consiste en establecer varias conexiones en las que se transmita sin cifrar el usuario y contraseña de cuentas ficticias. Luego, monitorizaremos dichas cuentas para detectar si algún intruso las ha utilizado y por tanto estaba a la escucha. Medidas temporales: Existen otros métodos basados en sobrecargar la red con muchos paquetes, de modo que la máquina en modo promiscuo se sobrecargue también. En este caso podríamos descubrirla comparando los tiempos de repuesta de ciertas peticiones (Por ejemplo ping).
42
Herramientas
43
Herramientas Sniffers/Capturadores de Tráfico: tcpdump: Está formado por un conjunto de programas cuya utilidad principal es analizar el tráfico que circula por la red. Ofrece múltiples opciones usando parámetros al ejecutarlo: tamaño de paquetes capturados, resolución de nombres de máquinas, redirección a fichero de los resultados, etc. Para ejecutarlo: tcpdump -i <interfaz>
44
Herramientas Sniffers/Capturadores de Trรกfico: tcpdump: Permite establecer filtros para determinar que paquetes capturar en base a tres modificadores: Tipo: Puede ser host (una mรกquina), net (una red) o port (un puerto/protocolo). tcpdump -i eth0 host este.uvigo.es Direcciรณn del flujo: Puede ser src (origen) o dst (destino). tcpdump -i eth0 src este.uvigo.es Protocolo: Puede ser tcp, udp, ip, ether, arp, y muchos otros. tcpdump -i eth0 tcp 45
Herramientas Sniffers/Capturadores de Trรกfico: tcpdump: Los filtros pueden combinarse mediante conectores lรณgicos (and, or y not) para generar filtros mรกs complejos: tcpdump -i eth0 tcp and host este.uvigo.es tcpdump -i eth0 http or telnet tcpdump -i eth0 tcp and (port 22 or port 23)
46
Herramientas Sniffers/Capturadores de Tráfico: Wireshark (Antes Ethereal): Es un analizador de tráfico de red OpenSource de gran potencia. Es un front (una interfaz) para tcpdump por lo que sus funcionalidades son las de éste, más algunas propias de la interfaz. Proporciona poderosos filtros de captura y de visualización así como estadísticas del tráfico de red.
47
Herramientas Sniffers/Capturadores de Tráfico: Wireshark: Funcionalidades: Opciones de captura. Tres visualizaciones de los datos: resumido, por protocolos y binario. Muestra identificador, marca de tiempo, IP origen, IP destino, protocolo e información extra. Filtros de captura: Similares a tcpdump, pero además permite acceso a bytes concretos del paquete (icmp[0]==8). Filtros de captura predefinidos. Filtros de visualización con acceso a bytes concretos (tcp.flags). Estadísticas detalladas: por protocolos y conversaciones.
48
Herramientas Sniffers/Capturadores de Tráfico: Wireshark: Paquetes TCP: src > dst:flags [dataseq ack window urgent options]
src: Dirección y puerto de origen. dst: Dirección y puerto de destino flags: Dan información de control y tipo del paquete ack: Indica el número siguiente de secuencia que espera recibir en una comunicación. este.uvigo.es.2 > servidor.uvigo.es.22: . ack 2 49
Herramientas Sniffers/Capturadores de Tr谩fico: Wireshark: Paquetes UDP: src.srcport > dst.dstport: udp len
src: Nombre o direcci贸n de origen srcport: Puerto de origen dst: Nombre o direcci贸n de destino dstport: Puerto de destino len: Longitud de los datos del usuario 192.168.100.11.1050 > 192.168.100.33: udp 121 50
Herramientas Escaneado de puertos: NMap: Es probablemente una de las herramientas mรกs completas para escanear redes. Normalmente se instala por defecto en todas las distribuciones de Linux. Se basa en el intercambio y anรกlisis de paquetes TCP con las mรกquinas objetivo. Es capaz de reconocer el Sistema Operativo de una mรกquina, los servicios que estรกn activos y las versiones de los mismos.
51
Herramientas Escáneado de puertos: NMap: Es muy sigiloso y difícil de detectar. Como herramienta de administración, permite encontrar vulnerabilidades antes que los atacantes. Usa una base de datos de ‘huellas’ (OSfingerprint) para identificar remotamente el Sistema Operativo.
52
Herramientas Escáneado de puertos: NMap: Técnica Básica:
Nuestro Sistema NMap
Intento de conexión TCP (Flag SYN)
Sistema Objetivo IP: 192.168.100.1 Puerto 8
53
Herramientas Escáneado de puertos: NMap: Técnica Básica:
Nuestro Sistema NMap
Si no hay servicio devuelve Flag RST
Sistema Objetivo IP: 192.168.100.1 Puerto 8
¡Sabemos que ese puerto está cerrado! 54
Herramientas Escáneado de puertos: NMap: Técnica Básica:
Nuestro Sistema NMap
Si hay servicio envía Flags SYN y ACK
Sistema Objetivo IP: 192.168.100.1 Puerto 8
55
Herramientas Escáneado de puertos: NMap: Técnica Básica:
Nuestro Sistema NMap
Envía un ACK que estable la conexión
Sistema Objetivo IP: 192.168.100.1 Puerto 8
56
Herramientas Escáneado de puertos: NMap: Técnica Básica:
Nuestro Sistema NMap
Envía un RST que cierra conexión
Sistema Objetivo IP: 192.168.100.1 Puerto 8 ¡Sabemos que ese puerto está abierto y tiene un servicio escuchando! Pero... Saben que hemos estado ahí :(
57
Herramientas Escáneado de puertos: NMap: Técnica Sigilosa:
Nuestro Sistema
Intento de conexión TCP (Flag SYN)
NMap
Sistema Objetivo IP: 192.168.100.1 Puerto 8
58
Herramientas Escáneado de puertos: NMap: Técnica Sigilosa:
Nuestro Sistema NMap
Si hay servicio envía Flags SYN y ACK
Sistema Objetivo IP: 192.168.100.1 Puerto 8
59
Herramientas Escáneado de puertos: NMap: Técnica Sigilosa:
Nuestro Sistema NMap
Envía un RST que cierra conexión
Sistema Objetivo IP: 192.168.100.1 Puerto 8 ¡Sabemos que ese puerto está abierto y tiene un servicio escuchando! Y al no haber conexión, no hay registro :)
60
Herramientas Escáneado de puertos: NMap: Usando paquetes especialmente manipulados (FIN, XMAS y NULL) con combinaciones no conocidas de Flags, NMap averigua de qué Sistema Operativo se trata en base a la respuesta obtenida. Por Ejemplo: Los sistemas Windows, ante un paquete de petición de conexión desconocido, resetean la conexión. Los sistemas Linux ignoran el paquete y no dan respuesta.
61
Herramientas Escรกneado de puertos: NMap: Ping Scan (-sP): Muestra todas las mรกquinas que responden a un ping en un rango dado. Escaneados bรกsicos (-sT y -sS): Se escanea usando conexiรณn TCP completa o sigilosa respectivamente. Escaneados con paquetes imposibles (-sF, -sN y -sX): Se utilizan los paquetes FIN, Null y Xmas para determinar la informaciรณn del objetivo.
62
Herramientas Escáneado de puertos: NMap: Idle Scanning (-sI): Es una forma de escanear muy sigilosa. Se basa en predecir los identificadores que se asignaran a cada nuevo paquete IP. Se realiza suplantando a otra máquina que se conoce como zombie. Un análisis del ataque tomará al zombie como el causante. Detección de versión (-V): Intenta averiguar la versión del servicio. Completo (-A): Activa la detección de versión y el OSfingerprint. 63
Herramientas Otras Aplicaciones: Ettercap: Otro capturador analizador de paquetes. Soporta escucha activa y pasiva de varios protocolos. Permite inyectar datos en una conexión ya establecida emulado comandos o respuestas. Puede realizar ataques Man-in-the-middle Puede interceptar y fabricar tráfico SSH, SSL y HTTPS. Admite plugins para recolección de contraseñas, filtrado y sustitución de paquetes, OS fingerprint
Aircrack: Suite completa para descifrar claves WEP de redes wireless. Superscan: Potente (aunque no tanto como nmap) escaneador de puertos. 64
Conclusiones
Existen herramientas tan potentes que la seguridad mediante la oscuridad mediante la falta de informaci贸n, no es eficiente.
El cifrado de los datos es fundamental en la seguridad de los sistemas inform谩ticos.
65
Amenazas en redes
Herramientas de seguridad para redes: recopilaci贸n de informaci贸n y an谩lisis de tr谩fico