Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
SUNBURST — 使用香农熵检测 SUNBURST C2 第一阶段 | Kitploit
工具/GitHubGitHub/malwaremorghulis/sunburst
网络安全恶意软件分析命令与控制威胁情报DNS 分析异常检测
GitHubmalwaremorghulis/sunburst

SUNBURST

使用香农熵检测 SUNBURST C2 第一阶段

查看仓库
3143年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

SUNBURST

Detection for SUNBURST C2 Stage-1 using Shannon Entropy

关于:

使用香农熵检测域名生成算法(DGA)。 该函数仅接收FQDN输入,或从CSV文件读取。 语法:Prefix_or_subdomain.Domain.TLD 由于APT利用长字符串DGA进行杀伤链C2而开发。 识别高熵(>2倍标准差)的长字符串URL。 关注长前缀/子域名URL的前2.5%。 保存额外元数据供CND分析师使用(例如前缀长度)

要求:

  1. Python 3.9+
  2. Python存在于PATH环境变量中
  3. 列出所有导入项(如有必要,使用pip install)
  4. 输入DNS日志每行一个FQDN(无其他标点)
  5. Cisco Top-1M(CSV、ZIP)或Majestic Top-1M(CSV)文件与脚本位于同一文件夹。

运行方法(交互模式开启,见变量部分):

  1. 安装Python 3.9.x
  2. 准备所有输入文件并确保格式正确(域名在文本文件中,每行一个,无标点)
  3. 确保输入文件与此脚本位于同一目录/文件夹。 4a) (Windows) 在Python IDLE或Visual Studio Code中打开此脚本。 4b) (Linux) $~: python3 shannon.py
  4. 输入要检查的DNS日志文件。
  5. 输入要使用的Cisco Umbrella(CSV/ZIP)或Majestic Top-1M文件(CSV)。
  6. 等待生成频率和香农熵值。
  7. 检查输出文件。

运行方法(交互模式关闭,见变量部分):

  1. 安装Python 3.9.x
  2. 准备所有输入文件并确保格式正确(域名在文本文件中,每行一个,无标点)
  3. 确保输入文件与此脚本位于同一目录/文件夹。 4a) (Windows) 在Python IDLE或Visual Studio Code中打开此脚本。 4b) (Linux) $~: python3 shannon.py
  4. 要分析的输入日志为"domains.txt",见变量部分。
  5. 选择Top-N文件以构建字典概率,见变量部分。
  6. 等待生成频率和香农熵值。
  7. 检查输出文件。

假设:

  1. 大写和小写字母出现的概率相等。 a) 忽略TOR节点改变DNS查询的大小写敏感性及0x20编码。
  2. ETOAN字符频率图不足,因缺少:0-9、"-"和"" a) 域名可以包含连字符(-)、下划线()和数字。
  3. 非设计用于对抗ExploderBot DGA。
  4. 输入:纯文本文件,每个URL占一行,无其他内容。
  5. 输入仅由URL字符串组成,不含禁止字符。
  6. 输入和输出文件必须与此脚本位于同一文件夹。
  7. Python3在PATH环境变量中。

数据集(域名):

使用的数据集来自从SQLite提取的Pi-Hole查询日志(12小时窗口)。

BASH:

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

使用 Excel > 数据 > 删除重复项 进行去重 还移除了反向查询(PTR)in-addr.arpa的数据。

数据集(概率):

本脚本利用RedCanary的DGA分析结果,输入URL并计算香农熵。

DevOps测试阶段线:

  1. shannon.py (1.0) - 使计算能够与静态RedCanary字典配合工作。
  2. shannon.py (1.1) - 微小测试合并到1.0中。
  3. dictionary.py (1.0) - 测试打开/关闭Cisco + Majestic Top-1M。
  4. shannon.py (2.0) - 合并1.0与dictionary.py的测试功能。

参考:

Splunk香农熵 - 此想法的来源* https://www.splunk.com/en_us/blog/tips-and-tricks/when-entropy-meets-shannon.html

SANS Mark Baggett - RedCanary用于分析Alexa Top 1M的工具 https://github.com/markbaggett/freq

RedCanary - 概率评分来源的博客 https://redcanary.com/blog/threat-hunting-entropy/

Alexa Top 1M域名 - RedCanary使用的语料库 https://www.alexa.com/topsites

DGA检测器 https://github.com/exp0se/dga_detector

香农熵 - 公式 https://towardsdatascience.com/the-intuition-behind-shannons-entropy-e74820fe9800

下载工具