detecting-exfiltration-over-dns-with-zeek
通过分析 Zeek dns.log 中的高熵值子域名和异常查询模式,检测基于 DNS 的数据渗出
Best use case
detecting-exfiltration-over-dns-with-zeek is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
通过分析 Zeek dns.log 中的高熵值子域名和异常查询模式,检测基于 DNS 的数据渗出
Teams using detecting-exfiltration-over-dns-with-zeek should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/detecting-exfiltration-over-dns-with-zeek/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How detecting-exfiltration-over-dns-with-zeek Compares
| Feature / Agent | detecting-exfiltration-over-dns-with-zeek | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
通过分析 Zeek dns.log 中的高熵值子域名和异常查询模式,检测基于 DNS 的数据渗出
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
## 概述
DNS 隧道与渗出(DNS tunneling/exfiltration)是攻击者绕过防火墙和 DLP(数据泄露防护)控制的技术,通过将窃取的数据编码到 DNS 查询的子域名中来实现。合法 DNS 查询的熵值和长度具有可预测的规律,而渗出查询的编码数据具有高香农熵(Shannon entropy)、异常长的子域名标签,以及每个父域名下大量唯一子域名。
本技能分析 Zeek dns.log 文件(TSV 格式)以检测渗出指标。智能体对每个子域名组件计算香农熵,识别超过 63 字符 DNS 标签限制的查询,统计每个父域名的唯一子域名数量,并标记超过可配置阈值的域名。这些技术可检测 dnscat2、iodine、dns2tcp 以及自定义 DNS 隧道工具。
## 前置条件
- Python 3.9 或更高版本,使用标准库中的 math 和 collections 模块
- 标准字段头的 TSV 格式 Zeek dns.log 文件
- 由 Zeek 5.0+ 处理的网络捕获数据
- 了解 DNS 协议结构和查询类型
## 步骤
1. **解析 Zeek dns.log 头部**:读取 TSV 文件,提取 `#fields` 头部行,确定 `ts`、`id.orig_h`、`query`、`qtype_name`、`rcode_name` 和 `answers` 的列位置。
2. **提取并分解查询**:对每个 DNS 查询,将 FQDN 拆分为子域名标签和父域名。跳过已知安全域名和内部区域的查询。
3. **计算香农熵**:计算每个子域名标签的信息熵。合法子域名的熵值通常低于 3.5,而编码/加密数据的熵值高于 4.0。
4. **检测长标签**:标记超过 52 字符的 DNS 标签(接近 63 字符上限)。长标签是数据隧道的强烈指标。
5. **统计每域名唯一子域名数量**:跟踪每个父域名收到的不同子域名数量。在日志窗口内超过 50 个唯一子域名的域名为可疑域名。
6. **识别查询量异常**:按源 IP 和域名计算每分钟查询数。渗出工具会产生持续的高频查询流,不同于正常的浏览行为。
7. **评分并排名域名**:将熵值、标签长度、唯一性数量和查询量合并为综合风险评分。按评分对域名排名并输出最可疑的域名。
8. **生成检测报告**:输出包含标记域名、证据指标、来源 IP 及建议响应操作的 JSON 报告。
## 预期输出
```json
{
"analysis_summary": {
"total_queries_analyzed": 145832,
"unique_domains": 3421,
"flagged_domains": 3,
"entropy_threshold": 3.5
},
"flagged_domains": [
{
"domain": "data.evil-c2.com",
"unique_subdomains": 892,
"avg_entropy": 4.72,
"max_label_length": 61,
"source_ips": ["10.0.1.45"],
"risk_score": 9.4,
"indicators": ["high_entropy", "long_labels", "high_subdomain_count"]
}
]
}
```Related Skills
recovering-from-ransomware-attack
按照 NIST 和 CISA 框架执行结构化勒索软件事件恢复,包括环境隔离、取证证据保全、 干净基础设施重建、从已验证备份优先还原系统、凭据重置,以及针对再感染的验证。 涵盖 Active Directory 恢复、数据库还原和按依赖顺序重建应用栈。
recovering-deleted-files-with-photorec
使用 PhotoRec 基于文件签名的数据雕刻(File Carving)引擎,从磁盘镜像和存储介质中恢复已删除文件,无论文件系统是否损坏。
performing-privileged-account-discovery
发现并清点企业基础设施中的所有特权账户,包括域管理员、本地管理员、服务账户、数据库管理员、云 IAM 角色和应用管理员账户。
performing-network-traffic-analysis-with-zeek
部署 Zeek 网络安全监控器,捕获、解析和分析网络流量元数据,用于威胁检测、异常识别和取证调查。
performing-ics-asset-discovery-with-claroty
使用Claroty xDome平台执行全面的ICS/OT资产发现,利用被动监控、Claroty Edge主动查询和集成生态系统,在Purdue模型各级别获得对工业控制系统资产(包括PLC、RTU、HMI和网络基础设施)的完整可见性。
performing-api-inventory-and-discovery
执行 API 资产清点和发现,以识别组织环境中的所有 API 端点,包括已记录的、 未记录的、影子 API、僵尸 API 和已废弃的 API。测试人员通过被动流量分析、 主动扫描、DNS 枚举、JavaScript 分析和云资源清点来构建全面的 API 目录。 映射至 OWASP API9:2023 不当资产管理。当请求涉及 API 发现、影子 API 检测、 API 清单审计或攻击面测绘时触发。
implementing-mitre-attack-coverage-mapping
实施 MITRE ATT&CK 覆盖率映射,以识别检测空白、优先排序规则开发,并衡量 SOC 检测成熟度与对手技术的匹配程度。
implementing-identity-governance-with-sailpoint
部署 SailPoint IdentityNow 或 IdentityIQ 进行身份治理和管理。涵盖身份生命周期管理、访问请求工作流、认证活动、角色挖掘、职责分离(SOD)策略执行以及企业 IAM 的合规报告。
hunting-for-dns-tunneling-with-zeek
通过分析 Zeek dns.log 中的高熵子域名查询、超量查询量、超长查询长度以及异常 DNS 记录类型,检测 DNS 隧道和数据外泄中的隐蔽通道通信。适用于:当需要狩猎基于 DNS 的 C2 或数据外泄通道、调查异常 DNS 查询模式、或响应涉及 DNS 隧道工具(iodine、dnscat2、DNSExfiltrator)的威胁情报时使用。
hunting-for-data-staging-before-exfiltration
通过监控 7-Zip/RAR 压缩文件创建、异常临时目录访问、大文件合并以及暂存目录模式,借助 EDR 和进程遥测检测数据外泄前的暂存活动。
hunting-for-data-exfiltration-indicators
通过网络流量分析狩猎数据外泄行为,检测异常数据流、DNS 隧道、云存储上传以及加密通道滥用。
detecting-wmi-persistence
通过分析 Sysmon 事件 ID 19、20 和 21 中的恶意 EventFilter、EventConsumer 和 FilterToConsumerBinding 创建,检测 WMI 事件订阅持久化。