Resumen ejecutivo del Informe Global sobre Amenazas 2026 de CrowdStrike: el informe definitivo sobre inteligencia de amenazas para la era de la IA Descargar

¿Qué es Snort?

Snort es un sistema de detección y prevención de intrusiones en red (IDS/IPS) de código abierto que monitoriza el tráfico de red e identifica actividades que pueden ser maliciosas en redes de protocolo de Internet. Las organizaciones pueden implementar Snort utilizando un lenguaje basado en reglas que combina métodos de inspección de protocolos, firmas y anomalías para detectar paquetes maliciosos en el tráfico de red y bloquear posibles vectores de ataque.

Esta combinación es fundamental. Los métodos basados en firmas que se utilizan habitualmente son eficaces a la hora de identificar amenazas conocidas, pero no son tan efectivos cuando se trata de amenazas desconocidas. Snort también se aprovecha de los enfoques basados en el comportamiento para descubrir vulnerabilidades reales comparando la actividad de la red con un conjunto de reglas de Snort predefinido. Esto le permite detectar amenazas emergentes sofisticadas que puede que no se hayan detectado antes al utilizar únicamente métodos basados en firmas.

Casos de uso de Snort

En la mayoría de los casos, Snort lo usan las organizaciones que buscan un sistema IDS/IPS que no esté basado en una plataforma para proteger sus redes frente a amenazas emergentes. Las empresas recurren a Snort para:

  • Monitorizar el tráfico de red en tiempo real
  • Realizar análisis de protocolo
  • Realizar correspondencias de contenido: agrupa reglas por protocolo, puertos y, a continuación, según tengan o no contenido
  • Realizar registros de huellas digitales del sistema operativo
  • Comprobar la compatibilidad con cualquier sistema operativo

Sin embargo, Snort puede ofrecer mucho más.

Captura de paquetes (packet sniffing) y registro

Snort se puede utilizar para capturar paquetes (packet sniffing) de tráfico de red en la interfaz de una red local. Asimismo, se puede utilizar como registrador de paquetes que guarda los paquetes capturados en el disco para depurar el tráfico de red. Alternativamente, se pueden usar las funciones de red del sistema IDS/IPS para monitorizar el tráfico de red en tiempo real y analizar cada paquete en busca de actividades sospechosas o payloads potencialmente maliciosos.

Alertas y reglas

Snort puede generar alertas cuando detecte paquetes inusuales en el tráfico de red según las reglas configuradas. De este modo, es más sencillo identificar amenazas de red y otros riesgos que podrían derivar en el aprovechamiento de vulnerabilidades.

El lenguaje de reglas de Snort es muy flexible para que puedas crear reglas propias que te permitan diferenciar la actividad de red normal de la anómala. De este modo, puedes añadir nuevos procedimientos que hagan que Snort monitorice la red en busca de comportamientos específicos y prevenga posibles ataques a la red de la organización.

Detección de ataques

Gracias a la flexibilidad de su lenguaje de reglas y su compatibilidad con todos los sistemas operativos, Snort puede detectar cualquier tipo de ataque basado en red siempre y cuando haya una regla asociada al comportamiento malicioso. A continuación, presentamos una lista con algunos tipos de brechas que Snort puede ayudar a detectar.

Ataque de denegación de servicio (DoS)/denegación de servicio distribuido (DDoS)

Los ataques DoS/DDoS implican inundar una red con solicitudes de servicio no legítimas para interrumpir las operaciones empresariales. Si bien los ataques DoS se llevan a cabo desde un único sistema, los ataques DDoS consisten en un ataque orquestado que se origina desde múltiples sistemas en múltiples ubicaciones.

Desbordamiento de búfer

Los desbordamientos de búfer se producen cuando los ciberdelincuentes dirigen una gran cantidad de tráfico entrante a una dirección de red, de manera que el volumen de datos de red exceda el ancho de banda disponible en el sistema.

