Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Fnord — Extracteur de motifs pour code obscurci | Kitploit
Outils/GitHubGitHub/neo23x0/fnord
Analyse StatiqueAnalyse de Malware
GitHubneo23x0/fnord

Fnord

Extracteur de motifs pour code obscurci

Voir le dépôt
30344il y a 4 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Build Status Actively Maintained

Fnord

Fnord est un extracteur de motifs pour code obfusqué

Description

Fnord a deux fonctions principales :

  1. Extraire des séquences d'octets et créer des statistiques
  2. Utiliser ces statistiques, combiner la longueur, le nombre d'occurrences, la similarité et des mots-clés pour créer une règle YARA

1. Statistiques

Fnord traite le fichier avec une fenêtre glissante de taille variable pour extraire toutes les séquences d'une longueur minimale -m X (par défaut : 4) jusqu'à une longueur maximale -x X (par défaut : 40). Pour chaque longueur, Fnord présente les séquences les plus fréquentes -t X (par défaut : 3) dans un tableau.

Chaque ligne du tableau contient :

  • Longueur
  • Nombre d'occurrences
  • Séquence (chaîne)
  • Formaté (ascii/wide/hex)
  • Forme codée en hexadécimal
  • Entropie

2. Création de règle YARA

Fnord génère également une règle YARA expérimentale. Lors de la création de la règle YARA, il calcule un score basé sur la longueur de la séquence et le nombre d'occurrences (longueur * occurrences). Il traite ensuite chaque séquence en supprimant tous les caractères non alphabétiques et en les comparant à une liste de mots-clés (insensible à la casse) pour détecter les séquences plus intéressantes que d'autres. Avant d'écrire chaque chaîne dans la règle, Fnord calcule une distance de Levenshtein et ignore les séquences trop similaires à celles déjà intégrées dans la règle.

Statut

[Expérimental] Fnord a été créé il y a quelques jours et je l'ai testé avec une poignée d'échantillons. Je pense que je vais ajuster les valeurs par défaut dans les semaines à venir et ajouter davantage de mots-clés, de filtres et d'options de score.

Améliorer les résultats

Si vous avez trouvé du code obfusqué dans un échantillon, utilisez un éditeur hexadécimal pour extraire la section obfusquée de l'échantillon et enregistrez-la dans un nouveau fichier. Utilisez ce nouveau fichier pour l'analyse.

Jouez avec les options -s, -k, -r, --yara-strings, -met-e`.

Veuillez m'envoyer des échantillons qui produisent des règles YARA faibles qui pourraient être améliorées.

Utilisation

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

Pour commencer

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

Exemples

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

Captures d'écran

Capture d'écran Fnord

Capture d'écran Fnord

Capture d'écran Fnord

Avertissement

Le dossier ./test contient des scripts malveillants qui peuvent être détectés par votre antivirus local. Ils ne nuisent pas à votre système tant que vous ne les exécutez pas.

FAQ

Pourquoi n'avez-vous pas intégré Fnord dans yarGen ?

yarGen utilise une approche de liste blanche pour filtrer les chaînes les mieux adaptées à la création d'une règle YARA. yarGen applique des expressions régulières pour ajuster les scores des chaînes avant de créer les règles YARA. Mais son approche est très différente de celle de Fnord, qui calcule le score des séquences d'octets à partir de statistiques.

Alors que yarGen est mieux adapté au code non obfusqué, Fnord est destiné uniquement au code obfusqué et devrait produire de bien meilleurs résultats que yarGen.

Contact

Suivez-moi sur Twitter pour les mises à jour @cyb3rops

Télécharger l’outil