01
abril
2019

¿Qué es un Sniffer?

Un Sniffer es una aplicación especial para redes informáticas (un software) que se encarga de capturar y analizar paquetes en tránsito (entrada y/o salida) en una red de comunicaciones entre dispositivos.

Sniffer, del inglés sniff: olfatear, rastrear, puede entenderse como un programa con la capacidad de observar el flujo de datos en tránsito por una red, y obtener información de éste; está diseñado para analizar los paquetes de datos que pasan por la red y no están destinados para él, lo que bajo ciertas circunstancias es muy útil, y bajo otras, a la vez, muy peligroso.

De forma general, están disponibles para varias plataformas, tanto en las versiones comerciales como en las libres.

Algunos de los paquetes más simples son muy fáciles de implementar, utilizando una línea de comandos y descargando los datos capturados a la pantalla; los proyectos más complejos, utilizan una interfaz gráfica del usuario, y muestran estadísticas del tráfico en gráficos, realizan un seguimiento de varias sesiones y ofrecen varias opciones de configuración. Los sniffers de red pueden ser empleados, además, como “motores” para otros programas como los IDS (Sistemas de Detección de Intrusos), que suelen utilizarlos para localizar los paquetes que coinciden con las reglas designadas para definir el tráfico como malicioso o extraño.

Un sniffer, además, puede ser empleado por administradores de red para realizar determinadas mediciones del tráfico, de manera que se obtengan análisis e informes del origen de la información, el destinatario de la misma, el servidor que se ocupa del proceso, y el tipo de paquete de datos que se está transmitiendo, entre otros aspectos.

Los datos recolectados por un sniffer pueden ser más valiosos de lo que aparentan a primera vista, pues con la aplicación adecuada, es posible obtener información muy detallada; de ahí que su uso, si bien no tienen por qué ser un factor de preocupación, sí lo puede acabar siendo dependiendo de cómo se acceda a los paquetes de datos y quién accede a ellos. 

Funcionamiento:

Una aplicación sniffer configura la tarjeta de red (NIC) de un dispositivo (frecuentemente de una PC o laptop), para que deje de ignorar a todo el tráfico dirigido a otros equipos y preste atención a ello.

En otras palabras, coloca a la tarjeta de red en un estado conocido como “modo promiscuo”, el cual no descarta los paquetes que no son para su dirección MAC, sino que los almacena y lee. Una vez que esto sucede, una máquina puede ver todos los datos transmitidos en ese segmento de red.

El programa entonces comienza una lectura constante de toda la información que entra en el dispositivo a través de la tarjeta de red. Los datos que viajan por la red se presentan como paquetes o ráfagas de bits con formato para protocolos específicos, debido a lo cual un sniffer puede filtrar las capas de encapsulado y decodificar la información relacionada con el equipo de origen, el equipo de destino, número previsto de puerto, capacidad de carga, y otras informaciones que se intercambian entre dos dispositivos en la red.

Un sniffer no busca infectar el sistema con otras amenazas. Tampoco puede causar ningún problema en el rendimiento o estabilidad; no obstante, puede fácilmente causar problemas relacionados con la privacidad.

Este tipo de aplicación no necesita muchos recursos del sistema y puede no tener una interfaz gráfica de usuario, por lo que es muy complicado detectarlo. Los sniffers no son virus y por ello, no pueden propagarse a sí mismos y deben ser “controlados“ por ciertas personas.

Un sniffer puede ser manualmente instalado por el administrador del sistema o cualquier usuario que alcance suficientes privilegios para instalar el programa. En cualquier caso, la amenaza de la privacidad puede ser instala sin que el usuario afectado tenga conocimiento, ni mucho menos brinde su consentimiento.

Esta forma de operar puede considerarse como un “ataque pasivo”, ya que no altera el funcionamiento de la red.

¿Para qué usar un sniffer?

