第243篇:企业内网威胁狩猎基础

关键词

威胁狩猎、主动防御、假设驱动、异常检测、IOC、IOA、狩猎循环、EDR数据分析


一、什么是威胁狩猎

1.1 从被动到主动

传统安全运营是被动的——等待告警,然后响应。威胁狩猎是主动寻找已入侵的攻击者:

被动防御 vs 主动狩猎:

被动安全(等待告警): 攻击者入侵 → 触发签名告警 → 分析响应 缺点:只检测已知威胁,0-day/APT 可能不被触发

主动狩猎(主动寻找): 假设"已经失陷" → 主动寻找异常 → 发现并清除 优势:可以发现绕过签名的攻击

检测方法的覆盖范围: 签名检测 ┌──────────┐ └──────────┘ 行为检测 ┌──────────────┐ └──────────────┘ 威胁狩猎 ┌──────────────────┐ 已知威胁 已知模式威胁 未知威胁/APT 隐蔽持久攻击

1.2 威胁狩猎的核心理念

威胁狩猎的五大核心:

1. 假设驱动(Hypothesis-Driven)
   基于情报或经验提出假设:
   "服务器最近更新的 DLL 可能是恶意的"
   "某个用户非工作时间登录了服务器"

2. 数据驱动(Data-Driven)
   收集和分析大规模数据
   不仅依赖告警

3. 持续迭代(Iterative)
   一次狩猎找到 IOC → 更新检测规则
   不断改进

4. 人类主导(Human-Led)
   自动化工具辅助,但人类判断核心
   需要分析师的网络和攻击经验

5. 结果验证(Evidence-Based)
   每个发现都需要验证真伪
   排除误报

二、威胁狩猎方法论

2.1 狩猎循环模型

威胁狩猎循环(Hunt Loop):

          ┌────────────────────────────┐
          │   1. 提出假设              │
          │   "可能有 APT 入侵"        │
          └────────────┬───────────────┘
                       │
          ┌────────────┴───────────────┐
          │   2. 数据收集              │
          │   防火墙日志/EDR/DNS/进程   │
          └────────────┬───────────────┘
                       │
          ┌────────────┴───────────────┐
          │   3. 分析验证              │
          │   关联分析/时序分析/基线    │
          └────────────┬───────────────┘
                       │
          ┌────────────┴───────────────┐
          │   4. 发现                  │
          │   (发现/未发现)            │
          └────────────┬───────────────┘
                       │
          ┌────────────┴───────────────┐
          │   5. 响应与改进            │
          │   阻断 + 更新检测规则      │
          └────────────────────────────┘

2.2 假设的来源

提出假设的六大来源:

1. 威胁情报
   "新发现的 APT 组织喜欢用 PowerShell 加载恶意 DLL"
   → 狩猎所有终端的 PowerShell 下载行为

2. 环境异常
   "夜间 2-4 点有大量 DNS 查询"
   → 狩猎夜间 DNS 流量

3. 已知攻击模式
   "勒索软件通常会扫描 SMB 端口"
   → 狩猎非预期的 SMB 连接

4. 告警反馈
   "上周 IPS 告警的 IP,可能有后续动作"
   → 狩猎该 IP 所有相关活动

5. 行业事件
   "同行业其他公司遭遇供应链攻击"
   → 狩猎本公司的供应链系统

6. 合规审计
   "等保检查发现敏感端口暴露"
   → 狩猎暴露端口的利用尝试

三、威胁狩猎的数据源

3.1 关键数据源

威胁狩猎的数据来源:

数据源 关键信息 狩猎用途
EDR 日志 防火墙日志 DNS 日志 AD 日志 HTTP 代理日志 邮件日志 NetFlow 漏洞扫描结果 进程/文件/网络 连接/阻断/DNS 域名解析 登录/权限变更 URL/UA/文件 收发件人/附件 流量模式/对端 开放端口/漏洞 进程异常、横向移动 C2 通信、数据外泄 DGA 域名、隧道 异常登录、提权 恶意下载、C2 通信 钓鱼邮件 异常流量模式 攻击面评估

