Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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
Tools/GitHubGitHub/petabi/sniffles
Paket-Sniffing & AnalyseIDS/IPS-UmgehungFuzzingNetzwerksicherheitPenetrationstestsEinbruchserkennung
GitHubpetabi/sniffles

sniffles

Sniffles: Paketmitschnitt-Generator für IDS und Auswertung von regulären Ausdrücken

Repository anzeigen
652557vor 7 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

Sniffles – Paketerfassungsgenerator für IDS und reguläre Ausdrucksauswertung

Sniffles ist ein Werkzeug zum Erstellen von Paketerfassungen, die IDS testen, die feste Muster oder reguläre Ausdrücke zur Erkennung verdächtigen Verhaltens verwenden. Sniffles funktioniert sehr einfach. Es nimmt eine Reihe von regulären Ausdrücken oder Regeln und wählt zufällig einen regulären Ausdruck oder eine Regel aus. Es generiert dann Inhalt basierend auf dieser Regel oder diesem regulären Ausdruck. Bei festen Zeichenfolgen bedeutet dies, die Zeichenfolge direkt zu den Daten hinzuzufügen (möglicherweise mit Offsets oder anderen Optionen gemäß Snort-Regeln). Bei regulären Ausdrücken ist der Prozess etwas komplexer. Der reguläre Ausdruck wird in einen NFA umgewandelt und ein zufälliger Pfad wird durch den NFA gewählt (vom Anfang bis zum Ende). Die resultierenden Daten werden mit dem regulären Ausdruck übereinstimmen. Schließlich kann Sniffles auf vollständige Übereinstimmung oder teilweise Übereinstimmung eingestellt werden. Bei vollständiger Übereinstimmung stimmen die Paketdaten mit mindestens einer Regel oder einem regulären Ausdruck überein (obwohl einige Snort-Optionen nicht vollständig berücksichtigt werden). Eine teilweise Übereinstimmung löscht das letzte Zeichen einer übereinstimmenden Zeichensequenz zu einer Sequenz, die nicht übereinstimmen sollte (kann jedoch mit einer anderen Regel übereinstimmen). Übereinstimmende Regeln sollten die größte Belastung für ein IDS verursachen. Somit ist es möglich zu bestimmen, wie gut das IDS den Worst-Case-Verkehr bewältigt. Teilweise übereinstimmender Verkehr verursacht fast so viel Belastung wie übereinstimmender Verkehr. Schließlich kann Sniffles auch Verkehr generieren, der vollständig zufällige Daten enthält. Solche zufälligen Daten bieten ein Best-Case-Szenario, da zufällige Daten sehr unwahrscheinlich mit irgendwelchen Regeln übereinstimmen. Daher können sie mit maximaler Geschwindigkeit verarbeitet werden. Somit ermöglicht Sniffles die Erstellung von Paketerfassungen für den Best- und Worst-Case-Betrieb von IDS-Tiefenpaketinspektion.

Zusätzlich zu Obigem hat Sniffles auch die Fähigkeit, Bewertungspaketerfassungen zu erstellen. Es gibt zwei Arten von Bewertungspaketerfassungen. Die erste Bewertungspaketerfassung erstellt genau ein Paket für jede Regel oder jeden regulären Ausdruck, nacheinander. Somit ist es möglich zu testen und zu sehen, dass jede Regel wie erwartet übereinstimmt. Die vollständige Bewertung geht einen Schritt weiter und erstellt ein Paket für jeden möglichen Zweig in einem regulären Ausdruck. Ein einzelner regulärer Ausdruck könnte Tausende möglicher Zweige haben. Dies testet, um sicherzustellen, dass alle möglichen Zweige eines regulären Ausdrucks ordnungsgemäß behandelt werden. Bewertungspaketerfassungen sollten mit allen Paketen übereinstimmen. Nicht übereinstimmende Pakete stellen höchstwahrscheinlich einen Fehler des IDS dar und erfordern weitere Untersuchungen. Natürlich besteht immer die Möglichkeit, dass Sniffles nicht das richtige Paket für ein bestimmtes IDS erstellt oder eine bestimmte Option für eine Regel nicht erkennt. Überprüfen Sie die unterstützten Regelfunktionen für weitere Informationen.

Schließlich kann Sniffles auch viel für die Generierung von zufälligem Netzwerkverkehr tun. Standardmäßig ist zufälliger Verkehr TCP, UDP oder ICMP und unidirektional. Es kann jedoch auch TCP-Verkehr mit ACKs, Handshakes und Teardowns für jeden Stream generieren. Es wird korrekte Sequenznummern und Prüfsummen generieren. Weiterhin können MAC-Adressen gemäß gewünschten Verteilungen festgelegt werden, und IP-Netzwerkadressen können durch Heim- und externe Adressräume definiert werden. Darüber hinaus ist es möglich, Scans innerhalb einer Verkehrserfassung zu simulieren.

