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
SUNBURST — Erkennung von SUNBURST C2 Stage-1 mithilfe der Shannon-Entropie | Kitploit
Tools/GitHubGitHub/malwaremorghulis/sunburst
NetzwerksicherheitMalware-AnalyseCommand and ControlBedrohungsanalyseDNS-AnalyseAnomalieerkennung
GitHubmalwaremorghulis/sunburst

SUNBURST

Erkennung von SUNBURST C2 Stage-1 mithilfe der Shannon-Entropie

Repository anzeigen
314vor 3 JahrenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

SUNBURST

Erkennung der SUNBURST-C2-Stufe-1 mithilfe der Shannon-Entropie

Über:

Verwendung der Shannon-Entropie zur Erkennung von Domain-Generierungsalgorithmen (DGA). Es sollten nur FQDNs in die Funktion eingespeist oder aus einer CSV-Datei gelesen werden. SYNTAX: Prefix_or_subdomain.Domain.TLD Erstellt, da APTs DGA mit langen Zeichenfolgen für die Kill Chain: C2 nutzen. Identifiziert lange URL-Zeichenfolgen mit hoher Entropie > 2 Standardabweichungen. Betrachtet die oberen 2,5 % der URLs mit langen Präfixen/Subdomains. Speichert zusätzliche Metadaten, falls CND-Analysten sie benötigen (z. B. Präfixlänge)

Anforderungen:

  1. Python 3.9+
  2. Python ist in der PATH-Variable vorhanden
  3. Alle aufgeführten Importe (pip install, falls erforderlich)
  4. Das Eingabe-DNS-Protokoll enthält 1x FQDN pro Zeile (keine andere Interpunktion)
  5. Cisco Top-1M (CSV, ZIP) oder Majestic (CSV) Top-1M sind im selben Ordner wie das Skript vorhanden.

So führen Sie es aus (INTERAKTIVER MODUS ist AKTIV, siehe VARIABLES):

  1. Installieren Sie Python 3.9.x
  2. Bereiten Sie alle Eingabedateien mit korrekter Formatierung vor (Domains in einer Textdatei, 1 pro Zeile, keine Interpunktion)
  3. Stellen Sie sicher, dass sich die Eingabedateien im selben Verzeichnis/Ordner wie dieses Skript befinden. 4a) (Windows) Öffnen Sie dieses Skript in Python IDLE oder Visual Studio Code. 4b) (Linux) $~: python3 shannon.py
  4. Geben Sie die zu untersuchende DNS-Protokoll-Eingabedatei ein.
  5. Geben Sie die zu verwendende Cisco-Umbrella-Datei (CSV/ZIP) oder Majestic-Top-1M-Datei (CSV) ein.
  6. Warten Sie, bis die Frequenz- und Shannon-Entropiewerte generiert werden.
  7. Untersuchen Sie die Ausgabedateien.
Tool herunterladen

So führen Sie es aus (INTERAKTIVER MODUS ist AUS, siehe VARIABLES):

  1. Installieren Sie Python 3.9.x
  2. Bereiten Sie alle Eingabedateien mit korrekter Formatierung vor (Domains in einer Textdatei, 1 pro Zeile, keine Interpunktion)
  3. Stellen Sie sicher, dass sich die Eingabedateien im selben Verzeichnis/Ordner wie dieses Skript befinden. 4a) (Windows) Öffnen Sie dieses Skript in Python IDLE oder Visual Studio Code. 4b) (Linux) $~: python3 shannon.py
  4. Das zu analysierende Eingabeprotokoll ist "domains.txt", siehe VARIABLES.
  5. Wählen Sie die Top-N-Datei zum Aufbau der Wörterbuchwahrscheinlichkeit, siehe VARIABLES.
  6. Warten Sie, bis die Frequenz- und Shannon-Entropiewerte generiert werden.
  7. Untersuchen Sie die Ausgabedateien.

Annahmen:

  1. Groß- und Kleinbuchstaben haben die gleiche Auftrittswahrscheinlichkeit. a) Vernachlässigt, dass TOR-Knoten die Groß-/Kleinschreibung in DNS-Abfragen und 0x20-Kodierung verändern.
  2. Das ETOAN-Zeichenhäufigkeitsdiagramm ist unzureichend, da Folgendes fehlt: 0-9, "-" und "" a) Domains können Bindestriche (-), Unterstriche () und Zahlen enthalten.
  3. Nicht dafür entwickelt, der ExploderBot-DGA entgegenzuwirken.
  4. Eingabe: einfache Textdatei, jede URL in einer eigenen Zeile - sonst nichts.
  5. Die Eingabe besteht ausschließlich aus URL-Zeichenfolgen ohne verbotene Zeichen.
  6. Eingabe- und Ausgabedateien müssen sich im selben Ordner wie dieses Skript befinden.
  7. Python3 ist in der PATH-Variable.

Datensatz (Domains):

Der verwendete Datensatz stammt aus dem Pi-Hole-Abfrageprotokoll (12-Stunden-Fenster), das aus SQLite extrahiert wurde.

BASH:

$~: sqlite3 /etc/pihole/pihole-FTL.db "SELECT domain FROM queries WHERE timestamp >='$(($(date +%s) - 43200))'" > domains.txt

Die Daten wurden mit Excel > Daten > Duplikate entfernen dedupliziert. Daten für Reverse-Lookups (PTR) in-addr.arpa wurden ebenfalls entfernt.

Datensatz (Wahrscheinlichkeiten):

Dieses Skript nutzt die Ergebnisse von RedCanary für die DGA-Analyse, nimmt eine URL und berechnet die Shannon-Entropie.

DevOps-Testphasenfolge:

  1. shannon.py (1.0) - Berechnungen mit dem statischen RedCanary-Wörterbuch zum Laufen bringen.
  2. shannon.py (1.1) - Geringfügige Tests in 1.0 zusammengeführt.
  3. dictionary.py (1.0) - Testen des Öffnens/Schließens von Cisco + Majestic Top-1M.
  4. shannon.py (2.0) - Kombination von 1.0 mit getesteten Funktionen von dictionary.py.

Referenz:

Splunk Shannon-Entropie - woher die Idee stammt* https://www.splunk.com/en_us/blog/tips-and-tricks/when-entropy-meets-shannon.html

SANS Mark Baggett - Tool, mit dem RedCanary Alexa Top 1M analysierte https://github.com/markbaggett/freq

RedCanary - Blog, aus dem die Wahrscheinlichkeitswerte stammen https://redcanary.com/blog/threat-hunting-entropy/

Alexas Top-1M-Domains - Datenkorpus, der von RedCanary verwendet wurde https://www.alexa.com/topsites

DGA-Detektor https://github.com/exp0se/dga_detector

Shannon-Entropie - Formel https://towardsdatascience.com/the-intuition-behind-shannons-entropy-e74820fe9800