Los sniffers tienen la “mala fama” de ser utilizados de forma habitual por hackers que no tienen buenas intenciones con el objetivo de acceder a los datos que consiguen estas aplicaciones; sin embargo, no suelen ser el único tipo de personas que los aprovechan. Existen personas (generalmente administradores de red) en empresas o a título personal, que los emplean de una manera totalmente legal y ética, para llevar a cabo acciones que pueden ser muy beneficiosas en su trabajo.

Una de las tareas que se pueden realizar con sniffers es la administración de todo lo que ocurre dentro de la red LAN de una entidad, de forma tal que el administrador tendrá el control total de forma máxima, y no habrá nada que se le escape; también será posible realizar auditorías completas de las redes, comprobar el tráfico que entra y sale de una entidad, y monitorizar en base a ello su comportamiento.

Otro punto positivo se encuentra en sacar partido a los sniffers como forma de realizar hacking ético, a fin de comprobar cuáles son las vulnerabilidades que existen en las redes de una entidad, y poder pasar a la fase de protegerlas para que nada de lo detectado pueda ocurrir, a fin de evitar cualquier tipo de amenaza de espionaje, el ataque de ciberdelincuentes y reforzar los niveles de seguridad.

Al realizar la identificación de los paquetes que circulan a través de la red que se administra, el profesional a cargo de la supervisión de la seguridad informática puede estar al tanto de todo lo que ocurre y saber cómo actuar en cada caso. 

Por otro lado, los sniffers también pueden ser empleados de mala fe (lo que ocurre con relativa frecuencia), para intervenir en una red y robar información como accesos y claves mal encriptadas, por ejemplo.

Como protección, continuamente se crean y refuerzan los sistemas de seguridad, así como los métodos de cifrado que cada vez son más avanzados y difíciles de descifrar, lo que dificulta la intervención de terceros malintencionados.

Algunos sniffers “populares”:

Los sniffers son considerados aplicaciones bastante raras que están repletas con prácticamente la misma funcionalidad. Los siguientes ejemplos ilustran la típica actividad de algunos de los más utilizados:

  • Wireshark (antiguamente llamado Ethereal): utilizado para realizar análisis y solucionar problemas en las redes de comunicaciones para desarrollo de software y protocolos y en algunos casos, como una “herramienta didáctica” para la educación. Ofrece una interfaz gráfica de usuario, muestra filtros y herramientas integradas de edición de paquetes, soporta una amplia lista de protocolos diferentes y trabaja en casi cualquier red y sistema operativo.
  • Ettercap: es un interceptor/registrador para LANs con switch. Soporta direcciones activas y pasivas de varios protocolos (incluso aquellos cifrados, como SSH y HTTPS). También hace posible la inyección de datos y el filtrado en una conexión establecida.
  • BUTTSniffer: es un programa diseñado por completo con propósitos maliciosos, que soporta múltiples protocolos de red, permite filtrar los datos obtenidos y guardar esa información en un archivo. Puede trabajar como aplicación solitaria o como plugin para otras aplicaciones.
  • Kismet: es un husmeador de paquetes, y un sistema de detección de intrusiones para redes inalámbricas 802.11 (WiFi). Funciona con cualquier tarjeta inalámbrica que soporte el modo de monitorización raw, y puede rastrear tráfico de los protocolos 802.11b, 802.11a y 802.11g.
  • TCPDUMP: es una herramienta en línea de comandos cuya utilidad principal es analizar el tráfico que circula por la red. Permite al usuario capturar y mostrar en tiempo real los paquetes transmitidos y recibidos en la red a la cual el ordenador está conectado.

Topología de redes y sniffers

La cantidad de tramas que puede obtener un sniffer depende de la topología de la red, del modo donde esté instalado y del medio de transmisión.

