可导入的 Kibana 已保存对象仪表盘,实现了 Splunk PEAK 基线威胁狩猎方法论,用于网络威胁狩猎(CTH)和事件响应(IR)操作。基于 Security Onion 3.0.0 构建并验证,使用 Elasticsearch 中的 Zeek NSM 和 Suricata 数据。
每个仪表盘都遵循一致的两阶段设计:
每个仪表盘都包含:
这些仪表盘旨在同时服务于熟悉协议的经验丰富的威胁狩猎者和正在学习该协议的分析师——markdown 面板记录了正常行为,使仪表盘既是教学辅助工具,也是狩猎工具。
PEAK 框架(Prepare,Execute,Act with Knowledge — 准备、执行、基于知识行动)是由 Splunk 开发的一种结构化威胁狩猎方法论。这些仪表盘实现了 PEAK 框架中的基线狩猎模型:``` Prepare → Define hypothesis; identify data sources; understand normal behavior Execute → Baseline the data; surface statistical deviations; investigate anomalies Act → Document findings; create detections; update the baseline Knowledge → Feed results back into future hunt planning
PEAK 基线狩猎的关键洞见在于:**在你了解“正常”的模样之前,你无法发现“邪恶”**。这些仪表板中的每一个面板都围绕这一原则设计——最高频表定义正常,最低频表则暴露不符合常规的内容。
如需详细了解 PEAK 框架,请参阅 [Splunk PEAK 威胁狩猎框架](https://www.splunk.com/en_us/blog/security/peak-threat-hunting-framework.html)。
---
## 导入说明
1. 在 Kibana 中,导航至 **堆栈管理 → 已保存对象**
2. 单击 **导入**
3. 选择要导入的一个或多个仪表板对应的 `.ndjson` 文件
4. 选择 **冲突时请求操作**(若为重新导入,则选择覆盖)
5. 单击 **导入**
每个文件都完全自包含——包含仪表板、所有可视化以及所有已保存的搜索。不依赖任何外部已保存对象。
> **索引模式要求:** 仪表板使用 `logs-*` 索引模式,这是 Security Onion 3.0 导入的默认模式。请先确认该索引模式存在于您的 Kibana 实例中,然后再导入。
---
## 仪表板参考
### 标准网络协议(Zeek + Suricata)
---
#### `PEAK-Baseline-Conn.ndjson`
**协议:** 网络连接(Zeek `conn.log`)| **筛选器:** `tags:conn`
任何网络基线的基础。涵盖所有 TCP/UDP/ICMP 连接记录,无论其协议类型。狩猎面:罕见的 IP 对与端口组合、长时间连接(信标通信)、发往异常目的地址的高字节数流量、极少出现的目的端口。
**关键字段:** `source.ip`, `destination.ip`, `destination.port`, `network.transport`, `network.protocol`, `network.bytes`, `event.duration`, `connection.state`, `hash.ja4t`
**MITRE:** T1071 (C2), T1048 (Exfil), T1571 (Non-Standard Port), T1572 (Protocol Tunneling)
---
#### `PEAK-Baseline-DNS.ndjson`
**协议:** DNS(Zeek `dns.log`)| **筛选器:** `tags:dns`
DNS 是环境中被查询最多的数据源,也是最常被攻击者滥用的数据源之一。狩猎面:罕见被查询域名(DGA、新 C2 基础设施)、高熵域名、异常查询类型(TXT、ANY、NULL——隧道指标)、罕见解析器、NXDOMAIN 响应风暴。
**关键字段:** `dns.question.name`, `dns.question.type`, `dns.response_code`, `source.ip`, `destination.ip`
**MITRE:** T1071.004 (DNS C2), T1568 (Dynamic Resolution), T1048.003 (DNS Exfil), T1583 (Acquire Infrastructure)
---
#### `PEAK-Baseline-HTTP.ndjson`
**协议:** HTTP/HTTPS(Zeek `http.log`)| **筛选器:** `tags:http or tags:http2`
覆盖用户代理、URI 模式、状态码和主机分布的 Web 流量基线。狩猎面:罕见或格式错误的用户代理(工具指纹)、异常 HTTP 方法、接收 POST 数据的罕见外部主机、与已知框架(Cobalt Strike、Metasploit)相关的 URI 路径、JA4H 指纹。
**关键字段:** `url.domain`, `url.path`, `http.request.method`, `http.response.status_code`, `user_agent.original`, `source.ip`, `destination.ip`, `hash.ja4h`
**MITRE:** T1071.001 (HTTP C2), T1566 (Phishing), T1105 (Tool Transfer), T1059 (Scripted Execution via Web)
---
#### `PEAK-Baseline-TLS.ndjson`
**协议:** TLS/SSL(Zeek `ssl.log`)| **筛选器:** `tags:ssl`
TLS 会话元数据——版本、密码套件、证书主题以及 JA3/JA4 指纹。狩猎面:旧版/弱 TLS 版本(1.0/1.1)、自签名或异常证书主题、罕见 JA3/JA4 客户端指纹(恶意软件工具签名)、过期证书、非标准端口上的 TLS。
**关键字段:** `tls.version`, `tls.cipher`, `tls.client.server_name`, `tls.server.subject`, `tls.server.issuer`, `hash.ja3`, `hash.ja3s`, `hash.ja4`, `hash.ja4s`
**MITRE:** T1573 (Encrypted Channel), T1071 (C2), T1587.003 (Self-Signed Certs)
---
#### `PEAK-Baseline-SMB.ndjson`
**协议:** SMB(Zeek `smb_mapping.log` + `smb_files.log`)| **筛选器:** `tags:smb_mapping or tags:smb_files`
组合仪表板,同时覆盖 SMB 共享映射和文件操作。狩猎面:访问管理共享(ADMIN$、C$、IPC$)、罕见共享路径、异常文件访问模式、访问此前从未接触过的共享的客户端、横向移动中的文件暂存。
**关键字段:** `smb.path`, `smb.share_type`, `file.action`, `file.name`, `file.path`, `source.ip`, `destination.ip`
**MITRE:** T1021.002 (SMB/Windows Admin Shares), T1570 (Lateral Tool Transfer), T1039 (Data from Network Shared Drive)
---
#### `PEAK-Baseline-Kerberos.ndjson`
**协议:** Kerberos(Zeek `kerberos.log`)| **筛选器:** `tags:kerberos`
Active Directory 身份验证基线。狩猎面:Kerberoasting(针对服务账户的 TGS 请求,尤其是 RC4 加密)、AS-REP Roasting(无预认证的请求)、传递票据指标、异常加密类型、罕见的客户端/服务名称对、身份验证失败。
**关键字段:** `kerberos.request_type`, `kerberos.client`, `kerberos.service`, `kerberos.success`, `kerberos.error_code`, `kerberos.cipher`, `kerberos.forwardable`, `source.ip`, `destination.ip`
**MITRE:** T1558.003 (Kerberoasting), T1558.004 (AS-REP Roasting), T1550.003 (Pass-the-Ticket)
---
#### `PEAK-Baseline-FTP.ndjson`
**协议:** FTP(Zeek `ftp.log`)| **筛选器:** `tags:ftp`
FTP 命令与响应基线。狩猎面:匿名身份验证(`ftp`/`anonymous` 用户名)、罕见 FTP 命令(尤其是 SITE、CHMOD、DELE)、异常回复代码、非标准端口上的 FTP、接收数据的罕见外部 FTP 服务器。
**关键字段:** `ftp.command`, `ftp.user`, `ftp.argument`, `server.reply_code`, `server.reply_message`, `source.ip`, `destination.ip`
**MITRE:** T1048 (Exfil over Alt Protocol), T1071 (C2), T1105 (Tool Transfer)
---
#### `PEAK-Baseline-SSH.ndjson`
**协议:** SSH(Zeek `ssh.log`)| **筛选器:** `tags:ssh`
SSH 会话基线,包含客户端/服务器版本字符串和 HASSH 指纹。狩猎面:罕见的 SSH 客户端或服务器横幅(工具指纹)、异常密码/MAC 算法选择、与已知攻击工具(Paramiko、Metasploit)匹配的 HASSH 指纹、非标准端口上的 SSH、罕见的源→目的地址对。
**关键字段:** `ssh.client`, `ssh.server`, `ssh.version`, `ssh.cipher_algorithm`, `ssh.kex_algorithm`, `ssh.authentication.success`, `hash.hassh`, `ssh.hassh_server`
**MITRE:** T1021.004 (SSH Lateral Movement), T1071 (C2), T1110 (Brute Force)
---
#### `PEAK-Baseline-RDP.ndjson`
**协议:** RDP(Zeek `rdp.log`)| **筛选器:** `tags:rdp`
远程桌面基线。狩猎面:来自外部/地理位置异常的源 IP 的 RDP、低证书计数(自签名)、异常安全协议、无 NLA(网络级别身份验证)的 RDP、用于管理员访问的罕见源→目的地址对。
**关键字段:** `rdp.result`, `rdp.cookie`, `rdp.security_protocol`, `rdp.certificate_count`, `source.ip`, `destination.ip`, `source.geo.*`
**MITRE:** T1021.001 (Remote Desktop Protocol), T1133 (External Remote Services), T1563.002 (RDP Hijacking)
---
#### `PEAK-Baseline-SMTP.ndjson`
**协议:** SMTP(Zeek `smtp.log`)| **筛选器:** `tags:smtp`
电子邮件流量基线。狩猎面:`smtp.helo` 中的罕见发件人域名、异常 `mail_from` 地址、向外部目的地址大量发送邮件的发件人、无 TLS 的 SMTP(`smtp.tls:false`)、事务深度异常、连接非标准邮件服务器的 Webmail 客户端。
**关键字段:** `smtp.helo`, `smtp.mail_from`, `smtp.recipient_to`, `smtp.last_reply`, `smtp.tls`, `smtp.is_webmail`, `source.ip`, `destination.ip`
**MITRE:** T1566 (Phishing), T1048 (Exfil via Email), T1071 (C2 via Mail Protocol)
---
#### `PEAK-Baseline-NTLM.ndjson`
**协议:** NTLM(Zeek `ntlm.log`)| **筛选器:** `tags:ntlm`
用于检测凭据攻击的 NTLM 身份验证基线。狩猎面:本应使用 Kerberos 的 NTLM 身份验证(旧式身份验证或强制降级)、异常工作站→服务器身份验证对、罕见域名、高 NTLM 失败率(喷洒/暴力破解)、SMB 中继指标。
**关键字段:** `user.name`, `host.domain`, `ntlm.server.nb.name`, `ntlm.server.dns.name`, `source.ip`, `destination.ip`
**MITRE:** T1110 (Brute Force), T1557.001 (NTLM Relay), T1550.002 (Pass-the-Hash), T1187 (Forced Authentication)
---
#### `PEAK-Baseline-DCE-RPC.ndjson`
**协议:** DCE/RPC(Zeek `dce_rpc.log`)| **筛选器:** `tags:dce_rpc`
用于检测横向移动和凭据攻击的 Windows RPC 调用基线。狩猎面:`drsuapi` 端点(DCSync——T1003.006)、`svcctl` 端点(远程服务创建)、`atsvc` / `ITaskSchedulerService`(远程计划任务)、来自非域控制器主机的 `samr`/`lsarpc`(凭据转储)、来自工作站的罕见操作。
针对 `drsuapi` 和 `svcctl` 端点预过滤的面板使该仪表板成为在环境中检测 DCSync 的最快路径。
**关键字段:** `dce_rpc.endpoint`, `dce_rpc.operation`, `dce_rpc.named_pipe`, `source.ip`, `destination.ip`
**MITRE:** T1003.006 (DCSync), T1569.002 (Remote Services), T1053.005 (Scheduled Tasks), T1021.003 (DCOM)
---
#### `PEAK-Baseline-LDAP.ndjson`
**协议:** LDAP(Zeek `ldap_search.log`)| **筛选器:** `tags:ldap_search`
用于检测枚举工具的 Active Directory 查询基线。狩猎面:来自工作站的查询结果数量异常高的搜索(BloodHound/SharpHound 批量枚举)、罕见 LDAP 过滤器字符串(工具特定语法)、异常基础对象(`trustedDomain`、`AdminSDHolder`、`msDS-AllowedToDelegateTo`)、查询 LDAP 的罕见客户端主机。
**关键字段:** `ldap.result`, `ldap.domain`, `ldap.object`, `ldap.common_name`, `ldap_search.filter`, `ldap_search.scope`, `ldap_search.result_count`
**MITRE:** T1087 (Account Discovery), T1069 (Permission Groups Discovery), T1482 (Domain Trust Discovery)
---
#### `PEAK-Baseline-WireGuard.ndjson`
**协议:** WireGuard VPN(Zeek `wireguard.log`)| **筛选器:** `tags:wireguard`
WireGuard 隧道基线。在未授权使用 WireGuard 的环境中,**此仪表板中的每一条事件都是一项发现**。狩猎面:未授权的发起主机、未知的外部端点、未建立的会话(握手失败)、非标准端口上的 WireGuard。
**关键字段:** `wireguard.established`, `wireguard.initiations`, `wireguard.responses`, `source.ip`, `destination.ip`
**MITRE:** T1572 (Protocol Tunneling), T1090 (Proxy), T1048 (Exfiltration over Alt Protocol), T1133 (External Remote Services)
---
#### `PEAK-Baseline-x509.ndjson`
**协议:** X.509 证书(Zeek `x509.log`)| **筛选器:** `tags:x509`
证书观察基线。注意:x509 日志仅包含证书属性——不含源/目的 IP。请关联 TLS 仪表板以获取连接上下文。狩猎面:自签名证书(主题 = 颁发者)、罕见或未知 CA、弱密钥长度(RSA < 2048)、已弃用的签名算法(MD5、SHA1)、伪造 CA 证书(来自未知颁发者的 `basic_constraints.ca:true`)、罕见 SAN DNS 域名。
**关键字段:** `x509.certificate.subject`, `x509.certificate.issuer`, `x509.certificate.serial`, `x509.certificate.key.type`, `x509.certificate.key.length`, `x509.certificate.signing_algorithm`, `x509.san_dns`, `x509.basic_constraints.ca`, `hash.sha256`
**MITRE:** T1573.002 (Asymmetric Crypto C2), T1587.003 (Digital Certificates), T1588.004 (Obtain Certificates)
---
#### `PEAK-Baseline-Files.ndjson`
**协议:** Zeek 文件(Zeek `files.log`)| **筛选器:** `tags:file`
文件传输基线,覆盖所有承载文件的协议(HTTP、SMTP、SMB、FTP 等)。狩猎面:罕见或意外的 MIME 类型——尤其是 `application/x-dosexec`(PE 可执行文件)、`application/x-msdownload`、来自外部来源的 ZIP/RAR 压缩包——罕见文件发送者、异常传输协议(非 HTTP/SMTP 分析器)、大型出站传输。提供 MD5 和 SHA1 哈希表,用于威胁情报交叉引用。
**关键字段:** `file.mime_type`, `file.source`, `file.analyzer`, `file.bytes.seen`, `hash.md5`, `hash.sha1`, `source.ip`, `destination.ip`
**MITRE:** T1105 (Ingress Tool Transfer), T1566 (Phishing), T1048 (Exfiltration), T1560 (Archive Collected Data)
---
#### `PEAK-Baseline-Suricata.ndjson`
**协议:** Suricata IDS/IPS 告警 | **筛选器:** `event.module:suricata`
用于降噪和高信号检测的 Suricata 告警基线。**罕见签名表是主要的狩猎入口点**——仅出现一次的规则是最高优先级的调查面。狩猎面:罕见告警签名(不在基线噪声中)、严重程度为 critical 的告警(severity 1)、被阻断的流量(IPS 模式)、未知告警源 IP、告警类别模式(横向移动、C2、漏洞利用类别)。
**关键字段:** `rule.name`, `rule.category`, `rule.severity`, `rule.action`, `event.severity_label`, `source.ip`, `destination.ip`, `network.transport`
**MITRE:** 因规则而异。主要类别:T1021 (Lateral), T1071 (C2), T1190 (Exploit Public App), T1566 (Phishing)
---
### ICS / OT 协议
> ⚠️ **ICS 仪表板说明:** Modbus 和 DNP3 在其基线实现中既没有身份验证,也没有授权。任何未授权主机向 PLC、RTU 或 IED 发送命令,无论命令是否执行成功,都属于严重发现。请将这些仪表板中的异常视为安全事件,而非普通告警。
---
#### `PEAK-Baseline-Modbus-Summary.ndjson`
**协议:** Modbus/TCP 会话摘要(Zeek `modbus.log`)| **筛选器:** `tags:modbus`
低流量、高层级的 Modbus 活动视图——每个 PDU 事务一条记录。用作 Modbus 狩猎的**入口仪表板**:授权主站清单、功能码分布、流量基线。当您识别出可疑的主站→从站对时,请切换到 `PEAK-Baseline-Modbus.ndjson` 查看寄存器级详细信息。
**关键字段:** `modbus.function`, `source.ip`, `destination.ip`, `destination.port`
**MITRE ICS:** T1843 (Program Upload), T1846 (Remote System Discovery), T1855 (Unauthorized Command Message)
---
#### `PEAK-Baseline-Modbus.ndjson`
**协议:** Modbus/TCP 寄存器详细信息(Zeek `modbus_detailed.log`)| **筛选器:** `tags:modbus_detailed`
寄存器与线圈级详细信息——每个单独的 Modbus 读/写操作一条记录。在通过摘要仪表板识别出可疑主机后,用于深入分析。狩猎面:来自未授权主机对特定寄存器的写操作、超出正常运行参数范围的地址区间、罕见功能码、寄存器地址探测(顺序地址访问模式)。
**关键字段:** `modbus.function`, `modbus.address`, `source.ip`, `destination.ip`, `destination.port`
**MITRE ICS:** T1855 (Unauthorized Command Message), T1856 (Spoof Reporting Message), T1801 (Monitor Process State)
---
#### `PEAK-Baseline-DNP3.ndjson`
**协议:** DNP3 会话 + 数据对象(Zeek `dnp3.log` + `dnp3_objects.log`)| **筛选器:** `tags:dnp3 or tags:dnp3_objects`
组合仪表板,覆盖 DNP3 会话级请求与数据对象详细信息。常见于电力公用事业、供水/污水处理以及石油天然气 SCADA 环境。狩猎面:发送 READ 请求的未授权主站主机、来自未知主机的 Class 0 轮询(完整从站数据转储 = 侦察)、被请求的异常对象类型、异常功能码(COLD_RESTART、WARM_RESTART、STOP_APPLICATION)。包含针对破坏性功能码的预过滤面板。切换到 DNP3 Control 进行继电器命令分析。
**关键字段:** `dnp3.fc_request`(会话)、`dnp3.function_code`(对象)、`dnp3.object_type`、`source.ip`、`destination.ip`
**MITRE ICS:** T1801 (Monitor Process State), T1846 (Remote System Discovery), T1814 (Denial of Service), T1858 (Change Operating Mode)
---
#### `PEAK-Baseline-DNP3-Control.ndjson`
**协议:** DNP3 控制继电器命令(Zeek `dnp3_control.log`)| **筛选器:** `tags:dnp3_control`
**本集合中风险最高的 ICS 仪表板。**每条记录都代表一条改变现场设备物理状态的命令(继电器驱动、断路器分/合闸、阀门命令)。基于真实世界 ICS 攻击中使用的 DNP3 SELECT→OPERATE 模式构建(参见:2015 年乌克兰电网攻击)。
狩猎面:未授权的命令主机(最多应为 1–2 台已知 SCADA 服务器)、DIRECT_OPERATE 命令(绕过 SELECT 确认安全步骤)、Trip/Close 操作(断路器级后果)、超出已记录控制点列表的索引号、execute_count > 1(重复驱动)、超出运行规范的时序参数。
**此仪表板中的每条记录都应依据授权的变更管理记录进行核实。**
**关键字段:** `dnp3.function_code`, `dnp3.block_type`, `dnp3.operation_type`, `dnp3.trip_control_code`, `dnp3.index_number`, `dnp3.execute_count`, `dnp3.on_time`, `dnp3.off_time`
**MITRE ICS:** T1855 (Unauthorized Command Message), T1831 (Manipulation of Control), T1836 (Modify Parameter), T1816 (Device Restart/Shutdown)
---
## 仪表板摘要表
| 仪表板文件 | 协议 | Zeek 日志 | 筛选器 |
|---|---|---|---|
| PEAK-Baseline-Conn.ndjson | 网络连接 | conn.log | `tags:conn` |
| PEAK-Baseline-DNS.ndjson | DNS | dns.log | `tags:dns` |
| PEAK-Baseline-HTTP.ndjson | HTTP/HTTPS | http.log | `tags:http or tags:http2` |
| PEAK-Baseline-TLS.ndjson | TLS/SSL | ssl.log | `tags:ssl` |
| PEAK-Baseline-SMB.ndjson | SMB | smb_mapping.log, smb_files.log | `tags:smb_mapping or tags:smb_files` |
| PEAK-Baseline-Kerberos.ndjson | Kerberos | kerberos.log | `tags:kerberos` |
| PEAK-Baseline-FTP.ndjson | FTP | ftp.log | `tags:ftp` |
| PEAK-Baseline-SSH.ndjson | SSH | ssh.log | `tags:ssh` |
| PEAK-Baseline-RDP.ndjson | RDP | rdp.log | `tags:rdp` |
| PEAK-Baseline-SMTP.ndjson | SMTP | smtp.log | `tags:smtp` |
| PEAK-Baseline-NTLM.ndjson | NTLM | ntlm.log | `tags:ntlm` |
| PEAK-Baseline-DCE-RPC.ndjson | DCE/RPC | dce_rpc.log | `tags:dce_rpc` |
| PEAK-Baseline-LDAP.ndjson | LDAP | ldap_search.log | `tags:ldap_search` |
| PEAK-Baseline-WireGuard.ndjson | WireGuard | wireguard.log | `tags:wireguard` |
| PEAK-Baseline-x509.ndjson | X.509 证书 | x509.log | `tags:x509` |
| PEAK-Baseline-Files.ndjson | Zeek 文件 | files.log | `tags:file` |
| PEAK-Baseline-Suricata.ndjson | Suricata IDS/IPS | alerts | `event.module:suricata` |
| PEAK-Baseline-Modbus-Summary.ndjson | Modbus 会话 | modbus.log | `tags:modbus` |
| PEAK-Baseline-Modbus.ndjson | Modbus 详细信息 | modbus_detailed.log | `tags:modbus_detailed` |
| PEAK-Baseline-DNP3.ndjson | DNP3 会话 + 对象 | dnp3.log, dnp3_objects.log | `tags:dnp3 or tags:dnp3_objects` |
| PEAK-Baseline-DNP3-Control.ndjson | DNP3 控制继电器 | dnp3_control.log | `tags:dnp3_control` |
---
## 技术细节
**测试环境:** Security Onion 3.0.0
**Elasticsearch 版本:** 8.x
**Kibana 对象格式:** 基于聚合的旧版可视化(非 Lens)
**索引模式:** `logs-*`
**使用的可视化类型:** metric、table、line、pie、tagcloud、markdown、saved search
**对象版本:** `typeMigrationVersion: 8.5.0`(viz)、`10.5.0`(search)、`10.2.0`(dashboard)| `coreMigrationVersion: 8.8.0`
字段映射已依据 Security Onion 3.0.0 导入的实时 Elasticsearch 数据进行了验证。可视化中使用的所有字段均已确认存在于各自数据流的已索引 `fields` 块中。
---
## 建议的狩猎工作流```
1. Start with PEAK-Baseline-Conn → Establish overall network baseline, identify unknown talkers
2. Follow protocols of interest → Use protocol-specific dashboards for deep dives
3. Surface rare values → Least-frequent tables in each dashboard are your primary hunt targets
4. Pivot on findings → Use saved searches to drill to raw events
5. ICS environments → Run Modbus Summary → Modbus Detail → DNP3 → DNP3 Control
6. Alert triage → Use Suricata dashboard: start with rare signatures, not top signatures
这些仪表板用于防御性安全运营。字段映射和设计模式特定于使用 Zeek/Suricata 的 Security Onion 3.0。其他部署环境可能需要进行适配。