Archivo de posts de la categoria: ‘Networking’

Ataque tipo: Man in the middle

Domingo, enero 9, 2011 @ 06:01 PM

A pesar de que existen herramientas específicas usadas por los pentesters y auditores de seguridad (además de terceros con peores intenciones…) para realizar este tipo de operaciones, vamos a enfocar el proceso paso a paso con el fin de entenderlo y poder atajar sus efectos.

Herramientas como Cain, Nemesis o Ettercap hacen este tipo de procesos/ataques a las mil maravillas, con variantes e ingredientes añadidos, pero la base de un MITM (Man In The Middle), pasa por entender lo que ocurre cuando enviamos algo a otro sistema informático.

Normalmente, las personas retenemos mal una secuencia de números de cierto número de cifras pero nos es mucho mas fácil de retener una secuencia de letras porque le vemos mas sentido.

Por ello los dominios tienen nombres como:  google.com

Esta cadena de caracteres (“google.com”), nos resulta mas amigable que un  74.125.230.81

Ese conjunto de números es lo que denominamos IP y todos ya tenemos en nuestro vocabulario común. Más concretamente una IPv4 consistente en 32 bits agrupadas en 4 grupos de un byte cada uno (1 byte=8 bits), de ahí los puntos entre los números. Dado que este tipo de información es tan básico dejaremos que quien precise mas información sobre IPs vaya aquí.

El caso es que cuando introducimos una dirección como “www.google.com” en un programa, el ordenador no tiene la mas remota idea de donde está esa web, equipo, servicio o lo que quiera ser esa cadena de caracteres.

Por ello “pregunta” a otros ordenadores, denominados servidores DNS ago como (entiendase conversación entre ordenadores :-D ):

Tu equipo: ” -¿Sabría usted decirme la IP de esta cadena que me ha pedido el usuario?

El servidor DNS: “-Si claro, como no… vaya a la dirección 74.125.230.81 y olvidese de lo que su usuario le ha pedido. Comprobara que pese a esto, su usuario se siente satifecho con lo que usted le ofrece…(porque es lo mismo)

La cosa es que el equipo “va” a la dirección IP y no al nombre que el usuario ha pedido, porque si bien son lo mismo, podemos decir que el texto es la forma en la que se refieren los usuarios a un determinado sitio/equipo/web/servicio, mientras que los números (IP), es la forma de denominarlo que tienen los ordenadores…

Ahora la pregunta es:

¿Y que ocuriría si el servidor DNS al que preguntas…resulta ser un suplantador del original?

Podría dirigir cualquiera de las peticiones que el usuario efectúa, hacia cualquier otro lugar…

Ese suplantador, es uno de tantos tipos de man in the middle, si bien veremos otros tipos de forma mas profunda.

Este ataque es de fácil realización por várias técnicas, si bien la de modificar la configuracíón del router de acceso a internet del usuario o cambiar las DNSs de su equipo son las mas fáciles y utilizadas.

Sigamos profundizando algo más en la comunicación entre equipos.

Hemos visto que las cadenas de caracteres se transforman en IPs, pero hay pasos adicionales.

Veámoslo con ejemplos.

Si utilizas MS Windows (si usas Linux y no sabes que es una shell…mal lo llevamos…), pulsas inicio, ejecutar y tecleas “cmd” (+ enter), para abrir una de esas consolas negras “que no sirven para nada porque no tienen iconos…:-)”

Si en dicha consola (a la que denominaremos “shell”), tecleas hostname y verás el nombre de tu equipo y si introduces el comando “ipconfig” (ifconfig en Linux), verás la dirección IP de tu ordenador.

Pero hay más…

Si hacemos un ping (simplificando: comando para comprobar que el destinatario responde) a tu propia ip, comprobarás que responde a la petición.

Podríamos decir que la dirección IP es otro número “impuesto” al equipo (como el número de la seguridad social, o del carnét de conducir), si bien no es propio del equipo por construcción.

