LaxmiDahale/DNS-Log-Analysis-using-Splunk.

GitHub: LaxmiDahale/DNS-Log-Analysis-using-Splunk.

该项目使用 Splunk Enterprise 分析 Zeek DNS 日志,通过 SPL 查询检测 DNS 隧道、C2 通信等潜在安全威胁。

Stars: 0 | Forks: 0

# 🔍 使用 Splunk 进行 DNS 日志分析

## 📌 项目概述 本项目重点介绍如何使用 Splunk Enterprise 分析 DNS(域名系统)日志,以监控网络活动、识别可疑的域名请求,并检测潜在的安全威胁。通过对 DNS 日志进行摄取、解析和可视化,揭示可能表明存在恶意活动的模式,例如 DNS 隧道、恶意软件信标、命令与控制 (C2) 通信以及失败的 DNS 解析。 本项目展示了安全运营中心 (SOC) 分析师如何利用 Splunk 的搜索处理语言 (SPL) 来洞察 DNS 流量,并增强威胁检测能力。 ## 🎯 项目目标 * 将 DNS 日志摄取到 Splunk Enterprise 中 * 解析并提取关键的 DNS 元数据 * 使用 SPL 查询分析 DNS 流量 * 识别可疑或异常的 DNS 活动 * 检测潜在的入侵指标 (IOC) * 为 DNS 威胁狩猎和监控奠定基础 ## 🛠️ 使用的技术 | 技术名称 | 用途 | | -------------------------------- | ------------------- | | Splunk Enterprise | 日志分析与 SIEM | | Zeek DNS 日志 | 数据源 | | JSON | 日志格式 | | SPL (搜索处理语言) | 查询与分析 | ## 📂 数据集信息 该数据集由 JSON 格式的 Zeek 风格 DNS 日志组成,包含 DNS 查询和响应事件。 ### 关键字段 | 字段 | 描述 | | ----------- | ----------------------- | | ts | DNS 事件时间戳 | | uid | 唯一 DNS 事务 ID | | id.orig_h | 客户端源 IP | | id.orig_p | 客户端源端口 | | id.resp_h | DNS 服务器 IP | | id.resp_p | DNS 服务器端口 | | qclass_name | DNS 查询类别 | | qtype_name | DNS 查询类型 | | rcode_name | DNS 响应状态 | | answers | DNS 响应记录 | | TTLs | 生存时间值 | ## ⚙️ 实验环境配置 ### 步骤 1:上传 DNS 日志 1. 打开 Splunk Web 2. 导航至: ``` Settings → Add Data → Upload ``` 3. 上传 DNS 日志文件: ``` dns_logs.json ``` ### 步骤 2:验证数据摄取 ``` index=dns_lab | head 5 ``` ## 🔍 检测与分析查询 ### 1️⃣ 最常查询的域名 ``` index=dns_lab | stats count by query | sort -count ``` **用例:** 检测可疑域名、恶意软件信标和 C2 通信模式。 ### 2️⃣ 最活跃的客户端 IP 地址 ``` index=dns_lab | stats count by "id.orig_h" | sort -count ``` **用例:** 识别受感染的僵尸主机、受感染的机器或配置错误且产生大量 DNS 流量的系统。 ### 3️⃣ DNS 查询类型分析 ``` index=dns_lab | stats count by qtype ``` **用例** | 查询类型 | 用途 | | -------- | ------------------------ | | A | IPv4 解析 | | AAAA | IPv6 解析 | | CNAME | 别名/重定向解析 | | PTR | 反向 DNS 查找 | ## 📈 关键发现 ✅ 识别出最常查询的域名 ✅ 发现了产生大量 DNS 流量的客户端系统 ✅ 分析了 DNS 记录类型分布 ✅ 调查了失败的 DNS 解析 ✅ 建立了基线 DNS 流量行为 ✅ 观察了响应趋势和查找模式 ## 🚨 安全洞察 该分析有助于检测: * DNS 隧道 * 恶意软件信标 * 命令与控制 (C2) 通信 * 过度的反向 DNS 查找 * 失败的 DNS 解析 (NXDOMAIN) * 罕见或新观察到的域名 * 高延迟的 DNS 响应 ## 📊 建议的仪表板 ### DNS 流量概览 * DNS 查询总数 * 热门查询域名 * 热门源 IP * 随时间变化的查询量 ### DNS 威胁监控 * NXDOMAIN 趋势 * 可疑域名 * 罕见域名查询 * 高 DNS 流量源 ### 查询类型仪表板 * A 记录 * AAAA 记录 * CNAME 记录 * PTR 记录 ## 🚨 建议的告警 ### 高 DNS 查询量 ``` index=dns_lab | stats count by id.orig_h | where count > 1000 ``` ### NXDOMAIN 激增检测 ``` index=dns_lab rcode_name=NXDOMAIN | timechart count ``` ### 罕见域名检测 ``` index=dns_lab | stats count by query | where count < 3 ``` ### 过多的 PTR 请求 ``` index=dns_lab qtype=PTR | stats count by id.orig_h | sort -count ``` ## 🚀 未来增强功能 * DNS 响应的 GeoIP 丰富 * 使用熵分析的 DNS 隧道检测 * 威胁情报源集成 * 自动告警与报告 * 与 HTTP、代理和防火墙日志的关联 * 基于机器学习的异常检测 * 基于风险的告警优先级排序 ## 🎓 展示的技能 * 安全信息与事件管理 (SIEM) * Splunk 管理 * 日志摄取与解析 * SPL 查询开发 * 威胁狩猎 * 安全监控 * DNS 流量分析 * 网络威胁检测 * 事件调查 ## ✅ 结论 本项目通过利用 Splunk Enterprise 进行 DNS 日志分析和威胁检测,展示了实用的 SOC 分析师技能。通过数据摄取、SPL 查询开发、仪表板创建和安全监控,该项目提供了对网络行为的宝贵洞察,同时有助于识别恶意活动的指标。 ## 👨‍💻 作者 **Laxmi Dahale** 网络安全爱好者 | SOC 分析师候选人 | SIEM 与威胁检测学习者 🔗 LinkedIn: [www.linkedin.com/in/laxmi-nagare-a377aa412](http://www.linkedin.com/in/laxmi-nagare-a377aa412) ⭐ 如果您觉得这个项目有用,请考虑给它点个 Star!
标签:AMSI绕过, DNS分析, Homebrew安装, IP 地址批量处理, Rootkit, Zeek, 威胁检测