umang220/DNS-Threat-Hunting-Splunk-Analysis

GitHub: umang220/DNS-Threat-Hunting-Splunk-Analysis

基于Splunk SIEM的DNS日志威胁狩猎方案,提供SPL查询规则和仪表板模板,用于检测隧道、DGA、C2等DNS层攻击。

Stars: 1 | Forks: 0

[![GitHub stars](https://img.shields.io/github/stars/umang220/DNS-Threat-Hunting-Splunk-Analysis)](https://github.com/umang220/DNS-Threat-Hunting-Splunk-Analysis) [![GitHub license](https://img.shields.io/github/license/umang220/DNS-Threat-Hunting-Splunk-Analysis)](https://github.com/umang220/DNS-Threat-Hunting-Splunk-Analysis/blob/main/LICENSE) [](https://github.com/umang220/DNS-Threat-Hunting-Splunk-Analysis/stargazers) [](https://github.com/umang220/DNS-Threat-Hunting-Splunk-Analysis/forks) [](https://github.com/umang220/DNS-Threat-Hunting-Splunk-Analysis/blob/main/LICENSE) ## 🚀 项目概述 本项目演示了如何使用 **Splunk SIEM** 来获取、分析和可视化 DNS 日志文件,以进行威胁狩猎。主要关注点:检测异常情况,例如可疑域名、大容量查询、隧道、DGA(域名生成算法)以及非工作时间活动。 **为什么要进行 DNS 分析?** DNS 通常是攻击的第一步(例如 C2 通信、数据泄露)。此设置有助于 SOC 分析师及早识别威胁。 ### 🎯 目标 - 解析并索引 DNS 日志(BIND、Windows 或 Cisco Umbrella 格式)。 - 构建 SPL 查询以进行异常检测。 - 创建交互式仪表板以进行实时监控。 - 模拟威胁场景并生成警报。 ## 🛠️ 技术栈 - **Splunk Enterprise**(SIEM 工具) - **SPL(搜索处理语言)**用于查询 - **Markdown** 用于文档编写 - 样本数据:合成 DNS 日志(出于隐私考虑,不共享真实数据) ## 📊 分步实施 ### 1. 数据获取 - 通过 `Add Data` > `Upload` 将样本 DNS 日志上传到 Splunk。 - 配置了 sourcetype:`dns`,并进行了自定义字段提取(例如,通过正则表达式提取 `query`:`r"(?P[^.]+)\..*"`)。 - 索引在 `index=dns_logs` 下。 ### 2. 关键 SPL 查询 以下是我构建的核心搜索: #### 查询量最大的域名(大容量指标) ``` index=dns_logs sourcetype=dns | stats count by query | sort - count | head 10 | rename count as "Query_Volume" #### 长子域名 (DNS Tunneling 检测) index=dns_logs sourcetype=dns | eval length=len(query) | where length > 50 | stats count by query, src_ip | sort -count #### 非工作时间查询激增 (Unusual Timing 检测) index=dns_logs sourcetype=dns | eval hour=strftime(_time, "%H") | where hour < "06" OR hour > "22" | timechart span=1h count by src_ip #### 每个 IP 的稀有 / 唯一域名 (DGA / Beaconing 检测) index=dns_logs sourcetype=dns | stats dc(query) as unique_domains by src_ip | where unique_domains > 100 | sort -unique_domains ``` ### 3. 创建仪表板 构建了一个用于 DNS 威胁监控的自定义 Splunk 仪表板: - 包含的面板:热门域名(条形图)、随时间变化的查询量(折线图)、非工作时间峰值、长子域名表、按 IP 排名的主要通信者。 - 使用上述 SPL 查询作为面板的数据源。 - 仪表板有助于快速的视觉化威胁狩猎。 ## 示例:Splunk DNS 搜索输出 ![image alt](https://github.com/umang220/DNS-Threat-Hunting-Splunk-Analysis/blob/f6fd592d006fc97d64f2ab8af9f824efd4141829/images/splunk-dnslogs-search-example.png) *显示 DNS 日志分析的 Splunk 搜索结果示例。*
标签:AMSI绕过, C2通信, DGA域名检测, DNS日志分析, DNS隧道, IP 地址批量处理, Splunk Enterprise, SPL查询, 仪表盘, 命令与控制, 威胁检测, 安全运营, 异常检测, 扫描框架, 数据摄取, 数据渗出, 网络安全, 防御加固, 隐私保护