Hay otro número (hablando en binario), que SI que es intrinseco al equipo y que viene en su “ADN”, pues se le otorga durante su contrucción y se supone único a nivel mundial… “:-/”

A este número se le denomina dirección MAC o dirección física y cada tarjeta de red tiene uno diferente.

Una vez que un ordenador sabe a que IP debe enviar su mensage/peticion/lo que sea…dentro de una LAN (red local) pregunta a dicho equipo por su dirección MAC.

Tu ordenador:  “-Oye 192.168.1.23, te importa darme tu dirección física para enviarte los datos?, por cierto, la mía la tienes en mi propia petición

El otro equipo/router/aparato: “-Si claro, mi MAC es esta: 00:1E:0B:00:2F:3C

La representación se suele realizar en formato hexadecimal, ya que es mas corto que el mismo número en binario que sería este:

1111000001011000000000010111100111100

Que a su vez corresponde a este otro en decimal (formato numérico al que mas acostumbrado el está la mayoria de NO informáticos…)

129033580348

Así como el protocolo para resolver una IP, en base a una FQDN (Full Qualified Domain Name) como www.google.com, el algoritmo utilizado era DNS… existe otro algoritmo utilizado para resolver direcciones MAC en base a una dirección IP: Se denomina ARP (Address Resolution Protocol).

E xiste una forma de ver las direcciones MAC que un ordenador tiene en cache, o dicho de otro modo, las ultimas y mas habituales a las que ha contactado durante los ultimos instantes. El comando es “arp -a“. Con dicho comando veremos una lista de equivalencias entre IPs y MACs, que usa el equipo para no tener que resolver direcciones que ya haresuelto hace poco tiempo (segundos/minutos dependiendo de configuraciones).

Cualquier trama que un equipo envía, incluye la dirección MAC de éste (así como su IP), y por tanto un simple ping a la IP de un equipo, desencadena la resolución de su dirección física (a no ser que la tengamos ya en memoria, por una transmisión reciente anterior).

Ahora bien, el ataque del que hablamos, se cimenta en este mecanismo de resolución.

Supongamos que desde tu equipo estás conectado a internet mediante un router. Ello implica que tanto router como tu equipo tienen la IP y MAC del otro y de ese modo transmiten datos entre ambos (y tambien al resto del mundo).

Como sabemos, todo lo que se envía, se pasa en un momento u otro a binario (ceros y unos), y por tanto entre ese conjunto de ceros y unos debe estar incluida la información de la IP, la MAC y otros datos. Si sabemos exactamente donde y conseguimos realizar un falseado de los mismos…tendremos desencadenado el ataque y conseguiremos “ver” todo el tráfico que intercambien los equipos atacados (en este caso un equipo y su router de internet).

El esquema quedaría de este modo:

Veamos el proceso paso a paso:

1.- Cuando el equipo víctima y el router, quieren comunicar entre si,  intercambian sus ips y direcciones MAC por medio de ARP

2.- Este mecanismo se realiza de vez en cuando para refrescar la información.

3.- El atacante consigue la ip y la mac de ambos (equipo victima y router), por medio de un simple ping a cada uno( u otro mecanismo cualquiera).

4.- Falsea la información de ambos equipos (equipo víctima y router) y ellos mismos empiezan a mandarle la información “creyendo” que
lo hacen a su legítimo interlocutor.

Ahora vamos a la práctica:

El atacante hace un simple ping a los equipos víctima:

Además captura una trama para modificarla:

Esta trama, almacenada en formato “pcap”, puede almacenarse en un fichero y modificarse con un editor hexadecimal.

El atacante creará dos tramas “envenenadas”.

En la trama que , el atacante, mandará al router, cambia la mac del equipo víctima por la suya,( manteniendo la ip del equipo víctima). De este modo cada vez que el router quiera mandar datos al equipo víctima, realmente la mandará a laMAC del atacante y este observará todo el tráfico.

