Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
sniffles — Sniffles: Generador de captura de paquetes para IDS y evaluación de expresiones regulares | Kitploit
Herramientas/GitHubGitHub/petabi/sniffles
Sniffing y Análisis de PaquetesEvasión de IDS/IPSFuzzingSeguridad de RedesPruebas de PenetraciónDetección de Intrusiones
GitHubpetabi/sniffles

sniffles

Sniffles: Generador de captura de paquetes para IDS y evaluación de expresiones regulares

Ver Repositorio
652557hace 7 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Sniffles--Generador de Capturas de Paquetes para IDS y Evaluación de Expresiones Regulares

Sniffles es una herramienta para crear capturas de paquetes que probarán IDS que usan patrones fijos o expresiones regulares para detectar comportamientos sospechosos. Sniffles funciona de manera muy simple. Toma un conjunto de expresiones regulares o reglas y elige aleatoriamente una expresión regular o regla. Luego genera contenido basado en esa regla o expresión regular. Para cadenas fijas, esto significa agregar la cadena directamente a los datos (posiblemente con desplazamientos u otras opciones según las reglas de Snort). Para expresiones regulares, el proceso es algo más complejo. La expresión regular se convierte en un AFN y se elige un camino aleatorio a través del AFN (desde el inicio hasta el final). Los datos resultantes coincidirán con la expresión regular. Finalmente, Sniffles se puede configurar para coincidencia completa o coincidencia parcial. Con una coincidencia completa, los datos del paquete coincidirán absolutamente con al menos una regla o expresión regular (aunque algunas opciones de Snort no se consideran completamente). Una coincidencia parcial eliminará el último carácter de una secuencia de caracteres coincidente para obtener una secuencia que no debería coincidir (aunque podría coincidir con otra regla). Las reglas coincidentes deberían causar la mayor carga en un IDS. Por lo tanto, es posible determinar qué tan bien maneja el IDS el tráfico en el peor caso. El tráfico de coincidencia parcial causará casi tanta carga como el tráfico coincidente. Finalmente, Sniffles también puede generar tráfico que tiene datos completamente aleatorios. Estos datos aleatorios ofrecen un escenario de mejor caso, ya que es muy poco probable que los datos aleatorios coincidan con alguna regla. Por lo tanto, pueden procesarse a máxima velocidad. Así, Sniffles permite la creación de capturas de paquetes para el funcionamiento en el mejor y peor caso de la inspección profunda de paquetes del IDS.

Además de lo anterior, Sniffles también tiene la capacidad de crear capturas de paquetes de evaluación. Hay dos tipos de capturas de paquetes de evaluación. La primera captura de paquetes de evaluación creará exactamente un paquete para cada regla o expresión regular, en secuencia. Por lo tanto, es posible probar y ver que cada regla coincide como se espera. La evaluación completa va un paso más allá y crea un paquete para cada rama posible en una expresión regular. Una sola expresión regular podría tener miles de ramas posibles. Esto prueba para asegurar que todas las ramas posibles de una expresión regular se manejen correctamente. Las capturas de paquetes de evaluación deberían coincidir con todos los paquetes. Cualquier paquete no coincidente probablemente representa una falla del IDS y necesita más investigación. Por supuesto, siempre existe la posibilidad de que Sniffles no esté creando el paquete correcto para un IDS dado, o no reconozca una opción particular para una regla. Consulte las características de reglas soportadas para más información.

Finalmente, Sniffles también puede hacer mucho para generar tráfico de red aleatorio. Por defecto, el tráfico aleatorio es TCP, UDP o ICMP y unidireccional. Sin embargo, también puede generar tráfico TCP con ACKs, handshakes y teardowns para cada flujo. Generará números de secuencia y sumas de verificación correctos. Además, las direcciones MAC se pueden configurar según las distribuciones deseadas, y las direcciones de red IP pueden definirse mediante espacios de direcciones locales y externos. Además, es posible simular escaneos dentro de una captura de tráfico.

Instalación

REQUIERE: Python 3.3+ y el módulo SortedContainers

