Nervi0z/protocol-threat-matrix
GitHub: Nervi0z/protocol-threat-matrix
面向 SOC 分析师和应急响应人员的网络协议威胁速查手册,整合了 ATT&CK 映射、检测指标、Windows 事件 ID 和修复建议。
Stars: 1 | Forks: 0
适用于 SOC 分析师、应急响应人员和威胁猎手的快速参考指南。涵盖了常见协议及其 ATT&CK 映射、检测指标、Windows Event ID、网络特征和修复优先级。
专为轮班设计 —— 打开它,找到所需内容,采取行动。
## 目录
- [图例](#legend)
- [Web、命名与核心基础设施](#web-naming--core-infrastructure)
- [文件传输与共享](#file-transfer--sharing)
- [电子邮件](#email)
- [远程访问与管理](#remote-access--management)
- [认证与目录服务](#authentication--directory)
- [基础设施与其他](#infrastructure--other)
- [检测快速参考](#detection-quick-reference)
- [Windows Event ID 速查表](#windows-event-id-cheatsheet)
- [贡献指南](#contributing)
## 图例
- **端口:** `端口/协议`
- **用途:** 合法用途
- **严重性:** 低 / 中 / 高 —— 被滥用时的典型严重程度
- **风险:** 威胁描述 + MITRE ATT&CK 参考
- **监控 (网络/日志/端点):** 需关注的关键指标和异常
- **修复:** 优先级修复步骤
## Web、命名与核心基础设施
### HTTP
**端口:** `80/TCP` | **用途:** Web 服务 | **严重性:** 中
**风险:** [[TA0006]](https://attack.mitre.org/tactics/TA0006/) 凭据和会话 Cookie 以明文传输。
**监控:** 指向认证页面的 HTTP 请求,包含敏感关键字(`password`、`login`)的 `POST` 请求,异常或罕见的 User-Agent 字符串。
**修复:** 1. 强制使用 HTTPS (HSTS) | 2. 对明文传输的敏感 `POST` 请求进行告警。
### HTTPS (TLS/SSL)
**端口:** `443/TCP` (+ `UDP` QUIC) | **用途:** 加密 Web | **严重性:** 中
**风险:** [[TA0011]](https://attack.mitre.org/tactics/TA0011/) 隐藏在加密流量中的 C2 和钓鱼攻击 `[T1571]` `[T1573]`
**监控:** 无效/自签名/异常的 Let's Encrypt 证书 (DV),异常的 JA3/S 哈希,仿冒或类似 DGA 的 SNI 域名,异常的流量或时间,非预期的 QUIC (`UDP 443`)。
**修复:** 1. 在可行的情况下进行 TLS 检测 | 2. DNS/Web 过滤 | 3. 阻止弱加密套件和已弃用的 TLS 版本。
### DNS
**端口:** `53/UDP,TCP` | **用途:** 域名解析 | **严重性:** 高
**风险:** [[TA0011]](https://attack.mitre.org/tactics/TA0011/) 通过隧道 `[T1572]` 和 DGA `[T1568]` 进行 C2;[[TA0007]](https://attack.mitre.org/tactics/TA0007/) 侦察
**监控:** 对恶意、新注册或罕见域名/TLD 的查询;高 `NXDOMAIN` 比率;异常的查询大小、熵或类型(`ANY/TXT/NULL`);`TCP 53` 流量(区域传送或隧道);DNS 信标模式。
**修复:** 1. DNS 过滤 (RPZ/阻断) | 2. 对流量和查询类型异常进行告警 | 3. 限制内部递归解析器。
### ICMP
**端口:** `IP Proto 1` | **用途:** IP 控制和错误消息 | **严重性:** 中
**风险:** [[TA0007]](https://attack.mitre.org/tactics/TA0007/) Ping 扫描 `[T1018]` 和路由追踪;[[TA0011]](https://attack.mitre.org/tactics/TA0011/) 用于 C2/渗透的隧道 `[T1095]`
**监控:** 扫描(超过阈值的 `icmp.type == 8`),被阻拦的类型/代码(`icmp.type == 3`),隧道模式(载荷大小、频率),重定向(`icmp.type == 5`),时间戳请求/应答(`icmp.type == 13/14`)。
**修复:** 1. 在边界过滤 ICMP(仅允许必要的类型)| 2. 监控隧道模式 | 3. 限速。
## 文件传输与共享
### FTP
**端口:** `21,20/TCP` (+ 被动端口 >1024) | **用途:** 文件传输 | **严重性:** 中
**风险:** [[TA0006]](https://attack.mitre.org/tactics/TA0006/) 凭据和数据以明文传输;[[TA0010]](https://attack.mitre.org/tactics/TA0010/) 数据渗透
**监控:** 不建议使用。任何非预期或外部流量。匿名认证尝试(`USER anonymous`)。
**修复:** 1. 迁移至 SFTP 或 FTPS | 2. 禁用或严格限制 | 3. 审查 FTP 服务器日志。
### TFTP
**端口:** `69/UDP` | **用途:** 简单文件传输(无认证)| **严重性:** 中
**风险:** `[T1037.005]` 内部恶意软件暂存/渗透;[[TA0007]](https://attack.mitre.org/tactics/TA0007/) 侦察
**监控:** 任何非预期流量都是可疑的。`udp.port == 69`。特别是写入请求(`WRQ`)。
**修复:** 1. 如非必要则禁用 | 2. 按 IP/VLAN 限制 | 3. 监控。
### SMB
**端口:** `445/TCP` (旧版 `139/TCP`) | **用途:** Windows 文件/打印/IPC | **严重性:** 高
**风险:** [[TA0008]](https://attack.mitre.org/tactics/TA0008/) 通过 PtH `[T1550.002]`、漏洞利用 `[T1210]`、PsExec `[T1021.002]` 进行横向移动;[[TA0006]](https://attack.mitre.org/tactics/TA0006/) 通过中继 `[T1557.001]` 和哈希捕获 `[T1552.004]` 窃取凭据;[[TA0010]](https://attack.mitre.org/tactics/TA0010/) 数据渗透 `[T1030]`
**监控 (网络):** 具有异常模式或时间的工作站到工作站连接;SMBv1 流量;任何进出互联网的 SMB(应阻止)。
**监控 (日志):** 具有异常源/目标/用户/时间/工作站名的 `4624(3)`;超过阈值的 `4625` 失败;`5140/5145` 管理共享访问和写入;`7045` PsExec 服务安装;`4688` 中的 `psexec.exe`/`rundll32`。
**修复:** 1. 禁用 SMBv1 | 2. 网络分段 | 3. 强制 SMB 签名 | 4. 限制管理共享访问并使用 LAPS。
### NFS (v4)
**端口:** `2049/TCP,UDP` (+ RPC `111`) | **用途:** Unix/Linux 文件共享 | **严重性:** 中
**风险:** `[T1059.004]` 不安全的导出(`*`, `no_root_squash`);[[TA0010]](https://attack.mitre.org/tactics/TA0010/) 数据渗透;[[TA0008]](https://attack.mitre.org/tactics/TA0008/) 横向移动
**监控:** 来自未授权 IP 的访问、通配符导出、使用了 `no_root_squash`、进出互联网的 NFS 流量。挂载日志。
**修复:** 1. 使用带有 Kerberos 的 NFSv4 (`sec=krb5p`) | 2. 对导出应用最小权限 | 3. 防火墙屏蔽 NFS 端口。
### SFTP (over SSH)
**端口:** `22/TCP` | **用途:** 安全文件传输 | **严重性:** 中
**风险:** [[TA0010]](https://attack.mitre.org/tactics/TA0010/) 加密渗透;恶意软件上传
**监控:** 参见 SSH。异常的传输量或频率。
**修复:** 参见 SSH。对异常传输量进行告警。
## 电子邮件
### SMTP
**端口:** `25/TCP` (服务器), `587/TCP` (STARTTLS 提交), `465/TCP` (旧版 SMTPS) | **用途:** 邮件传递 | **严重性:** 高
**风险:** `[T1566]` 钓鱼和恶意软件投递;`[T1071.003]` 通过邮件进行 C2;`[T1534]` 内部鱼叉式钓鱼;开放中继滥用
**监控:** 超出基线的出站流量;异常的外部 MX 连接;SPF/DKIM/DMARC 失败;异常的内部中继;可疑标头。
**修复:** 1. 实施 SPF, DKIM 和 DMARC | 2. 反垃圾/恶意软件网关 | 3. 关闭开放中继 | 4. 要求 STARTTLS 或 SMTPS。
### IMAP
**端口:** `143/TCP`, `993/TCP` (IMAPS) | **用途:** 邮箱访问 | **严重性:** 中
**风险:** `[T1114]` 邮箱访问;`[T1078]` 暴力破解;`143/TCP` 上的明文凭据
**监控:** 超过阈值的登录失败;来自异常 IP 或 User-Agent 的访问;任何 `143/TCP` 的使用。邮件服务器日志。
**修复:** 1. 使用 IMAPS (`993`) | 2. 强制执行 MFA | 3. 监控访问日志。
### POP3
**端口:** `110/TCP`, `995/TCP` (POP3S) | **用途:** 邮件下载 | **严重性:** 低
**风险:** [[TA0006]](https://attack.mitre.org/tactics/TA0006/) `110/TCP` 上的明文凭据
**监控:** 任何 `110/TCP` 的使用。
**修复:** 1. 使用 POP3S (`995`) 或 IMAPS | 2. 如未使用则禁用。
## 远程访问与管理
### SSH
**端口:** `22/TCP` | **用途:** 安全 Shell、隧道、SFTP | **严重性:** 高
**风险:** `[T1078]` 暴力破解、被盗凭据或密钥;`[T1090]` 代理和 C2 隧道 `[T1572]`;`[T1021.004]` 横向移动
**监控:** 超过阈值的登录失败;来自异常 IP 或地理位置的登录;非工作时间持续连接或活动;进程参数中的隧道标志(`ssh -L/-R`);对 `authorized_keys` 的修改;`scp`/`sftp` 使用。认证日志(`/var/log/auth.log`)。
**修复:** 1. 禁用密码认证(仅使用密钥)| 2. 强制执行 MFA | 3. 部署 Fail2Ban 或 SSHGuard | 4. 使用跳板机 | 5. 监控 SSH 日志。
### Telnet
**端口:** `23/TCP` | **用途:** 旧版 CLI(已淘汰)| **严重性:** 低
**风险:** [[TA0006]](https://attack.mitre.org/tactics/TA0006/) 所有内容均以明文传输 —— 无例外
**监控:** 任何使用都是可疑的。`tcp.port == 23`。
**修复:** 1. 禁用 | 2. 替换为 SSH。
### RDP
**端口:** `3389/TCP,UDP` | **用途:** Windows 远程桌面 | **严重性:** 高
**风险:** `[T1078]` 暴力破解;`[T1021.001]` 横向移动;`[T1567]` 剪贴板数据渗透;`[T1219]` 漏洞利用 (BlueKeep)
**监控 (网络):** 进出互联网的 RDP(应阻止);内部工作站到工作站或异常连接。
**监控 (日志):** 具有异常源/用户/时间的 `4624(10)`;超过阈值的4625` 失败;具有异常会话持续时间的 `4634/4647` 注销;RDP Operational 日志。
**修复:** 1. 切勿将 RDP 直接暴露在互联网上 —— 使用 VPN 或带 MFA 的 RD Gateway | 2. 要求 NLA | 3. 强密码和 LAPS | 4. 受限管理模式或远程凭据保护。
### SNMP (v3)
**端口:** `161/UDP` (查询), `162/UDP` (Trap) | **用途:** 网络监控 | **严重性:** 低
**风险:** [[TA0007]](https://attack.mitre.org/tactics/TA0007/) 使用默认团体字符串的 v1/v2c 进行侦察;DDoS 放大
**监控:** 来自外部或非预期源的 v1/v2c 查询;弱团体字符串(`public`, `private`)。`snmp.version != 3`。
**修复:** 1. 使用 SNMPv3 (AuthPriv) | 2. 设备上的 ACL | 3. 更改默认团体字符串。
## 认证与目录服务
### LDAP
**端口:** `389/TCP,UDP`, `636/TCP` (LDAPS) | **用途:** 目录访问 (AD) | **严重性:** 高
**风险:** [[TA0007]](https://attack.mitre.org/tactics/TA0007/) 通过匿名绑定进行侦察 `[T1087.002]`;`[T1078]` 暴力破解和 `389` 上的明文凭据;`[T1003.006]` DCSync
**监控:** 匿名绑定;超过阈值的绑定失败;大型或针对性查询(`samaccountname=*`);明文 `389` 流量。AD 日志:具有相关 GUID 的 `4662`;DC 上昂贵查询的 `1644`。
**修复:** 1. 要求 LDAPS (`636`) | 2. 禁用匿名绑定 | 3. 强制 LDAP 签名和通道绑定 | 4. 审核目录服务访问。
### Kerberos
**端口:** `88/TCP,UDP` | **用途:** AD 认证 | **严重性:** 高
**风险:** `[T1558.003]` Kerberoasting;`[T1558.002]` 票据传递;`[T1558.001]` 黄金/白银票据
**监控:** `4768` (TGT —— 异常源/用户);`4769` (TGS —— 异常 SPN、RC4 加密或高容量);`4771` (预认证失败);RC4_HMAC_MD5 加密使用。
**修复:** 1. 服务账户使用强密码 | 2. 监控 `4768/4769/4771` | 3. 禁用 RC4 | 4. 将敏感账户添加到受保护用户组。
### RADIUS
**端口:** `1812,1813/UDP` | **用途:** VPN 和 Wi-Fi 的 AAA | **严重性:** 中
**风险:** `[T1078]` 弱共享密钥或暴力破解;无安全 EAP 的凭据嗅探
**监控:** 超过阈值的认证失败;来自未授权 NAS 的请求;正在使用的不安全 EAP 方法。AAA 服务器日志。
**修复:** 1. 强壮且唯一的共享密钥或证书 | 2. 要求 EAP-TLS | 3. 监控 RADIUS 日志。
## 基础设施与其他
### DHCP
**端口:** `67/UDP` (服务器), `68/UDP` (客户端) | **用途:** 自动 IP 分配 | **严重性:** 中
**风险:** `[T1557.003]` 流氓 DHCP (MitM);DHCP 饥饿
**监控:** 同一网段上的多个 DHCP 提供(DHCP 侦听日志);地址池耗尽;异常的 DHCP 选项(WPAD、流氓 DNS 服务器)。
**修复:** 1. 在交换机上启用 DHCP 侦听 | 2. 端口安全 | 3. 监控 DHCP 服务器日志。
### NTP
**端口:** `123/UDP` | **用途:** 时钟同步 | **严重性:** 低
**风险:** DDoS 放大;时间篡改攻击
**监控:** 进出未授权外部源的 NTP 流量;大型 `readvar` 响应;超过阈值的时钟偏差。
**修复:** 1. 使用内部或授权的 NTP 源 | 2. 在支持的条件下使用 NTP 认证 | 3. 监控同步健康状况。
### Syslog
**端口:** `514/UDP` (旧版), `514/TCP`, `6514/TCP` (TLS) | **用途:** 日志转发 | **严重性:** 低
**风险:** [[TA0009]](https://attack.mitre.org/tactics/TA0009/) UDP 上的日志丢失;无 TLS 下的嗅探或篡改
**监控:** 日志流中的缺口;流量激增;非预期来源;使用 `514/UDP` 而非 `6514/TCP`。
**修复:** 1. 使用基于 TLS 的 Syslog (`6514`) | 2. 监控收集器健康状况 | 3. 验证关键日志源的接收情况。
## 检测快速参考
针对最常被滥用协议的网络级检测。除非另有说明,所有过滤器均为 Wireshark 显示过滤器语法。
**SMB — 横向移动猎捕**
```
# 工作站到工作站的 SMB (正常流量中不应出现)
smb && ip.src !=
&& ip.dst !=
# SMBv1 使用 (应为零)
smb.header.cmd && smb2 == 0
# 管理共享访问模式
tcp.port == 445 && smb2.filename contains "ADMIN$"
tcp.port == 445 && smb2.filename contains "C$"
tcp.port == 445 && smb2.filename contains "IPC$"
```
**RDP — 暴力破解与横向移动**
```
# 外部 RDP (全部拦截)
tcp.dstport == 3389 && ip.src not in {10.0.0.0/8 172.16.0.0/12 192.168.0.0/16}
# 来自意外内部源的 RDP
tcp.dstport == 3389 && ip.src !=
```
**DNS — C2 与隧道**
```
# 高熵域名 (人工审查)
dns && frame.len > 100
# TXT 查询 (常见于 DNS 隧道)
dns.qry.type == 16
# 来自单一源的高 NXDOMAIN 比率
dns.flags.rcode == 3
# 基于 TCP 的 DNS (区域传送除外)
tcp.port == 53 && ip.src not in {}
```
**Kerberos — 攻击特征**
```
# TGS-REQ 中的 RC4 加密 (Kerberoasting 指标)
kerberos.etype == 23
# AS-REP Roasting (不需要预认证)
kerberos.msg_type == 11 && kerberos.etype == 23
# 异常的 TGT 请求 (黄金票据 — 异常来源)
kerberos.msg_type == 10
```
**SSH — 暴力破解与隧道**
```
# auth.log 中的暴力破解检测 (Linux)
grep "Failed password" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -rn | head -20
# 检测进程列表中的 SSH 隧道标志
ps aux | grep -E "ssh.*(-L|-R|-D)" | grep -v grep
# 检查新的 authorized_keys 修改
find /home -name "authorized_keys" -newer /etc/passwd 2>/dev/null
find /root/.ssh -name "authorized_keys" -newer /etc/passwd 2>/dev/null
```
**LDAP — 侦察检测**
```
# DC 上的大量 LDAP 查询 (必须启用 Windows Event 1644)
# 启用: reg add "HKLM\SYSTEM\CurrentControlSet\Services\NTDS\Diagnostics" /v "15 Field Engineering" /t REG_DWORD /d 5
# PowerShell: 查找高开销的 LDAP 查询
Get-WinEvent -LogName "Directory Service" | Where-Object {$_.Id -eq 1644}
```
## Windows Event ID 速查表
整合了与检测最相关的 Event ID 参考。按攻击类别组织。
**认证**
| Event ID | 渠道 | 描述 | ATT&CK |
|----------|---------|-------------|--------|
| 4624 | Security | 登录成功 —— 检查登录类型 (2=交互式, 3=网络, 10=远程) | T1078 |
| 4625 | Security | 登录失败 —— 数量阈值指示暴力破解 | T1110 |
| 4634 | Security | 注销 | T1078 |
| 4647 | Security | 用户发起的注销 | T1078 |
| 4648 | Security | 使用显式凭据登录 (RunAs, PtH 指标) | T1550.002 |
| 4768 | Security | Kerberos TGT 请求 | T1558 |
| 4769 | Security | Kerberos TGS 请求 —— RC4 加密 = Kerberoasting | T1558.003 |
| 4771 | Security | Kerberos 预认证失败 | T1110 |
| 4776 | Security | NTLM 认证 —— 监控异常来源 | T1550.002 |
**进程与执行**
| Event ID | 渠道 | 描述 | ATT&CK |
|----------|---------|-------------|--------|
| 4688 | Security | 进程创建 —— 需要审核策略 + 命令行日志 | T1059 |
| 4689 | Security | 进程终止 | — |
| 1 | Sysmon | 进程创建 —— 包括哈希、父进程、命令行 | T1059 |
| 3 | Sysmon | 进程发起的网络连接 | T1071 |
| 7 | Sysmon | 镜像/DLL 加载 | T1574 |
| 8 | Sysmon | CreateRemoteThread —— 进程注入指标 | T1055 |
| 10 | Sysmon | ProcessAccess —— LSASS 访问 = 凭据转储 | T1003 |
**特权与账户变更**
| Event ID | 渠道 | 描述 | ATT&CK |
|----------|---------|-------------|--------|
| 4720 | Security | 用户账户已创建 | T1136 |
| 4722 | Security | 用户账户已启用 | T1098 |
| 4724 | Security | 密码重置尝试 | T1098 |
| 4728 | Security | 成员已添加到启用安全性的全局组 | T1069 |
| 4732 | Security | 成员已添加到本地安全组 | T1069 |
| 4756 | Security | 成员已添加到通用安全组 | T1069 |
**横向移动与远程访问**
| Event ID | 渠道 | 描述 | ATT&CK |
|----------|---------|-------------|--------|
| 5140 | Security | 已访问网络共享 | T1021.002 |
| 5145 | Security | 网络共享对象访问检查 | T1021.002 |
| 7045 | System | 服务已安装 —— PsExec 投放服务 | T1021.002 |
| 4698 | Security | 计划任务已创建 | T1053.005 |
| 4702 | Security | 计划任务已更新 | T1053.005 |
**持久化**
| Event ID | 渠道 | 描述 | ATT&CK |
|----------|---------|-------------|--------|
| 11 | Sysmon | 文件已创建 | T1105 |
| 12/13/14 | Sysmon | 注册表已创建/修改/删除 | T1547 |
| 22 | Sysmon | DNS 查询 | T1071.004 |
| 23 | Sysmon | 文件已删除 | T1070 |
**PowerShell / 脚本执行**
| Event ID | 渠道 | 描述 | ATT&CK |
|----------|---------|-------------|--------|
| 4103 | PS Operational | 模块日志 —— 命令调用 | T1059.001 |
| 4104 | PS Script Block | 脚本块日志 —— 完整脚本内容 | T1059.001 |
| 400 | PS Engine | PowerShell 引擎已启动 | T1059.001 |
| 800 | PS Engine | 管道执行 | T1059.001 |
```
# 启用关键审核策略 (以管理员身份运行)
auditpol /set /subcategory:"Logon" /success:enable /failure:enable
auditpol /set /subcategory:"Process Creation" /success:enable
auditpol /set /subcategory:"Kerberos Service Ticket Operations" /success:enable /failure:enable
# 在进程创建 (4688) 中启用命令行
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\Audit" /v ProcessCreationIncludeCmdLine_Enabled /t REG_DWORD /d 1
# 检查当前审核策略
auditpol /get /category:*
```
*快速参考 —— 并非完整指南。请务必结合上下文进行调查,并持续更新检测逻辑。*
## 贡献指南
请参阅 [CONTRIBUTING.md](CONTRIBUTING.md) 了解流程。
**最后更新:** 2025-04-08 | **许可协议:** [MIT](LICENSE)标签:Beacon Object File, CISA项目, Cloudflare, DNS, DNS解析, HTTPS, IP 地址批量处理, MITRE ATT&CK, PE 加载器, RDP, Ruby, SMB, Windows Event ID, 内核驱动, 协议安全, 备忘单, 威胁情报, 安全分析师, 安全运营中心, 开发者工具, 开源项目, 快速参考, 检测指标, 知识库, 网络协议, 网络安全, 网络映射, 网络签名, 补救措施, 远程访问, 邮件协议, 错误配置检测, 防御加固, 隐私保护