En la trama que enviará al equipo víctima, cambiará la MAC del router por la suya propia, para que el tráfico generado por la víctima y con destino al router, realmente vaya a parar al atacante.

Posteriormente, solo tiene que crear un pequeño script que envíe cada pocos segundos estas tramas a ambas víctimas (equipo y router), porque sino en unos segundos, ellos mismos, mandarán los datos correctos al otro y el ataque cesará. Este envío contínuo de datos manipulados es lo que llamamos envenenamiento por ARP (ARP Spoofing o ARP Poisoning).  (para los mas curiosos:el programita “file2cable”, permitirá mandar por la red el contenido de los archivos manipulados como tramas).

La víctima ahora está a merced del atacante que puede ver todo el contenido de sus transmisiones con el router así como cortarlas, almacenarlas, modificarlas antes de que lleguen a su legítimo destino, reenviarlas…

Como contramedidas o forma de protegerse de este tipo de ataque, hay programas y software de seguridad que permite bloquear o avisar ante cambios de direcciones MAC. Hay quienes optan por tener fijas ciertas direcciones como las del router, evitando su cambio sin autorización. Hay varias formas de evitar este tipo de ataques, pero lo primero para ello, es conocer como se efectúa y como consecuencia entender que elementos deben ser vigilados en una red.



Filed under: Networking, Seguridad Tagged: ARP, arp frame, ARP spoofing, DNS, man in the midle, MITM
Comentarios desactivados

Las redes Ethernet son una parte imprescindible para el funcionamiento de cualquier empresa. Este protocolo, (Ethernet), inicialmente diseñado para permitir el intercambio de datos entre operadores, es desde hace tiempo el sistema mas utilizado a nivel mundial para la transmisión de datos.

Ethernet, cabe recordar que es “un protocolo”, que define el funcionamiento de las capas 1 y 2 del modelo OSI, y que no tiene porqué ir acompañado del TCP/IP (protocolos de capas superiores), aunque sea muy habitual.

Por otro lado, las redes de almacenamiento que inicialmente se crearon sobre interface SCSI, han ido migrando en los últimos años a fibre channel, gracias a su superioridad en todos los aspectos.

Fibre channel  (FC) es una forma de transferir los comandos SCSI, que gobiernan los sistemas de almacenamiento, mediante el envío de señales ópticas  a través de fibra.

El problema de este sistema radica en que son redes mas complicadas que las ethernet y su coste es mayor, dado que requieren de electrónica especializada  (normalente de gama alta) y precisan personal más especializado tanto para su implantación como para su gestión y optimización posteriores y futuras.

El protocolo iSCSI, nos ha venido a traer un sistema, para gama baja y media, que permite encapsular los comandos SCSI sobre tramas TCP/IP y sobre una red ethernet normal. Este sistema está muy bien, pero cuando se precisa un gran rendimiento y fiabilidad los sistemas de fibra siguen siendo superiores.

El mercado (por medio de un conjunto de 10  grandes empresas y varios organismos como el IEEE), ha buscado y finalmente desarrollado un nuevo sistema llamado CEE, que no es otra cosa que una nueva Ethernet (Convergence Enhanced Ethernet) que en su primera versión parte de velocidades de 10 Gb.

Significa que rinde mas que fibre channel?, no necesariamente en esta primera verión (las características para redes de almacenamienot de FC son dificilmente superables), si bien dispone de un roadmap que no ha hecho sino empezar a ser desarrollado.

CEE no es compatible con las redes Ethernet actuales y su implantación aun muy costosa. Únicamente, CPDs de gran tamaño y para una inicial implantación pueden beneficiarse del sistema dado que pueden disponer de una única red  para comunicaciones y almacenamiento en vez de las “dos” clásicas (FC_SAN+Ethernet).

