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
SUNBURST — Detección de la Etapa 1 del C2 de SUNBURST mediante entropía de Shannon | Kitploit
Herramientas/GitHubGitHub/malwaremorghulis/sunburst
Seguridad de RedesAnálisis de MalwareComando y ControlInteligencia de AmenazasAnálisis de DNSDetección de Anomalías
GitHubmalwaremorghulis/sunburst

SUNBURST

Detección de la Etapa 1 del C2 de SUNBURST mediante entropía de Shannon

Ver Repositorio
31hace 3 añosAú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

SUNBURST

Detección para SUNBURST C2 Stage-1 usando la entropía de Shannon

Acerca de:

Usando la entropía de Shannon para detectar algoritmos de generación de dominios (DGA). Solo se deben introducir FQDNs en la función o leerse desde un archivo CSV. SYNTAX: Prefix_or_subdomain.Domain.TLD Hecho debido a que los APTs aprovechan DGA de cadenas largas para la Kill Chain: C2. Identificar URLs de cadenas largas que tengan alta entropía > 2 desviaciones estándar. Observando el límite superior del 2.5% de URLs con prefijos/subdominios largos. Guardando metadatos adicionales por si los analistas de CND los necesitan (p. ej., longitud del prefijo).

Requisitos:

  1. Python 3.9+
  2. Python existe en la variable PATH
  3. Todos los imports indicados (pip install, si es necesario)
  4. El registro DNS de entrada tiene 1 FQDN por línea (sin otra puntuación)
  5. Los archivos Cisco Top-1M (CSV, ZIP) o Majestic (CSV) Top-1M existen en la misma carpeta que el script.

Cómo ejecutar (MODO INTERACTIVO está ACTIVADO, consulte VARIABLES):

  1. Instalar Python 3.9.x
  2. Preparar todos los archivos de entrada con el formato correcto (dominios en un archivo de texto, 1 por línea, sin puntuación)
  3. Asegurarse de que los archivos de entrada estén en el mismo directorio/carpeta que este script. 4a) (Windows) Abrir este script en Python IDLE o Visual Studio Code. 4b) (Linux) $~: python3 shannon.py
  4. Ingresar el archivo de registro DNS de entrada para examinar.
  5. Ingresar el archivo Cisco Umbrella (CSV/ZIP) o Majestic Top-1M (CSV) a utilizar.
  6. Esperar a que se generen los valores de Frecuencia y Entropía de Shannon.
  7. Examinar los archivos de salida.

Cómo ejecutar (MODO INTERACTIVO está DESACTIVADO, consulte VARIABLES):

  1. Instalar Python 3.9.x
  2. Preparar todos los archivos de entrada con el formato correcto (dominios en un archivo de texto, 1 por línea, sin puntuación)
  3. Asegurarse de que los archivos de entrada estén en el mismo directorio/carpeta que este script. 4a) (Windows) Abrir este script en Python IDLE o Visual Studio Code. 4b) (Linux) $~: python3 shannon.py
  4. El registro de entrada a analizar es "domains.txt", consulte VARIABLES.
  5. Seleccionar el archivo Top-N para construir la probabilidad del diccionario, consulte VARIABLES.
  6. Esperar a que se generen los valores de Frecuencia y Entropía de Shannon.
  7. Examinar los archivos de salida.

Supuestos:

  1. Las letras mayúsculas y minúsculas tienen la misma probabilidad de aparición. a) Ignorando que los nodos TOR alteran la sensibilidad a mayúsculas/minúsculas en las consultas DNS y la codificación 0x20.
  2. La tabla de frecuencia de caracteres ETOAN es insuficiente porque faltan: 0-9, "-", y "" a) Los dominios pueden tener guiones (-), guiones bajos () y números.
  3. No está diseñado para contrarrestar el DGA de ExploderBot.
  4. Entrada: archivo de texto simple, cada URL en su propia línea; nada más.
  5. La entrada se compone estrictamente de cadenas URL sin caracteres prohibidos.
  6. Los archivos de entrada y salida deben estar en la misma carpeta que este script.
  7. Python3 está en la variable PATH.

Conjunto de datos (Dominios):

El conjunto de datos utilizado se derivó del registro de consultas de Pi-Hole (ventana de 12 horas) extraído de SQLite.

BASH:

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

Los datos se deduplicaron usando Excel > Datos > Quitar duplicados También se eliminaron los datos de búsquedas inversas (PTR) in-addr.arpa.

Conjunto de datos (Probabilidades):

Utilizando los resultados de RedCanary para el análisis de DGA, este script toma la URL y calcula la entropía de Shannon.

Línea de fases de pruebas DevOps:

  1. shannon.py (1.0) - Hacer que los cálculos funcionen con el diccionario estático de RedCanary.
  2. shannon.py (1.1) - Pruebas menores fusionadas en la 1.0.
  3. dictionary.py (1.0) - Probar la apertura/cierre de Cisco + Majestic Top-1M.
  4. shannon.py (2.0) - Combinando la 1.0 con las funciones probadas de dictionary.py.

Referencia:

Entropía de Shannon de Splunk: de donde surgió la idea* https://www.splunk.com/en_us/blog/tips-and-tricks/when-entropy-meets-shannon.html

SANS Mark Baggett: herramienta que RedCanary usó para analizar Alexa Top 1M https://github.com/markbaggett/freq

RedCanary: blog de donde provienen las puntuaciones de probabilidad https://redcanary.com/blog/threat-hunting-entropy/

Dominios Top 1M de Alexa: corpus de datos utilizado por RedCanary https://www.alexa.com/topsites

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

Entropía de Shannon: fórmula https://towardsdatascience.com/the-intuition-behind-shannons-entropy-e74820fe9800

Descargar herramienta