Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
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.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/neo23x0/fnord
Análisis EstáticoAnálisis de Malware
GitHubneo23x0/fnord

Fnord

Extractor de Patrones para Código Ofuscado

Ver Repositorio
303448hace 4 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

Build Status Actively Maintained

Fnord

Fnord es un extractor de patrones para código ofuscado

Descripción

Fnord tiene dos funciones principales:

  1. Extraer secuencias de bytes y crear algunas estadísticas
  2. Usar estas estadísticas, combinar longitud, número de ocurrencias, similitud y palabras clave para crear una regla YARA

1. Estadísticas

Fnord procesa el archivo con una ventana deslizante de tamaño variable para extraer todas las secuencias con una longitud mínima -m X (por defecto: 4) hasta una longitud máxima -x X (por defecto: 40). Para cada longitud, Fnord presentará las secuencias más frecuentes -t X (por defecto: 3) en una tabla.

Cada línea de la tabla contiene:

  • Longitud
  • Número de ocurrencias
  • Secuencia (cadena)
  • Formateada (ascii/wide/hex)
  • Forma codificada en hex
  • Entropía

2. Creación de reglas YARA

Descargar herramienta

Fnord también genera una regla YARA experimental. Durante la creación de la regla YARA calculará una puntuación basada en la longitud de la secuencia y el número de ocurrencias (longitud * ocurrencias). Luego procesará cada secuencia eliminando todos los caracteres no alfabéticos y comparándolas con una lista de palabras clave (sin distinción de mayúsculas/minúsculas) para detectar secuencias que son más interesantes que otras. Antes de escribir cada cadena en la regla, Fnord calcula la distancia de Levenshtein y omite secuencias que son demasiado similares a las que ya se han integrado en la regla.

Estado

[Experimental] Fnord fue creado hace unos días y lo he probado con un puñado de muestras. Supongo que ajustaré los valores por defecto en las próximas semanas y añadiré más palabras clave, filtros y opciones de puntuación.

Mejorar los resultados

Si has encontrado código ofuscado en una muestra, usa un editor hexadecimal para extraer la sección ofuscada de la muestra y guárdala en un nuevo archivo. Usa ese nuevo archivo para el análisis.

Juega con las banderas -s, -k, -r, --yara-strings, -my-e`.

Por favor, envíame muestras que produzcan reglas YARA débiles que podrían ser mejores.

Uso

root@kitploit:~
        ____                 __
       / __/__  ___  _______/ /
      / _// _ \/ _ \/ __/ _  /
     /_/ /_//_/\___/_/  \_,_/ Pattern Extractor for Obfuscated Code
     v0.7, Florian Roth

    usage: fnord.py [-h] [-f file] [-m min] [-x max] [-t top] [-n min-occ]
                    [-e min-entropy] [--strings] [--include-padding] [--debug]
                    [--noyara] [-s similarity] [-k keywords-multiplier]
                    [-r structure-multiplier] [-c count-limiter] [--yara-exact]
                    [--yara-strings max] [--show-score] [--show-count]
                    [--author author]

    Fnord - Pattern Extractor for Obfuscated Code

    optional arguments:
      -h, --help            show this help message and exit
      -f file               File to process
      -m min                Minimum sequence length
      -x max                Maximum sequence length
      -t top                Number of items in the Top x list
      -n min-occ            Minimum number of occurrences to show
      -e min-entropy        Minimum entropy
      --strings             Show strings only
      --include-padding     Include 0x00 and 0x20 in the extracted strings
      --debug               Debug output

    YARA Rule Creation:
      --noyara              Do not generate an experimental YARA rule
      -s similarity         Allowed similarity (use values between 0.1=low and
                            10=high, default=1.5)
      -k keywords-multiplier
                            Keywords multiplier (multiplies score of sequences if
                            keyword is found) (best use values between 1 and 5,
                            default=2.0)
      -r structure-multiplier
                            Structure multiplier (multiplies score of sequences if
                            it is identified as code structure and not payload)
                            (best use values between 1 and 5, default=2.0)
      -c count-limiter      Count limiter (limts the impact of the count by
                            capping it at a certain amount) (best use values
                            between 5 and 100, default=20)
      --yara-exact          Add magic header and magic footer limitations to the
                            rule
      --yara-strings max    Maximum sequence length
      --show-score          Show score in comments of YARA rules
      --show-count          Show count in sample in comments of YARA rules
      --author author       YARA rule author

Primeros pasos

  1. git clone https://github.com/Neo23x0/Fnord.git y cd Fnord
  2. pip3 install -r ./requirements.txt
  3. python3 ./fnord.py --help

Ejemplos

root@kitploit:~
python3 fnord.py -f ./test/wraeop.sct --yara-strings 10
root@kitploit:~
python3 fnord.py -f ./test/vbs.txt --show-score --show-count -t 1 -x 20
root@kitploit:~
python3 fnord.py -f ./test/inv-obf.txt --show-score --show-count -t 1 --yara-strings 4 --yara-exact

Capturas de pantalla

Captura de pantalla de Fnord

Captura de pantalla de Fnord

Captura de pantalla de Fnord

Advertencia

La carpeta ./test contiene scripts que son maliciosos y pueden ser detectados por su escáner antivirus local. No dañan su sistema siempre que no los ejecute.

Preguntas frecuentes

¿Por qué no integraste Fnord en yarGen?

yarGen utiliza un enfoque de listas blancas para filtrar las cadenas que son mejores para la creación de una regla YARA. yarGen aplica algunas expresiones regulares para ajustar las puntuaciones de las cadenas antes de crear las reglas YARA. Pero su enfoque es muy diferente al método utilizado por Fnord, que calcula la puntuación de las secuencias de bytes basándose en estadísticas.

Mientras que yarGen es mejor para código no ofuscado, Fnord es solo para código ofuscado y debería producir resultados mucho mejores que yarGen.

Contacto

Sígueme en Twitter para novedades @cyb3rops