Sniffles consta de los siguientes archivos:

  • rulereader.py: El analizador de reglas.
  • ruletrafficgenerator.py: La herramienta para generar flujos de contenido.
  • sniffles.py: El programa principal que gestiona el proceso.
  • sniffles_config.py: maneja la entrada de línea de comandos y las opciones para Sniffles.
  • traffic_writer.py: Escribe un paquete en un archivo compatible con pcap. No requiere libpcap.
  • vendor_mac_list.py: Contiene Identificadores Únicos de Organización MAC utilizados para generar direcciones MAC semi-realistas en lugar de solo octetos combinados aleatoriamente.
  • examples/vendor_mac_definition.txt: Archivo opcional para definir la distribución de direcciones MAC parciales o completas.
  • archivos pcre para pcre (pcre_chartables.c pcre_compile.c pcre_globals.c pcre_internal.h pcre_newline.c pcre_tables.c pcre.h pcrecomp.c pcreconf.py ucp.h).
  • nfa.py: para recorrer el AFN.
  • regex_generator.py: El código para generar expresiones regulares aleatorias.
  • rand_rule_gen.py, feature.py y rule_formats.py: módulos para generar conjuntos de reglas aleatorios.

Para instalar:

  1. Vaya al directorio de nivel superior.
  2. Escriba python3.x setup.py install.
  3. Esto instalará la aplicación en su sistema.

Notas de instalación:

  1. Esto no se ha probado con Windows ni en Linux. Se ha probado en FreeBSD y Mac OS X.
  2. Use python3.x setup.py build para compilar localmente, luego vaya al directorio de la biblioteca, encuentre la lib y use python3.4 -c "from sniffles import sniffles; sniffles.main()" para ejecutar localmente.

Formatos Soportados:

  • Snort: Reglas de alerta de Snort (la regla debe comenzar con la directiva Alert). Las etiquetas de contenido se reconocen y analizan correctamente. Las etiquetas PCRE también se analizan correctamente. Las etiquetas HTTP se procesan consecutivamente, por lo que pueden no crear el paquete deseado. El contenido (y el contenido PCRE o HTTP) puede ser modificado por distance, within y offset. Una regla puede usar una opción de control de flujo, aunque solo se deriva la dirección de los datos a partir de esto. La opción nocase se ignora y se usa la mayúscula/minúscula presentada. Todas las demás opciones se ignoran. Los valores del encabezado se analizan y se generará un paquete que cumpla con esos valores. Si se usan espacios de direcciones de red local y externa, se usará el espacio correcto para las respectivas variables $HOME_NET y $EXTERNAL_NET. Ejemplo:

    alert tcp $EXTERNAL_NET any -> $HOME_NET 8080 (msg:"SERVER-APACHE Apache Tomcat UNIX platform directory traversal"; flow:to_server; content:"/..|5C|/"; content:"/..|5C|/"; http_raw_uri;

  • Expresiones regulares: Expresiones regulares sin formato, 1 por línea, escritas como abc o /abc/i. Actualmente soporta las opciones i, s y m. Otras opciones se ignoran. Ejemplo:

    /ab*c(d|e)f/i

  • Formato de regla Sniffles descrito a continuación.

Opciones de Línea de Comandos:

  • -a TCP Ack: Enviar un acuse de recibo TCP por cada paquete de datos enviado. Desactivado por defecto. Los paquetes de acuse de recibo no tienen datos por defecto.

  • -b Bidireccional: Se generarán datos en ambas direcciones de un flujo TCP. Los ACKs se activarán. Esta característica está desactivada por defecto.

  • -B [Protocolo de Tráfico de Fondo:Porcentaje]: Establecer al menos un protocolo con un valor entre 1 y 100 para producir Tráfico de Fondo. Este valor representa el porcentaje de la cantidad total de tráfico. Protocolos disponibles: FTP, HTTP, IMAP, POP y SMTP. Por ejemplo: "http:20,ftp:30,smtp:10". Introducir solo un número como valor del argumento para generar tráfico aleatoriamente. Por ejemplo: "80".

Descargar herramienta