La búsqueda de esta nueva tecnología, ha sufrido la presión de la evolución de las redes de almacenamiento que buscan sistemas mas económicos y flexibles que los actuales y aqui CEE viene a tapar ese hueco.

Debía ser un sistema que permita la convergencia de ambos sistema de red y les permita crecer de forma conjunta, y parece que puede ser el camino a seguir…en un futuro.

El problema que inicialmente aparece, radica en que las tramas FC son mayores que las Ethernet y por ello se utilizan tramas “Jumbo“, para encapsular las tramas FC. De este modo, la nueva red ethernet permite incorporar servicios de almacenamiento sobre el mismo canal que los datos de comunicaciones con rendimientos similares a los de FC y por tanto economizar, en un futuro, las infraestructuras de red de las empresas. A este sistema de encapsular FC sobre CEE, es a lo que se ha venido a denominar FCoE (Fibre channel over Ethernet), pero tiene que quedar claro que no es posible realizar este tipo de transmision sobre las redes ethernet “clásicas”.

En cualquier caso, la hegemonía de fibre channel como sistema lider de entornos de almacenamiento y ethernet clásico como sistema de red, aun perdurará durante una serie de años, porque los costes y rendimiento de CEE y FCoE, aun no son ni tan ventajosos ni aportan rendimiento como para que los CIO, los tengan entre sus posibles cambios a medio corto, y medio plazo.


Publicado enAlmacenamiento, CPD, Networking Tagged: Almacenamiento, FCoE, Fibre Channel, Iñaki Casajús, iSCSI, SAN, storage
Comentarios desactivados

Así reza el eslogan de un fabricante de neumáticos, y no le falta razón.

Tambien viene al caso otra famosa frase:  “Lo que mides es lo que tienes” (Que afirma que si no se conoce el estado de algo, no es posible afirmar que funciona correctamente o se le saca todo el partido de que es capaz)

Ambas frases aportan algo tan simple como la necesidad que existe de medir y controlar todos los aspectos del centro de datos.

Hay ciertos aspectos fácilmente medibles, pero otros son de más difícil consecución.

Pongamos un ejemplo:

Se adquiere un switch con 48 puertos  Gigabit y una vez instalado se comienza a agregar tráfico por cada uno de esos puertos. Una vez se empieza a detectar que existe un descarte  de paquetes, colisiones de red u otros problemas es muy fácil detectar el problema pero hubiese sido más efectivo conocer que la CPU del dispositivo no puede con ese nivel de tráfico. El problema reside en que no todos los switches nos informan directamente de su nivel de carga de CPU,  throwput total y otros valores importantes que permitan conocer en cada momento el estado del mismo y el potencial de desempeño libre que dispone en cada momento.

Herramientas como los gestores SNMP, Nagios o  Network PRTG, por poner algunos de los más conocidos, son hoy en día indispensables en el centro de datos y permiten un control pormenorizado de los elementos y servicios .

Igualmente, cada elemento a incluir en el equipamiento del centro de datos debe ser compatible con protocolos de monitorización estandarizados, huyendo siempre de los métodos propietarios de unos u otros fabricantes.

De igual importancia son la correcta gestión de los mensajes, alertas, e-mails, alarmas sonoras y demás señales que estas herramientas generan y que deben ser tratadas, de forma automatizada unas y de forma manual otras.

Switch Virtual

Switches Virtuales

Un reto actual consiste en monitorizar con la misma capacidad, flexibilidad y potencia las redes virtuales que se están apoderando de los centros de datos. Los datos que pasan por los “virtual switch”, no son tan fáciles de monitorizar como lo son en este tipo de elementos físicos tradicionales y si bien es cierto que ya empiezan a surgir herramientas que facilitan estos menesteres, no se conseguirá un control  perfecto mientras estos switches virtuales no incluyan interfaces snmp, y módulos creados al efecto.

Posted in CPD, Networking Tagged: Monitorización, Nagios, Network PRTG, Networking, SNMP
Comentarios desactivados