Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
SUNBURST — Rilevamento della C2 Stage-1 di SUNBURST tramite entropia di Shannon | Kitploit
Strumenti/GitHubGitHub/malwaremorghulis/sunburst
Sicurezza di ReteAnalisi MalwareCommand and ControlThreat IntelligenceAnalisi DNSRilevamento di Anomalie
GitHubmalwaremorghulis/sunburst

SUNBURST

Rilevamento della C2 Stage-1 di SUNBURST tramite entropia di Shannon

Vedi Repository
313 anni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

SUNBURST

Rilevamento per C2 Stage-1 di SUNBURST utilizzando l'Entropia di Shannon

Informazioni:

Utilizzo dell'Entropia di Shannon per rilevare algoritmi di generazione di domini (DGA). Dovrebbero essere inseriti solo FQDN nella funzione o letti da un file CSV. SYNTAX: Prefisso_o_sottodominio.Dominio.TLD Creato a causa di APT che sfruttano DGA a stringhe lunghe per la Kill Chain: C2. Identifica URL a stringhe lunghe con alta entropia > 2 Deviazioni Standard. Osservando il limite superiore del 2.5% degli URL con prefissi/sottodomini lunghi. Salvataggio di metadati extra se gli analisti CND ne hanno bisogno (es. Lunghezza del Prefisso)

Requisiti:

  1. Python 3.9+
  2. Python presente nella variabile PATH
  3. Tutte le importazioni elencate (pip install, se necessario)
  4. Il log DNS di input ha 1 FQDN per riga (nessuna altra punteggiatura)
  5. Cisco Top-1M (CSV, ZIP) o Majestic (CSV) Top-1M presenti nella stessa cartella dello script.

Come Eseguire (MODALITÀ INTERATTIVA ATTIVA, vedi VARIABILI):

  1. Installare Python 3.9.x
  2. Preparare tutti i file di input con la formattazione corretta (domini in un file di testo, 1 per riga, senza punteggiatura)
  3. Assicurarsi che i file di input siano nella stessa directory/cartella di questo script. 4a) (Windows) Aprire questo script in Python IDLE o Visual Studio Code. 4b) (Linux) $~: python3 shannon.py
  4. Inserire il file di log DNS da esaminare.
  5. Inserire il file Cisco Umbrella (CSV/ZIP) o Majestic Top-1M (CSV) da utilizzare.
  6. Attendere la generazione dei valori di Frequenza ed Entropia di Shannon.
  7. Esaminare i file di output.

Come Eseguire (MODALITÀ INTERATTIVA DISATTIVATA, vedi VARIABILI):

  1. Installare Python 3.9.x
  2. Preparare tutti i file di input con la formattazione corretta (domini in un file di testo, 1 per riga, senza punteggiatura)
  3. Assicurarsi che i file di input siano nella stessa directory/cartella di questo script. 4a) (Windows) Aprire questo script in Python IDLE o Visual Studio Code. 4b) (Linux) $~: python3 shannon.py
  4. Il log di input da analizzare è "domains.txt", vedi VARIABILI.
  5. Scegliere il file Top-N per costruire la probabilità del dizionario, vedi VARIABILI.
  6. Attendere la generazione dei valori di Frequenza ed Entropia di Shannon.
  7. Esaminare i file di output.

Assunzioni:

  1. Lettere maiuscole e minuscole hanno uguale probabilità di comparsa. a) Trascurando che i nodi TOR alterano la sensibilità alle maiuscole/minuscole nelle query DNS e la codifica 0x20.
  2. La tabella di frequenza dei caratteri ETOAN è insufficiente a causa della mancanza di: 0-9, "-" e "" a) I domini possono contenere trattini (-), underscore () e numeri.
  3. Non progettato per contrastare la DGA di ExploderBot.
  4. Input: semplice file di testo, ogni URL sulla propria riga - nient'altro.
  5. L'input è composto esclusivamente da stringhe URL senza caratteri proibiti.
  6. I file di input e output devono essere nella stessa cartella di questo script.
  7. Python3 è nella variabile PATH.

Set di Dati (Domini):

Il set di dati utilizzato è stato derivato dal log delle query di Pi-Hole (finestra di 12 ore) estratto da SQLite.

BASH:

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

I dati sono stati deduplicati utilizzando Excel > Data > Remove Duplicates Sono stati rimossi anche i dati per i Reverse Lookup (PTR) in-addr.arpa.

Set di Dati (Probabilità):

Sfruttando i risultati di RedCanary per l'analisi DGA, questo script prende l'URL e calcola l'entropia di Shannon.

Fase di Testing DevOps:

  1. shannon.py (1.0) - Far funzionare i calcoli con il Dizionario statico di RedCanary.
  2. shannon.py (1.1) - Test minori integrati nella 1.0.
  3. dictionary.py (1.0) - Test di apertura/chiusura di Cisco + Majestic Top-1M.
  4. shannon.py (2.0) - Combinazione della 1.0 con le funzioni testate di dictionary.py.

Riferimenti:

Splunk Shannon Entropy - da dove è nata l'idea* https://www.splunk.com/en_us/blog/tips-and-tricks/when-entropy-meets-shannon.html

SANS Mark Baggett - Strumento usato da RedCanary per analizzare Alexa Top 1M https://github.com/markbaggett/freq

RedCanary - Blog da cui provengono i punteggi di Probabilità https://redcanary.com/blog/threat-hunting-entropy/

Alexa's Top 1M Domains - Corpus di dati utilizzato da RedCanary https://www.alexa.com/topsites

DGA Detector https://github.com/exp0se/dga_detector

Entropia di Shannon - Formula https://towardsdatascience.com/the-intuition-behind-shannons-entropy-e74820fe9800

Scarica lo strumento