数据的重要性排序: 1. EDR 进程日志(最丰富、最及时) 2. 网络日志(防火墙 + DNS) 3. AD 登录日志 4. 代理 / NetFlow

3.2 关键 IOC 与 IOA

IOC(威胁指标) vs IOA(攻击指标):

IOC(Indicators of Compromise)— 已知的恶意的证据: SHA256: a1b2c3... (恶意软件哈希) IP: 185.22.33.44 (已知 C2) Domain: evil.example.com (恶意域名) Registry Key: HKCU\Software\Malware File Path: C:\Windows\Temp\evil.dll

IOC 狩猎:寻找这些已知恶意指标在环境中的出现

IOA(Indicators of Attack)— 攻击行为的模式:

进程链异常: Word.exe → PowerShell.exe → rundll32.dll 正常:Word 不应该启动 PowerShell 异常:宏 → PowerShell → DLL 加载 登录异常: 一个账户 5 分钟内登录了 10 台服务器 正常:管理员也通常不会 时间异常: 很少使用的服务器在凌晨 3 点有高 CPU

IOA 狩猎:寻找异常行为模式(不依赖已知签名)


四、威胁狩猎实战技术

4.1 进程链分析

进程链分析是威胁狩猎最有效的技术之一:

正常进程链(办公 PC):
  explorer.exe → chrome.exe
  explorer.exe → OUTLOOK.EXE
  svchost.exe (系统服务)

异常进程链(可能的恶意行为):
  1. 钓鱼文档:
     WINWORD.EXE → cmd.exe → powershell.exe
     ★ Word 不应该启动命令行

  2. 无文件攻击:
     wscript.exe → powershell.exe (从远端下载脚本)
     ★ 脚本执行器从网络下载代码

  3. 横向移动:
     svchost.exe → wmic.exe → 远程进程创建
     ★ WMIC 远程创建进程是典型的横向移动

狩猎查询示例(KQL):
  // 查找 Word 启动 PowerShell 的进程链
  ProcessCreate
  | where ParentImage endswith "WINWORD.EXE"
  | where Image endswith "powershell.exe"

4.2 网络行为分析

网络行为异常检测:

正常网络行为模式:
  8:00-18:00 工作时间内有 HTTP/HTTPS 流量
  并发连接数:10-50
  访问 DNS:每 5 分钟 3-5 次
  访问的地理位置:国内为主

异常模式(可能的 C2 通信):

1. 定期心跳(Beacon)
   每 60 秒准时连接某个外部 IP
   流量很小(< 1KB)
   规律:非常规律,无人工特征
   → 可能 C2 心跳

2. 不常见端口
   内网 PC 主动连接外部 445 端口(SMB)
   内网 PC 连接外部 3389(RDP)
   → 异常行为

3. DNS 异常
   大量解析随机域名(DGA)
   流量中 DNS TXT 查询量大
   → DNS 隧道

4. 时间异常
   凌晨 2-5 点大量数据上传
   → 数据外泄嫌疑

狩猎命令(防火墙日志分析):
  # 查找每 60 秒规律连接的 IP
  display firewall log | include 185. | statistics frequency

4.3 日志关联分析

多源日志关联示例:

场景:假设 APT 已经通过钓鱼入侵

狩猎步骤:

Step 1: 邮件日志
  查找带有恶意附件的邮件
  找到收件人列表 → 可能的受感染用户

Step 2: EDR 日志(受感染用户终端)
  查找:Word 启动 PowerShell 的记录
  查找:PowerShell 下载的文件
  查找:新创建的外连进程

Step 3: DNS 日志(关联终端 IP)
  查找:该终端 IP 解析的陌生域名
  查找:高频期的 DNS 查询

Step 4: 防火墙日志(关联域名)
  查找:该终端到陌生域名的连接
  查找:外部 IP 的威胁情报匹配

