Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
beacon-hunter — Detecta balizas C2 con estructura phi que evaden RITA y los detectores estándar basados en regularidad. | Kitploit
Herramientas/GitHubGitHub/mrcord77/beacon-hunter
Seguridad de RedesPruebas de PenetraciónComando y ControlInteligencia de AmenazasDetección de IntrusionesPapers e InvestigaciónAprendizaje y EducaciónDetección de Anomalías
GitHubmrcord77/beacon-hunter

beacon-hunter

Detecta balizas C2 con estructura phi que evaden RITA y los detectores estándar basados en regularidad.

Ver Repositorio
9hace 2 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Beacon Hunter

Detección de C2 estructurado no periódico mediante recurrencia aditiva

Beacon Hunter detecta beaconing de comando y control que utiliza una programación de recurrencia aditiva compatible con phi: un patrón temporal creciente y no periódico en el que cada intervalo entre conexiones es aproximadamente igual a la suma de los dos anteriores. Esta familia evade por diseño los detectores basados en regularidad (RITA, AC-Hunter), a la vez que permanece estructuralmente identificable mediante una prueba de recurrencia de dos etapas.

"Un beacon no necesita ser periódico para estar estructurado."


Inicio rápido

Pipeline

Pipeline de dos etapas de Beacon Hunter: la Etapa 1 filtra por agrupamiento de razón phi; la Etapa 2 prueba la estructura de recurrencia aditiva.

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

Cómo funciona

Beacon Hunter es un pipeline de dos etapas que opera sobre registros de conexión de Zeek.

Etapa 1 — Prueba de razón
Agrupa las conexiones del mismo par origen/destino y calcula las razones de los intervalos entre conexiones (ICI) consecutivos. Pasa si la razón media está cerca de phi (φ = 1.618) dentro de ±0.20 y la variabilidad de la razón (CV) es inferior a 0.50. Mínimo: 5 intervalos.

Etapa 2 — Prueba de recurrencia aditiva
Comprueba si ICI[n+2] ≈ ICI[n+1] + ICI[n] se cumple en todas las ternas consecutivas, utilizando el error relativo medio frente a un nulo de permutación de 500 iteraciones. Pasa si el error medio es < 0.20 y p < 0.05. Esta etapa rechaza el crecimiento de ley de potencias (residuo 0.40) y el retroceso exponencial (0.56), que pasan la Etapa 1 por coincidencia.

Etiquetas de clasificación

Región de aceptación: razones geométricas en [1.45, 1.80], confirmada empíricamente mediante barrido de límites.


Arquitectura

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 de evidencia


Notas sobre los conjuntos de datos

Para la evaluación con UWF-ZeekData22: descargue desde https://datasets.uwf.edu/data/ y convierta con tools/uwf_to_connlog.py.


Resultados clave


Validación operativa

Estos resultados provienen de ejecutar Beacon Hunter contra tráfico empresarial real:

Comparación con el RITA real v5.1.2 (reports/rita_output_v5.1.2_24h.txt):
Ambas herramientas detectan el beacon periódico con jitter de 30 segundos. RITA lo puntúa con 0.617 de severidad baja entre otras 50 alertas críticas/altas. Beacon Hunter lo clasifica como JITTERED_BEACON. Un esquema de recurrencia aditiva pura obtiene una puntuación inferior a 0.35 en RITA — demostrado analíticamente en el Apéndice A y confirmado empíricamente.

UWF-ZeekData22 (1 millón de conexiones empresariales reales):
0/12,083 flujos analizados marcados como ADDITIVE_RECURRENCE_BEACON en la semana benigna. 0/1,995 en la semana de ataque Recon/Discovery (correcto: los escaneos de puertos no son beaconing). Los 4 beacons Fibonacci inyectados se detectaron con un jitter de 0–25 %.

Tráfico de fondo de Zeek empresarial de 24 horas:
1/243 flujos analizados marcados — NDP de IPv6 al 34 % en la heurística de triaje del analista, marginal y atribuible al protocolo.