Suplantación de identidad

En algunas ocasiones, los hackers se hacen pasar por un usuario o sistema autorizado para acceder a la red objetivo y robar información o llevar a cabo actividades maliciosas. Estas acciones reciben el nombre de ataques de suplantación de identidad.

Interfaz de puerta de enlace común (CGI)

Las CGI ofrecen una interfaz entre la web y el usuario final para que las páginas web sean más dinámicas; sin embargo, también son conocidas por contar con vulnerabilidades de seguridad que pueden aprovechar los hackers. A menudo, los scripts de las CGI basados en web son víctimas de ataques de validación de entrada como consecuencia de no filtrar las entradas maliciosas.

Escaneo silencioso de puertos

A menudo, los hackers recurren a los escaneos silenciosos de puertos, también conocidos como "escaneos semiabiertos", para perpetrar sus ataques mediante puertos abiertos en la red sin establecer una conexión completa. Este proceso implica enviar un único paquete a través del handshake de tres vías del protocolo de control de transmisión (TCP) y finalizar el proceso en cuanto se detecte el puerto en la red objetivo. De este modo, se eluden los firewalls y da la impresión de que el escaneo forma parte del tráfico de red normal.

¿Cómo funciona Snort?

Snort se basa en la biblioteca de captura de paquetes (libpcap), una interfaz independiente del sistema encargada de obtener datos de tráfico que utilizan habitualmente los analizadores de red. Snort monitoriza el tráfico de red y lo compara con un conjunto de reglas propio definido por los usuarios en el archivo de configuración. Snort aplica estas reglas a los paquetes del tráfico de red y emite alertas cuando detecta actividades anómalas.

Analicemos en más detalle cómo funciona Snort y sus reglas.

Modos de Snort

Snort se puede configurar para tener uno de los tres indicadores disponibles, que determinará su modo de funcionamiento:

  • Modo sniffer (indicador -v): Snort lee los paquetes TCP/IP e imprime información sobre ellos en la consola.
  • Modo de registrador de paquetes (indicador -l): Snort registra los paquetes TCP/IP entrantes en un directorio de registro del disco para su análisis posterior.
  • Modo de sistema de detección y prevención de intrusiones en red (NIDS) (indicador -c): Snort decide si realizar una acción en el tráfico de red en función del tipo de regla especificado en el archivo de configuración.

Tipos de reglas de Snort

Snort no evalúa las reglas en el orden en el que aparecen en el archivo de configuración, sino según el tipo de regla, que indica la acción que se debe realizar cuando Snort detecte un paquete que coincida con los criterios de la regla.

Los cinco tipos básicos de reglas en Snort son:

  • Reglas de alertas: Snort genera una alerta cuando se detecta un paquete inusual.
  • Reglas de bloqueo: Snort bloquea el paquete sospechoso y todos los paquetes posteriores del flujo de red.
  • Reglas de descarte: Snort descarta el paquete en cuanto se genera la alerta.
  • Reglas de registro: Snort registra el paquete en cuanto se genera la alerta.
  • Reglas de aprobación: Snort ignora el paquete sospechoso y lo marca como aprobado.

Comprensión de las reglas de Snort

Es importante establecer las reglas de Snort de forma correcta para que cumplan su función, es decir, de manera que identifiquen correctamente las amenazas emergentes de la red. Para ello, debes comprender claramente la sintaxis de Snort y cómo se forman las reglas.

Si bien las reglas de Snort se suelen escribir en una única línea, las versiones más recientes permiten crear reglas de varias líneas, que son especialmente útiles para crear reglas más sofisticadas que costaría redactar en una sola línea.

Las reglas de Snort constan de dos partes lógicas: el encabezado y las opciones. Analicemos cada una de ellas.

Encabezados de reglas

