4.3 Sniffers
4.3 Sniffers
4.3 Sniffers
4.3 Sniffers
4.3.1 Concepto
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 ya que puede fácilmente causar problemas relacionados con la privacidad.
En muchas ocasiones, los administradores utilizan estas herramientas para mantener un
flujo constante de tráfico en sus redes. Pueden detectar grandes consumos de ancho de
banda, por ejemplo, de alguien que haga un uso intensivo de programas para compartir
archivos, y tomar las medidas oportunas.
4.3.2 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.
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.
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.
Pasive Sniffing
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.
Active Sniffing
Cuando el “sniffing” es realizado en un “Switched Network” a esto se refiere con “Active
Sniffing”, funciona enviando paquetes en el network, mientras los “switches” mantienen
una tabla ARP manteniéndose al tanto del “network” y sus puertos respectivos. El
atacante puede enviar direcciones de MAC falsos (MAC flooding) intentando “envenenar”
la red. Puede ser un método fácil de detectar.
Cómo vimos anteriormente, los Sniffers son programas utilizados para capturar cualquier
tipo de información que pueda transitar a través de una red LAN, desde un e-mail, hasta
contraseñas o mensajes de todo tipo. Pero esto, no implica que los Sniffers tengan que ser
utilizados exclusivamente para realizar ataques informáticos maliciosos, aunque estos
últimos son muy comunes ya que es una herramienta que puede ser utilizada por un
Hacker para obtener la información que necesita de una red o de un usuario en general.
Existe también la opción de utilizar Sniffers, para realizar tareas lícitas dentro de una red,
entre las cuales podemos destacar:
Para 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.
Podemos decir entonces, que un Sniffer es una herramienta bastante versátil que puede
ser de gran ayuda para los administradores de redes LAN, sean estas comerciales,
educativas o domésticas. Al utilizarlas, se podrá facilitar enormemente las tareas de
monitoreo de paquetes.
HTTP: Un sniffer HTTP es un software que escanea y registra toda la actividad HTTP de un
sistema, más claro, registra toda la actividad de los navegadores Web (aunque si algún
otro software utiliza el protocolo HTTP el sniffer nos mostrará también datos sobre estas
conexiones).
Otra de las ventajas que ofrece el protocolo IMAP es que puede seleccionarse la carpeta
(mailbox) desde donde se descargarán los mensajes de correo. En el servidor de correo,
para cada cuenta puede haber varias carpetas (Bandeja de Entrada, Mensajes Enviados, y
carpetas creadas por el mismo usuario). Utilizando el protocolo POP3 se descargan los
mensajes que residen en la carpeta por defecto (Bandeja de Entrada o Inbox).
MAC Flooding:
Limitación de puertos
Una de estas características es la de limitar en cada puerto la cantidad de direcciones MAC
que va a poder aprender. De esta manera, una vez que llega al máximo descarta todas
aquellas que sean desconocidas. Así se evita el ataque MAC Flooding que hemos
explicado.
Asignación estática de direcciones MAC
También podemos optar por configurar el switch para que asigne únicamente direcciones
MAC de forma estática. Esto nos permite que únicamente paquetes de ciertas MAC
puedan ser procesados.
Deshabilitar puertos que no utilicemos
No hay mejor barrera de seguridad también que deshabilitar aquellos puertos que no
estemos utilizando. De esta forma un posible atacante no podría buscar la manera de
inundarlos y obtener así información.
Evitar conexiones de otros dispositivos
Otra opción que tenemos para mejorar la seguridad y evitar así problemas de saturación
de direcciones MAC es evitar que acepte nuevas conexiones de otros dispositivos.
Envenenamiento ARP:
Es posible indicar al sistema operativo que la información en la caché ARP es estática y por
tanto, no debe ser actualizada con la información que le provenga de la red. Esto
prevendrá el ataque, pero puede resultar problemático en redes donde se actualicen los
sistemas conectados a la red de forma regular.
Los switch de gama alta, poseen funcionalidades específicas para prevenir este tipo de
ataques. Es necesario configurarlos adecuadamente para que mantengan ellos mismos
una asociación IP-MAC adecuada y prevengan estos ataques.
Una adecuada segmentación de las subredes con routers y redes virtuales (otra de las
funcionalidades de algunos switch) es la mejor prevención.
Existen herramientas que permiten conocer si una tarjeta de red en una subred se
encuentra en modo promiscuo. Esto puede indicar la existencia de un ataque de
envenenamiento ARP.
Envenenamiento de DNS o Suplantación de DNS:
Muchos ataques de envenenamiento de caché contra servidores DNS pueden evitarse al
desconfiar de la información que otros servidores DNS les pasan e ignorar cualquier
registro DNS pasado que no sea directamente relevante para la consulta. Por ejemplo, las
versiones de BIND 9.5.0-P1 y superiores realizan estas comprobaciones.
La aleatorización del puerto de origen para solicitudes DNS, combinada con el uso de
números aleatorios criptográficamente seguros para seleccionar tanto el puerto de origen
como el nonce criptográfico de 16 bits , puede reducir en gran medida la probabilidad de
ataques exitosos de DNS.
Una versión segura de DNS, DNSSEC, utiliza firmas criptográficas electrónicas validadas
con un certificado digital confiable para determinar la autenticidad de los datos. DNSSEC
puede bloquear ataques de envenenamiento de caché, pero hasta 2008 aún no estaba
difundido ampliamente.
Este tipo de ataque puede ser mitigado también por las capas de transporte o aplicación
para conseguir validación extremo a extremo (end-to-end validation) una vez que una
conexión es establecida en extremo. Un ejemplo común de esto es el uso de Seguridad de
Capa de Transporte y firmas digitales. Por ejemplo, usando la versión segura de HTTP,
HTTPS, los usuarios pueden verificar si el certificado digital es válido y pertenece al dueño
esperado de un sitio web. De manera similar, el programa de inicio de sesión remoto SSH
verifica certificados digitales en los extremos (si los conoce) antes de proseguir con una
sesión. Para aplicaciones que descargan actualizaciones automáticamente, la aplicación
puede alojar una copia local del certificado digital de los datos y validar el certificado
almacenado en la actualización de software contra el certificado alojado.