Para redes antiguas con topologías en estrella, un sniffer se podría instalar en cualquier nodo, ya que lo que hace el nodo central es retrasmitir todo lo que recibe a todos los nodos. Sin embargo, en las redes modernas, en las que solo lo retrasmite al nodo destino, el único lugar donde se podría poner el sniffer para que capture todas las tramas de datos sería el nodo central.

Para topologías en anillo, doble anillo y en bus, el sniffer se puede instalar en cualquier nodo, ya que todos tienen acceso al medio de transmisión compartido.

Para las topologías en árbol, el nodo con acceso a más tramas sería el nodo raíz, aunque con los switches más modernos, las tramas entre niveles inferiores de un nodo viajan directamente y no se propagan al nodo raíz.

El uso de switches y routers incrementa la seguridad de la red, ya que limita el uso de sniffers al dirigirse las tramas únicamente a sus correspondientes destinatarios.

Protección contra los sniffers:

Los sniffers son difíciles de detectar, ya que, al ser atacantes pasivos, dejan pocos rastros de su intromisión. Una forma de identificarlos es ver si existe alguna tarjeta de red en modo promiscuo.

Uno de los métodos más eficaces para la protección contra sniffers es el uso de criptografía de los datos, que consiste en cifrar los datos bajo una serie de códigos que solo pueden ser interpretados con el conocimiento de los mismos. Este método es usado en la mayoría de las páginas WEB donde se requieren datos o contraseñas, ya que estas son de suma importancia y nadie ajeno debe conocerlas.

También es posible defenderse utilizando propiamente un sniffer, ya que con su uso se puede determinar qué datos salen del dispositivo, y a donde van a parar; en otras palabras, un sniffer puede combatirse con otro sniffer, que logra detectar al primero, y obtener su dirección IP y MAC, para posteriormente bloquearlo. Además, existen programas conocidos como anti-spyware y anti-sniffing, para detectar este tipo de intrusos en la red y bloquearlos.

También existen otras dos defensas importantes a tener en cuenta para proteger la privacidad contra los sniffers: la segmentación de la red y el cifrado.

Los sniffers generalmente sólo pueden capturar los datos en el mismo segmento de red, lo que significa que mientras más segmentada se encuentre esta, menos información podrá recopilar. El empleo de switches y routers ayuda en este sentido.

Las sesiones cifradas proporcionan una solución diferente. En lugar de temer a la captura de los datos, simplemente se cifra y se dificulta su comprensión. Navegar siempre por sitios web cifrados (https) y enviar archivos importantes igualmente encriptados.

Una medida mucho más efectiva con un nivel de complejidad técnico superior, es utilizar una VPN (red privada virtual), que cifra todo el tráfico y oculta los sitios WEB, los servicios y las aplicaciones que se utilizan. El empleo generalizado de esta estrategia pudiera dificultar, y quizás imposibilitar, en los próximos años, la tarea del atacante empleando sniffers.

De forma general, la lucha contra los sniffers es un tema de permanente actualidad: cada vez se desarrollan técnicas más sofisticadas para su detección, casi al instante, se crean nuevos modelos de sniffers que las burlan. No obstante, es fundamental que cualquier administrador de seguridad conozca todos los programas que pueden ayudar a detectar sniffers en sus redes, junto a las técnicas de evasión que un atacante puede utilizar para luchar contra ellos, para así comprender cuál es el valor exacto de los resultados que puede esperar de sus herramientas.

Una buena estrategia de seguridad, para la inmensa mayoría de los casos, sigue siendo implantar un programa de inspección periódica de la infraestructura de red, capaz de detectar sniffers, desactivar tarjetas “promiscuas” y disparar alarmas.

La compañía Infotecs es pionera en el desarrollo de VPN. La tecnología de protección de las redes de trasmisión de datos conocida en el mercado con la marca comercial ViPNet, garantiza el cifrado robusto punto a punto y garantiza la segmentación de la red con los Gateways ViPNet Coordinators.

Si deseas conocer más sobre ViPNet Network Protection: ViPNet VPN