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
beacon-hunter — Rileva beacon C2 con struttura phi che eludono RITA e i rilevatori standard basati sulla regolarità. | Kitploit
Strumenti/GitHubGitHub/mrcord77/beacon-hunter
Sicurezza di RetePenetration TestingCommand and ControlThreat IntelligenceRilevamento IntrusioniPaper e RicercaApprendimento e FormazioneRilevamento di Anomalie
GitHubmrcord77/beacon-hunter

beacon-hunter

Rileva beacon C2 con struttura phi che eludono RITA e i rilevatori standard basati sulla regolarità.

Vedi Repository
92 mesi 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

Beacon Hunter

Rilevamento di C2 strutturato non periodico tramite ricorrenza additiva

Beacon Hunter rileva i beacon di comando e controllo (C2) che utilizzano una pianificazione a ricorrenza additiva compatibile con phi — un pattern temporale crescente e non periodico in cui ogni intervallo tra connessioni è approssimativamente uguale alla somma dei due precedenti. Questa famiglia elude di proposito i rilevatori basati sulla regolarità (RITA, AC-Hunter), pur rimanendo strutturalmente identificabile tramite un test di ricorrenza a due gate.

"Un beacon non deve essere periodico per essere strutturato."


Avvio rapido

Pipeline

Pipeline a due gate di Beacon Hunter: il Gate 1 filtra tramite clustering del rapporto phi, il Gate 2 verifica la struttura a ricorrenza additiva.

root@kitploit:~
pip install -r requirements.txt

# Run on a Zeek conn.log
python beacon_hunter.py /path/to/conn.log

# Reproduce all paper results
python run_full_evaluation.py --quick    # ~2 min, skips full evidence suite
python run_full_evaluation.py           # ~5 min, full pipeline

# Run unit tests
pytest tests/

# End-to-end validation (verifies paper claims)
python validate.py

Come funziona

Beacon Hunter è una pipeline a due gate che opera sui log di connessione Zeek.

Gate 1 — Test del rapporto
Raggruppa le connessioni della stessa coppia sorgente/destinazione e calcola i rapporti consecutivi degli intervalli tra connessioni (ICI). Supera il test se il rapporto medio è vicino a phi (φ = 1.618) entro ±0.20 e la variabilità del rapporto (CV) è inferiore a 0.50. Minimo: 5 intervalli.

Gate 2 — Test di ricorrenza additiva
Verifica se ICI[n+2] ≈ ICI[n+1] + ICI[n] vale per tutte le triple consecutive, usando l'errore relativo medio rispetto a un null di permutazione a 500 iterazioni. Supera il test se l'errore medio < 0.20 e p < 0.05. Questo gate rifiuta la crescita a legge di potenza (residuo 0.40) e il backoff esponenziale (0.56), che superano il Gate 1 per pura coincidenza.

Etichette di classificazione

Inviluppo di accettazione: rapporti geometrici in [1.45, 1.80], confermato empiricamente tramite scansione dei limiti.


Architettura

root@kitploit:~
beacon_hunter_github/
├── beacon_hunter.py          # CLI detector — entry point
├── detectors.py              # Pure stateless gate functions (556 lines)
├── validate.py               # 32-check end-to-end validation
├── run_full_evaluation.py    # One-command reproduction pipeline
├── requirements.txt          # Pinned dependencies
├── evidence/
│   ├── evidence_suite.py     # All 6 evaluation batteries (Experiments A-J)
│   ├── rita_comparison.py    # RITA-style periodicity baseline + real RITA comparison
│   ├── roc_and_ci.py         # ROC curve (AUC=0.900) + Wilson CI
│   ├── generate_figures.py   # Figures 1-7 (PNG + PDF)
│   └── *.json                # Pre-computed results
├── data/
│   ├── pcaps/                # Ground-truth PCAPs (see Dataset Notes below)
│   └── zeek/                 # Zeek conn.log files
├── figures/                  # fig1-fig8 PNG + PDF (sequential)
├── paper/                    # Full paper with appendices A-G
├── reports/                  # Beacon Hunter output reports + real RITA v5.1.2 output
├── tests/
│   └── test_detectors.py     # 34 unit tests (34/34 pass)
├── tools/
│   ├── fib_beacon_client.py  # Fibonacci beacon traffic generator
│   ├── fib_beacon_server.py
│   └── uwf_to_connlog.py     # UWF-ZeekData22 parquet → Zeek conn.log converter
└── archive/                  # Deprecated scripts (legacy_detectors.py, old scanners)

Pipeline delle evidenze


Note sul dataset

Per la valutazione UWF-ZeekData22: scaricare da https://datasets.uwf.edu/data/ e convertire usando tools/uwf_to_connlog.py.


Risultati principali


Validazione operativa

Questi risultati derivano dall'esecuzione di Beacon Hunter su traffico aziendale reale:

Confronto con RITA v5.1.2 reale (reports/rita_output_v5.1.2_24h.txt):
Entrambi gli strumenti rilevano il beacon periodico con jitter di 30 secondi. RITA lo valuta 0.617 a gravità bassa tra 50 altri avvisi Critical/High. Beacon Hunter lo classifica come JITTERED_BEACON. Una pianificazione a ricorrenza additiva pura ottiene un punteggio inferiore a 0.35 in RITA — dimostrato analiticamente nell'Appendice A, confermato empiricamente.