Indican la acción que se debe realizar cuando se detecte tráfico que coincida con la regla. Los encabezados de reglas constan de cinco elementos principales:

  • Acciones que se deben realizar: el primer componente que se incluye en una regla de Snort
  • Direcciones IP: de origen y destino
  • Números de puerto: de origen y destino
  • Dirección del tráfico: "->" si es unidireccional del origen al destino y "<>" si es bidireccional
  • Protocolo de inspección: protocolos de "capa 3" (IP y ICMP) y "capa 4" (TCP y UDP)

Nota: Actualmente, Snort es compatible con las capas 3 y 4; sin embargo, en Snort 3, también puedes pedirle a Snort que solo haga coincidir las reglas con el tráfico de un servicio de capa de aplicación determinado (como SSL/TLS y HTTP).

Opciones de reglas

Permiten definir los criterios de tráfico de red que se deben cumplir para que una regla coincida, así como lo que ocurre cuando hay una coincidencia. A continuación, presentamos una serie de opciones de reglas disponibles:

  • Mensaje que se muestra cuando la regla coincide: Explica el propósito de la regla.
  • Estado de flujo: Especifica las características de la sesión que se deben comprobar en cada paquete.
  • Contenido o patrón: Especifica el contenido o patrón que se debe buscar en los datos con o sin payload del paquete.
  • Protocolo de servicio o aplicación: Solicita a Snort que identifique el contenido o patrón del tráfico del servicio de capa de aplicación especificado o los puertos de origen y destino indicados en el encabezado de la regla.
  • Identificador de Snort (SID) y número de revisión (rev): Proporciona un identificador único (SID) o un número de revisión único (rev) a la regla de Snort.

Ejemplo de reglas de Snort

Veamos cómo se crearían reglas de Snort para un ataque de DoS con honeypots de Docker.

Para detectar este modo de ataque, deberíamos crear una regla que detecte solicitudes HTTP enviadas por una imagen de Docker a través de una conexión TCP/IP:

alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS

Los ataques DoS se llevan a cabo inundando el servidor con solicitudes HTTP GET a través de una conexión establecida. Por este motivo, debemos indicarle a Snort que revise este patrón en la sección de opciones de la regla:

# only detect established TCP connections from client requests

flow:to_server, established;

# match on HTTP GET requests

http_header; content:"Mozilla/5.0 (Windows NT 10.0|3B| Win64|3B| x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36";

http_method; content:"GET";

Dado que el ataque se realiza a través de honeypots, la regla se clasifica como un troyano en la red:

alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (

msg: "Detects DoS HTTP request sent by compromised Docker image";

flow:to_server, established;

http_header; content:"Mozilla/5.0 (Windows NT 10.0|3B| Win64|3B| x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36";

http_method; content:"GET";

classtype:trojan-activity;

sid:8001951;

rev:20220420;

)

Aprovechamiento de reglas de Snort creadas por expertos

Combinar Snort con el resto de las herramientas de ciberseguridad constituye un enfoque flexible no basado en una plataforma para proteger la red frente a amenazas de seguridad de red conocidas y emergentes. Sin embargo, las reglas se deben configurar de manera que funcionen correctamente.

Si bien puedes crear tus propias reglas de Snort para casos de uso relativamente sencillos, en el caso de las amenazas emergentes, mantener las reglas actualizadas es una tarea compleja. Nuestra recomendación es que utilices las reglas de Snort y YARA creadas por expertos, como el nuevo conjunto de reglas de la comunidad o CrowdStrike Falcon Intelligence.

Bart es Senior Product Marketing Manager de inteligencia sobre amenazas en CrowdStrike y cuenta con más de 20 años de experiencia en inteligencia, detección y supervisión de amenazas. Tras iniciar su carrera como analista de operaciones de seguridad de red en una organización financiera belga, se trasladó a la costa este de los Estados Unidos para incorporarse a varias empresas de ciberseguridad, como 3Com/Tippingpoint, RSA Security, Symantec, McAfee, Venafi y FireEye-Mandiant, donde se encargó de la gestión y del marketing de productos.