Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
SUNBURST — Detecção de SUNBURST C2 Stage-1 usando Entropia de Shannon | Kitploit
Ferramentas/GitHubGitHub/malwaremorghulis/sunburst
Segurança de RedeAnálise de MalwareComando e ControleInteligência de AmeaçasAnálise de DNSDetecção de Anomalias
GitHubmalwaremorghulis/sunburst

SUNBURST

Detecção de SUNBURST C2 Stage-1 usando Entropia de Shannon

Ver Repositório
31há 3 anosAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

SUNBURST

Detecção para SUNBURST C2 Estágio-1 usando Entropia de Shannon

Sobre:

Usando Entropia de Shannon para detectar Algoritmos de Geração de Domínios (DGA). Deve receber apenas FQDNs na função ou ler de um arquivo CSV. SYNTAX: Prefixo_ou_subdomínio.Domínio.TLD Feito devido a APTs que utilizam DGA de strings longas para Kill Chain: C2. Identificar URLs de strings longas que tenham alta entropia > 2x Desvios Padrão. Observando o limite superior de 2,5% das URLs com prefixos/subdomínios longos. Salvando metadados extras caso analistas de CND precisem (ex.: Comprimento do Prefixo)

Requisitos:

  1. Python 3.9+
  2. Python existente na variável PATH
  3. Todas as importações listadas (pip install, se necessário)
  4. O log DNS de entrada tem 1x FQDN por linha (sem outra pontuação)
  5. Cisco Top-1M (CSV, ZIP) ou Majestic (CSV) Top-1M existem na mesma pasta que o script.

Como-Executar (MODO INTERATIVO está LIGADO, veja VARIÁVEIS):

  1. Instale Python 3.9.x
  2. Prepare todos os arquivos de entrada com a formatação correta (domínios em um arquivo de texto, 1 por linha, sem pontuação)
  3. Garanta que os arquivos de entrada estejam no mesmo diretório/pasta que este script. 4a) (Windows) Abra este script no Python IDLE ou Visual Studio Code. 4b) (Linux) $~: python3 shannon.py
  4. Informe o arquivo de log DNS de entrada para examinar.
  5. Informe o arquivo Cisco Umbrella (CSV/ZIP) ou Majestic Top-1M (CSV) a ser usado.
  6. Aguarde a geração dos valores de Frequência e Entropia de Shannon.
  7. Examine os arquivos de saída.

Como-Executar (MODO INTERATIVO está DESLIGADO, veja VARIÁVEIS):

  1. Instale Python 3.9.x
  2. Prepare todos os arquivos de entrada com a formatação correta (domínios em um arquivo de texto, 1 por linha, sem pontuação)
  3. Garanta que os arquivos de entrada estejam no mesmo diretório/pasta que este script. 4a) (Windows) Abra este script no Python IDLE ou Visual Studio Code. 4b) (Linux) $~: python3 shannon.py
  4. O Log de entrada para analisar é "domains.txt", veja VARIÁVEIS.
  5. Escolha o arquivo Top-N para construir a probabilidade do dicionário, veja VARIÁVEIS.
  6. Aguarde a geração dos valores de Frequência e Entropia de Shannon.
  7. Examine os arquivos de saída.

Suposições:

  1. Letras maiúsculas e minúsculas têm igual probabilidade de aparecimento. a) Desconsiderando que nós TOR alteram a sensibilidade a maiúsculas/minúsculas em consultas DNS e codificação 0x20.
  2. O gráfico de frequência de caracteres ETOAN é insuficiente devido à ausência de: 0-9, "-" e "" a) Domínios podem ter hífens (-), sublinhados () e números.
  3. Não foi projetado para combater o DGA do ExploderBot.
  4. Entrada: arquivo de texto simples, cada URL em sua própria linha - nada mais.
  5. A entrada é composta estritamente por strings de URL sem caracteres proibidos.
  6. Os arquivos de entrada e saída devem estar na mesma pasta que este script.
  7. Python3 está na variável PATH.

Conjunto de Dados (Domínios):

O conjunto de dados usado foi derivado do log de consultas do Pi-Hole (janela de 12 horas) extraído do SQLite.

BASH:

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

Os dados foram deduplicados usando Excel > Dados > Remover Duplicatas Dados para consultas reversas (PTR) em in-addr.arpa também foram removidos.

Conjunto de Dados (Probabilidades):

Utilizando os resultados da RedCanary para análise de DGA, este script pega a URL e calcula a entropia de Shannon.

Linha de Testes de DevOps:

  1. shannon.py (1.0) - Fazer os cálculos funcionarem com o Dicionário estático da RedCanary.
  2. shannon.py (1.1) - Testes menores mesclados na 1.0.
  3. dictionary.py (1.0) - Testar abertura/fechamento do Cisco + Majestic Top-1M.
  4. shannon.py (2.0) - Combinando a 1.0 com as funções testadas do dictionary.py.

Referência:

Splunk Shannon Entropy - de onde a ideia veio* https://www.splunk.com/en_us/blog/tips-and-tricks/when-entropy-meets-shannon.html

SANS Mark Baggett - Ferramenta que a RedCanary usou para analisar o Alexa Top 1M https://github.com/markbaggett/freq

RedCanary - Blog de onde vêm as pontuações de Probabilidade https://redcanary.com/blog/threat-hunting-entropy/

Alexa's Top 1M Domains - Corpus de Dados usado pela RedCanary https://www.alexa.com/topsites

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

Shannon Entropy - Fórmula https://towardsdatascience.com/the-intuition-behind-shannons-entropy-e74820fe9800

Baixar ferramenta