Reproducción

Consulte EXPECTED_RESULTS.md para conocer las salidas numéricas exactas esperadas.

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

Limitaciones

  • No se ha confirmado malware real que utilice una programación compatible con phi (el modelo de amenaza es teórico)
  • La tasa de falsos positivos se caracterizó en dos conjuntos de datos reales; la evaluación a escala empresarial de varias semanas queda como trabajo futuro
  • La superficie de detección es reducida por diseño: el detector se centra en una única familia estructural de temporización

Citación

Si utiliza este trabajo, cite el documento adjunto:

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

DOI


Licencia

AGPL-3.0. Consulte LICENSE.

Las licencias comerciales están disponibles a través de RepoSignal.io LLC.

Descargar herramienta
LabelMeaning
ADDITIVE_RECURRENCE_BEACONAmbas etapas pasan: programación de intervalos crecientes compatible con phi
JITTERED_BEACONPeriódico con jitter: pasa la etapa de razón, falla en recurrencia
REGULAR_BEACONBeacon de intervalo constante
BACKGROUNDNo se detectó estructura de beaconing
INSUFFICIENT_DATAMenos de 5 intervalos
ScriptExperimentsOutput
evidence/evidence_suite.pyA (sintético), B (PCAP de laboratorio), C (jitter de AC), E (batería adversarial), F (barrido de jitter), G (sensibilidad a la longitud), H (distribución nula), I (límite de phi), J (mapa logístico)evidence_results.json
evidence/roc_and_ci.pyG.5 (ROC, AUC=0.900), G (IC de Wilson [0.992, 1.000])roc_results.json
evidence/rita_comparison.pyD (comparación con la línea base estilo RITA)rita_comparison_results.json
evidence/generate_figures.pyFiguras 1-7figures/fig*.png/pdf
FileTypeDescription
data/pcaps/fib_beacon_validation.pcapngVerdad fundamentalPCAP de beacon Fibonacci generado en laboratorio; utilizado en el Experimento B
data/pcaps/jit_var_d30_j0_1h.pcapVerdad fundamentalBeacon constante de 30 s, 0 % de jitter, 1 hora
data/pcaps/jit_var_d30_j10_1h.pcapVerdad fundamentalBeacon de 30 s, 10 % de jitter, 1 hora
data/pcaps/jit_var_d30_j99_1h.pcapVerdad fundamentalBeacon de 30 s, 99 % de jitter (ruido puro), 1 hora
data/zeek/delay_var_d30_j25_combined.logReal + inyectadoconn.log de Zeek empresarial de 2 horas con beacon inyectado de 30 s + 25 % de jitter
data/zeek/delay_var_d30_j25_24h_combined.logReal + inyectadoVersión de 24 horas del anterior
reports/rita_output_v5.1.2_24h.txtSalida real de RITASalida real del binario de RITA v5.1.2 sobre el conjunto de datos de 24 h (100 flujos puntuados)
ExperimentoResultado
Detección sintética (Exp A)3/3 clases de beacon correctas, 0 FP
PCAP de laboratorio (Exp B)ADDITIVE_RECURRENCE_BEACON, rec_err=0.000, p<0.002
Barrido de jitter (Exp F)100 % de detección con hasta un 20 % de jitter; caída abrupta al 30 %
Ley de potencias vs. retroceso exponencial (Exp E)Residuos 0.40 y 0.56 > umbral 0.20; rechazados correctamente
ROC AUC (Exp G.5)0.900; TPR=1.000 con FPR=0.071
RITA real v5.1.2 sobre beacon con jitter0.617 severidad baja (ambas herramientas detectan; clasificación distinta)
UWF-ZeekData22 (1M de flujos, benigno)0/12,083 flujos analizados marcados como ARB — 0.00 % de FPR
Batería de mapa logístico (Exp J)Logístico puro: 0 % de detección; sesgado a phi con ruido ≤20 %: 100 %
Barrido de límites de phi (Exp I)Ventana de aceptación [1.45, 1.80] confirmada