UWF-ZeekData22 (1 milione di connessioni aziendali reali):
0/12,083 flussi analizzati segnalati come ADDITIVE_RECURRENCE_BEACON nella settimana benigna. 0/1,995 nella settimana di attacco Recon/Discovery (corretto — le scansioni delle porte non sono beaconing). Tutti i 4 beacon Fibonacci iniettati rilevati con jitter 0–25%.

Background Zeek aziendale di 24 ore:
1/243 flussi analizzati segnalato — NDP IPv6 al 34% dell'euristica di triage dell'analista, marginale e attribuibile al protocollo.


Riproduzione

Vedere EXPECTED_RESULTS.md per gli output numerici esatti attesi.

root@kitploit:~
# Quick verification of all paper claims:
python validate.py

# Full pipeline (generates all outputs from scratch):
python run_full_evaluation.py

# Expected: 32/32 validation checks pass, ROC AUC=0.900, jitter 20%=100% detection

Limitazioni

  • Nessun malware reale confermato che utilizzi una pianificazione compatibile con phi (il modello di minaccia è teorico)
  • Tasso di falsi positivi caratterizzato su due dataset reali; la valutazione su scala aziendale e multi-settimanale rimane lavoro futuro
  • La superficie di rilevamento è volutamente ristretta — il rilevatore prende di mira una sola famiglia strutturale di temporizzazione

Citazione

Se utilizzi questo lavoro, cita l'articolo allegato:

Cordero, A. (2026). Detecting Non-Periodic Structured C2 Beaconing via Additive Recurrence. RepoSignal.io LLC. https://doi.org/10.5281/zenodo.20431555

DOI


Licenza

AGPL-3.0. Vedi LICENSE.

Licenza commerciale disponibile tramite RepoSignal.io LLC.

Scarica lo strumento
LabelSignificato
ADDITIVE_RECURRENCE_BEACONEntrambi i gate superati — pianificazione a intervalli crescenti compatibile con phi
JITTERED_BEACONPeriodico con jitter — supera il gate del rapporto, fallisce la ricorrenza
REGULAR_BEACONBeacon a intervallo costante
BACKGROUNDNessuna struttura di beaconing rilevata
INSUFFICIENT_DATAMeno di 5 intervalli
ScriptEsperimentiOutput
evidence/evidence_suite.pyA (sintetico), B (PCAP di laboratorio), C (jitter AC), E (batteria avversariale), F (scansione del jitter), G (sensibilità alla lunghezza), H (distribuzione nulla), I (limite di phi), J (mappa logistica)evidence_results.json
evidence/roc_and_ci.pyG.5 (ROC, AUC=0.900), G (Wilson CI [0.992, 1.000])roc_results.json
evidence/rita_comparison.pyD (confronto baseline in stile RITA)rita_comparison_results.json
evidence/generate_figures.pyFigure 1-7figures/fig*.png/pdf
FileTipoDescrizione
data/pcaps/fib_beacon_validation.pcapngRiferimento realePCAP di beacon Fibonacci generato in laboratorio; usato nell'Esperimento B
data/pcaps/jit_var_d30_j0_1h.pcapRiferimento realeBeacon costante da 30s, 0% jitter, 1 ora
data/pcaps/jit_var_d30_j10_1h.pcapRiferimento realeBeacon da 30s, 10% jitter, 1 ora
data/pcaps/jit_var_d30_j99_1h.pcapRiferimento realeBeacon da 30s, 99% jitter (rumore puro), 1 ora
data/zeek/delay_var_d30_j25_combined.logReali + iniettaticonn.log Zeek aziendale di 2 ore con beacon iniettato da 30s + 25% jitter
data/zeek/delay_var_d30_j25_24h_combined.logReali + iniettatiVersione da 24 ore del precedente
reports/rita_output_v5.1.2_24h.txtOutput RITA realeOutput binario effettivo di RITA v5.1.2 sul dataset da 24h (100 flussi valutati)
EsperimentoRisultato
Rilevamento sintetico (Esp. A)3/3 classi di beacon corrette, 0 FP
PCAP di laboratorio (Esp. B)ADDITIVE_RECURRENCE_BEACON, rec_err=0.000, p<0.002
Scansione del jitter (Esp. F)100% di rilevamento fino al 20% di jitter; crollo al 30%
Legge di potenza vs backoff esponenziale (Esp. E)Residui 0.40 e 0.56 > soglia 0.20; correttamente rifiutati
ROC AUC (Esp. G.5)0.900; TPR=1.000 a FPR=0.071
RITA v5.1.2 reale su beacon con jitter0.617 gravità bassa (entrambi gli strumenti rilevano; classificazione diversa)
UWF-ZeekData22 (1M di flussi, benigni)0/12,083 flussi analizzati segnalati come ARB — 0.00% FPR
Batteria della mappa logistica (Esp. J)Logistica pura: 0% di rilevamento; polarizzata su phi ≤20% di rumore: 100%
Scansione dei limiti di phi (Esp. I)Finestra di accettazione [1.45, 1.80] confermata