Installation

ERFORDERT: Python 3.3+ und das SortedContainers-Modul

Sniffles besteht aus den folgenden Dateien:

  • rulereader.py: Der Parser für Regeln.
  • ruletrafficgenerator.py: Das Werkzeug zum Generieren von Inhaltsströmen.
  • sniffles.py: Das Hauptprogramm, das den Prozess verwaltet.
  • sniffles_config.py: Behandelt Befehlszeileneingabe und Optionen für Sniffles.
  • traffic_writer.py: Schreibt ein Paket in eine pcap-kompatible Datei. Benötigt kein libpcap.
  • vendor_mac_list.py: Enthält MAC-Organisationally Unique Identifiers, die zum Generieren halbrealistischer MAC-Adressen verwendet werden, anstatt nur zufällig zusammengewürfelte Oktette.
  • examples/vendor_mac_definition.txt: Optionale Datei zum Definieren der Verteilung von teilweisen oder vollständigen MAC-Adressen.
  • pcre-Dateien für 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: Zum Durchlaufen des NFA.
  • regex_generator.py: Der Code zum Generieren zufälliger regulärer Ausdrücke.
  • rand_rule_gen.py, feature.py und rule_formats.py: Module zum Generieren zufälliger Regelsätze.

Zur Installation:

  1. Gehen Sie zum Hauptverzeichnis.
  2. Geben Sie python3.x setup.py install ein.
  3. Dadurch wird die Anwendung auf Ihrem System installiert.

Installationshinweise:

  1. Dies wurde weder unter Windows noch unter Linux getestet. Es wurde unter FreeBSD und Mac OS X getestet.
  2. Verwenden Sie python3.x setup.py build, um lokal zu bauen, gehen Sie dann zum Bibliotheksverzeichnis, finden Sie die lib und verwenden Sie python3.4 -c "from sniffles import sniffles; sniffles.main()", um lokal auszuführen.

Unterstützte Formate:

  • Snort: Snort-Alarmregeln (Regel sollte mit der Alert- Direktive beginnen). Content-Tags werden erkannt und korrekt geparst. PCRE- Tags werden ebenfalls korrekt geparst. HTTP-Tags werden nacheinander verarbeitet, sodass sie möglicherweise nicht das gewünschte Paket erstellen. Content (und PCRE- oder HTTP-Content) kann durch distance, within und offset modifiziert werden. Eine Regel kann eine Flusskontroll- Option verwenden, obwohl nur die Richtung der Daten daraus abgeleitet wird. Die nocase-Option wird ignoriert und die dargestellte Groß-/Kleinschreibung wird verwendet. Alle anderen Optionen werden ignoriert. Die Header-Werte werden geparst und ein Paket wird erstellt, das diese Werte erfüllt. Wenn Heim- und externe Netzwerkadressräume verwendet werden, wird der korrekte Raum für die jeweiligen Variablen $HOME_NET und $EXTERNAL_NET verwendet. Beispiel:

    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;

  • Reguläre Ausdrücke: Rohe reguläre Ausdrücke, 1 pro Zeile, geschrieben als entweder abc oder /abc/i. Unterstützt derzeit die Optionen i, s und m. Andere Optionen werden ignoriert. Beispiel:

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

  • Sniffles-Regelformat, unten beschrieben.

Befehlszeilenoptionen:

  • -a TCP Ack: Senden Sie eine TCP-Bestätigung für jedes gesendete Datenpaket. Standardmäßig ausgeschaltet. Bestätigungspakete haben standardmäßig keine Daten.

  • -b Bidirektionale Daten: Daten werden in beide Richtungen eines TCP-Streams generiert. ACKs werden eingeschaltet. Diese Funktion ist standardmäßig ausgeschaltet.

  • -B [Hintergrundverkehrsprotokoll:Prozentsatz]: Setzen Sie mindestens ein Protokoll mit einem Wert zwischen 1 und 100, um Hintergrundverkehr zu erzeugen. Dieser Wert repräsentiert den Prozentsatz der Gesamtverkehrsmenge. Verfügbare Protokolle: FTP, HTTP, IMAP, POP und SMTP. Beispiel: "http:20,ftp:30,smtp:10". Geben Sie nur eine Zahl als Argumentwert ein, um zufälligen Verkehr zu generieren. Beispiel: "80".

Tool herunterladen