Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Fnord — Muster-Extraktor für obfuskierten Code | Kitploit
Tools/GitHubGitHub/neo23x0/fnord
Statische AnalyseMalware-Analyse
GitHubneo23x0/fnord

Fnord

Muster-Extraktor für obfuskierten Code

Repository anzeigen
30344vor 4 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Build Status Actively Maintained

Fnord

Fnord ist ein Muster-Extraktor für obfuskierten Code

Beschreibung

Fnord hat zwei Hauptfunktionen:

  1. Byte-Sequenzen extrahieren und Statistiken erstellen
  2. Diese Statistiken nutzen, um Länge, Anzahl der Vorkommen, Ähnlichkeit und Schlüsselwörter zu kombinieren und eine YARA-Regel zu erstellen

1. Statistiken

Fnord verarbeitet die Datei mit einem gleitenden Fenster variabler Größe, um alle Sequenzen mit einer Mindestlänge -m X (Standard: 4) bis zu einer Maximallänge -x X (Standard: 40) zu extrahieren. Für jede Länge zeigt Fnord die am häufigsten vorkommenden Sequenzen -t X (Standard: 3) in einer Tabelle an.

Jede Zeile der Tabelle enthält:

  • Länge
  • Anzahl der Vorkommen
  • Sequenz (Zeichenkette)
  • Formatiert (ascii/wide/hex)
  • Hex-kodierte Form
  • Entropie

2. YARA-Regelerstellung

Fnord erzeugt auch eine experimentelle YARA-Regel. Während der YARA-Regelerstellung berechnet es eine Punktzahl basierend auf der Länge der Sequenz und der Anzahl der Vorkommen (Länge * Vorkommen). Anschließend wird jede Sequenz verarbeitet, indem alle Nicht-Buchstaben-Zeichen entfernt werden und sie mit einer Liste von Schlüsselwörtern (Groß-/Kleinschreibung nicht beachtet) verglichen werden, um Sequenzen zu erkennen, die interessanter sind als andere. Bevor jede Zeichenkette in die Regel geschrieben wird, berechnet Fnord eine Levenshtein-Distanz und überspringt Sequenzen, die bereits integrierten Sequenzen zu ähnlich sind.

Status

[Experimentell] Fnord wurde vor einigen Tagen erstellt und ich habe es mit einigen Beispielen getestet. Ich vermute, dass ich in den kommenden Wochen die Standardwerte anpassen und weitere Schlüsselwörter, Filter und Bewertungsoptionen hinzufügen werde.

Verbessern der Ergebnisse

Wenn Sie obfuskierten Code in einer Probe gefunden haben, extrahieren Sie den obfuskierten Abschnitt der Probe mit einem Hex-Editor und speichern Sie ihn in einer neuen Datei. Verwenden Sie diese neue Datei für die Analyse.

Spielen Sie mit den Flags -s, -k, -r, --yara-strings, -m und -e.

Bitte senden Sie mir Beispiele, die schwache YARA-Regeln erzeugen, die verbessert werden könnten.

Verwendung

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

Erste Schritte

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

Beispiele

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

Screenshots

Fnord Screenshot

Fnord Screenshot

Fnord Screenshot

Warnung

Der Ordner ./test enthält Skripte, die bösartig sind und von Ihrem lokalen Antivirenscanner erkannt werden können. Sie schaden Ihrem System nicht, solange Sie sie nicht ausführen.

FAQs

Warum haben Sie Fnord nicht in yarGen integriert?

yarGen verwendet einen Whitelisting-Ansatz, um die Zeichenketten zu filtern, die am besten für die Erstellung einer YARA-Regel geeignet sind. yarGen wendet einige reguläre Ausdrücke an, um die Bewertungen von Zeichenketten vor der Erstellung der YARA-Regeln anzupassen. Aber sein Ansatz unterscheidet sich stark von der Methode, die von Fnord verwendet wird, das die Punktzahl der Byte-Sequenzen auf der Grundlage von Statistiken berechnet.

Während yarGen am besten für nicht-obfuskierten Code geeignet ist, ist Fnord ausschließlich für obfuskierten Code gedacht und sollte viel bessere Ergebnisse als yarGen liefern.

Kontakt

Folgen Sie mir auf Twitter für Updates @cyb3rops

Tool herunterladen