发现:若以上全部关联成功 → 高度确认失陷

五、威胁狩猎的工具

5.1 常用工具

威胁狩猎工具:

工具                   类型            适合场景
────────────────────────────────────────────────
Elasticsearch + Kibana  日志分析        大量日志搜索和可视化
Splunk                  日志分析        商业级日志分析
Velociraptor            终端取证        远程终端采集和分析
YARA                    文件扫描        自定义恶意文件规则
Sigma                   日志规则        跨平台的检测规则
Zeek (Bro)              网络分析        网络流量元数据
Kansa                   日志采集        多主机日志采集

YARA 规则示例:
  rule Suspicious_Powershell
  {
    meta:
      description = "检测可疑 PowerShell 命令"
      author = "Threat Hunt Team"
    strings:
      $s1 = "-enc"                    // 编码执行
      $s2 = "DownloadString"           // 下载
      $s3 = "Invoke-Expression"        // 执行
      $s4 = "FromBase64String"         // Base64 解码
    condition:
      2 of them
  }

5.2 狩猎自动化

自动化狩猎查询(Sigma 规则 → SIEM 查询):

Sigma 规则示例:
  title: Suspicious PowerShell Download
  id: 12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx
  description: Detects PowerShell downloading files
  logsource:
    product: windows
    service: powershell
  detection:
    selection:
      EventID: 4104
      ScriptBlockText|contains:
        - 'DownloadString'
        - 'DownloadFile'
        - 'WebClient'
    condition: selection

转换为 Kibana 查询:
  event_id: 4104 AND 
  (script_block_text: "DownloadString" OR
   script_block_text: "DownloadFile" OR
   script_block_text: "*WebClient*")

六、狩猎团队与流程

6.1 团队角色

威胁狩猎团队构成:

狩猎分析师:
  提出假设
  执行数据分析
  验证发现

威胁情报专家:
  提供外部情报
  关联内部狩猎结果

日志/数据工程师:
  数据采集和清洗
  自动化查询功能

事件响应人员:
  确认发现后执行响应
  清除威胁

6.2 狩猎频率

不同场景的狩猎频率:

每日狩猎(自动 + 人工):
  └─ 自动规则触发的告警审查
  └─ 检查新 IOC 在环境中的命中

每周狩猎(聚焦主题):
  └─ 选择 1 个假设进行深度狩猎
  └─ 例如:"本周狩猎 PowerShell 滥用"

每月狩猎(全面数据挖掘):
  └─ 所有终端的进程基线分析
  └─ 网络流量基线偏离分析
  └─ 新威胁情报关联分析

每季度狩猎(专项):
  └─ 深度 APT 模拟攻击狩猎
  └─ 供应链安全排查
  └─ 红蓝对抗结果复盘

七、总结

知识点 核心要点
威胁狩猎定义 主动寻找已入侵攻击者的分析方法
核心循环 假设→收集→分析→发现→响应
IOC vs IOA IOC 是已知恶意证据,IOA 是攻击行为模式
进程链分析 最有效的狩猎技术,检测异常进程树
网络行为分析 检测 C2 心跳、DNS 异常、时间异常
日志关联 多源日志关联确认失陷
常用工具 ELK、YARA、Sigma、Velociraptor

八、思考

  1. 威胁狩猎和传统 SOC 告警分析有什么本质区别?
  2. IOC(威胁指标)和 IOA(攻击指标)的区别是什么?为什么 IOA 对狩猎更重要?
  3. 请描述一个完整的威胁狩猎循环:从提出假设到验证发现的过程。
  4. 进程链分析为什么是威胁狩猎最有效的技术之一?请举例说明一个异常的进程链。
  5. 在狩猎中发现规律的"心跳"网络连接(每 60 秒连接到同一外部 IP),这可能是什么问题?下一步如何验证?

下篇预告:第244篇《无线网络安全:WPA2/WPA3/802.1X》——无线网络的加密认证机制演进,WPA2/WPA3 的区别以及企业级 802.1X 认证部署。