type
status
date
slug
summary
tags
category
icon
password
Description
EDR 的核心组成与工作闭环
EDR(Endpoint Detection and Response,终端检测与响应)不再是老派杀软那种“比指纹”的路子,而是围绕“采集端(Agent)—分析引擎(Analysis Engine)—响应机制(Response Mechanism)”三件套协同发力,实时盯梢终端行为、识别异常、快速处置,形成一个从发现到阻断的闭环。简单说,就是更懂行为、更会推理、更能落地的安全“老司机”。
1. 采集端(Agent)
- 定义
驻扎在各台终端上的轻量代理(Windows 多为服务,Linux 多为守护进程),把进程、网络、文件、注册表等本机行为打包上报,是全链路的“第一现场记者”。
- 核心职责
- 实时捕获系统调用轨迹(API Hook / ETW / Sysmon)
- 记录进程谱系(Process Tree),保留父子关系“家谱”
- 监控注册表写入、DLL 装载、敏感文件改写
- 视产品而定,采集内存片段或快照(对无文件攻击很关键)
- 典型落地
- Sysmon + WMI 订阅:如 Microsoft Defender for Endpoint 依靠 Windows Event Log 与 Sysmon(典型事件:1/7/10/12)沉淀关键行为
- 内核态拦截(Kernel Mode Hooking):如 CrowdStrike Falcon 在内核拦截
NtCreateFile、NtMapViewOfSection等敏感调用,杜绝用户态绕过 - PowerShell 全量审计:启用 Transcript 与深度日志,使“无文件剧本”无处遁形
✅ 检测后门的要点:
Agent 就是 EDR 的前哨站。有没有它、采得是否细,直接决定能不能“第一时间”嗅到异动,比如突然蹦出一个从未见过的子进程,还顺手加载了私货 DLL,或是有人对HKLM\\...\\Run动了点小心思。
2. 分析引擎(Analysis Engine)
- 定位
驻留在云端或本地中心的“中枢大脑”,把 Agent 上来的多模态数据拉通做关联、建模、打分。
- 关键技术栈
- 结合 MITRE ATT&CK、哈希情报库、IP 信誉清单做侧向校验,比如某新生进程直连已标过的 C2 IP
- 用序列模型(如 LSTM/Transformer)给命令序列画像,构建行为基线
- 搭配 UBA(User Behavior Analytics)做人机与时段画像,识别“下班时间狂拉外部文件”之类的反常操作
- 规则引擎(YARA / Sigma):靠特征与上下文触发高置信告警
- ML 异常检测:对未知样本做泛化识别
- 威胁情报汇聚:动态吸收 TI 源,提高查杀的“准星”
示例 Sigma:
✅ 识别后门的关键:
不仅能认出“老面孔”(如 Cobalt Strike Beacon 规律心跳),也能抓到“乔装”的家伙,比如用 certutil、bitsadmin 这类系统自带工具拼个隐蔽外联的骚操作。
3. 响应机制(Response Mechanism)
- 定义
当风险拉满时,自动或半自动地“下手”止血,阻断扩散。
- 常见动作
- 主机一键隔离(断网 + 冻结高危进程)
- 清理临时落地物(如
%TEMP%\\*.exe) - 修复自启与后门残留(删注册表、清服务)
- 触发告警分发(邮件 / Slack / Webhook)
- 送沙箱二次验身(部分产品支持)
✅ 对付后门的精髓:
不是“看见就算”,而是“看见就拦”,把 Beacon 进程掐灭、把落地脏文件清干净,收尾要利索。
主流 EDR 产品横向一览(截至 2025 年 4 月)
模块 | Microsoft Defender for Endpoint | CrowdStrike Falcon | SentinelOne |
采集侧 | Sysmon + WMI + Power 事件 + AMSI | 内核驱动 Hook(KMDL)+ ETW | 用户态 Hook + 内存扫描 |
采集粒度 | Event 1(进程)、7(DLL)、10(网络) | API 级(NtCreateFile、NtMapViewOfSection) | 进程树 + VAD 分析 |
分析引擎 | AI 行为基线(LSTM)+ YARA + TI 联动 | ML 分类器 + ATT&CK 映射 | UEBA + 图神经网络(GNN) |
响应处置 | 隔离 + 查杀 + 日志留存 | 实时中断 + 沙箱复核 | 自动清理 + 注册表修复 |
后门识别亮点 | Beacon 外联被异常流量模型顶格标注(Event 10) | 反射式注入通过 VAD 扫描被戳穿 | 善抓 LoTL 手法,如 certutil 侧掩体 |
📌 使用小贴士:
- Defender:在 Win10/Win11 生态下容易“开箱即用”,对企业落地友好
- Falcon:内核视角细得离谱,但资源开销要打个提前量(4GB+ RAM 比较稳)
- SentinelOne:行为图谱强项,无文件剧本经常当场“翻车”
后门在 EDR 视角下的常见“行为指纹”
后门比传统病毒“花活”多,暴露出来的特征更像是“组合拳”。可粗分为两大类:
一、静态特征(Static IoCs)
这些是从样本本体拿得到的硬指标,更容易被扫描器“秒识”:
特征类型 | 解释 | 例子 | EDR 如何盯 |
PE 头异常 | 入口点改写、非法节段 | 额外加了可执行的 .shellcode 段 | 哈希与结构校验(含 VT 回捞) |
导入表可疑 | 频繁调用 VirtualAllocEx、WriteProcessMemory 等 | Meterpreter 借 CreateRemoteThread 做注入 | YARA 规则触发 |
硬编码字符串 | C2 域名、口令、指令字串 | 例如样本里藏了可解密的远端地址片段 | AMSI 与字符串画像 |
签名问题 | 未签或签名校验不过 | 自编译 EXE 没有合法证书 | 本地黑名单 / 信任策略拦截 |
✅ 典型翻车场景:
用 msfvenom 拉了一个 x64 meterpreter 反连载荷,因导入恶名昭著的加解密与注册表相关 API,上 VT 往往“全红”。
二、动态行为(Behavioral IoCs)
这类特征得在运行时才看得清,是现代 EDR 的主战场:
行为 | 具体动作 | Sysmon 事件 | 检测逻辑 |
注册表篡改 | 加自启、动防火墙 | Event 13(Registry Write) | 非受信应用改 Run 键位 → 告警 |
进程注入 | 向 explorer.exe 打壳 | Event 7(DLL)+ 1(Process) | 系统进程加载来自 temp 的 DLL → 危 |
隐藏落地 | 创建带隐藏属性的可执行体 | Event 11(File Create) | 路径命中 %TEMP%\\. 或含 ~$ → 标记 |
对外通信 | 周期性心跳到 C2 | Event 10(NetConn) | 频率异常或目的不在白名单 → 提分 |
示例:常见后门工具与典型告警映射(Windows)
工具 | 触发点 | Sysmon | 解读 |
Cobalt Strike Beacon | 周期外联 | Event 10 | C2 不在白名单 → AI 分数直接起飞 |
Meterpreter(Metasploit) | 注入合法进程 | Event 7(DLL) | 从 %TEMP% 装载、非微软签名 → 命中规则 |
Empire(PowerShell 后门) | 远程脚本执行 | Event 1(Process) | 命令含 -EncodedCommand → AMSI 介入 |
CertUtil 侧载 | 原生命令下载 DLL | Event 1(Process) | 命令里 certutil -urlcache -split -f ... → 行为模型拉红线 |
📌 行为链:
💡 为何容易露馅?
- 这些路径已固化为 ATT&CK 技术模式,组合频次与时序很“出戏”
- 加上时间窗与上下文(例如低权限账户却频繁提权操作),命中率直接拉满
📌 下一步预告:
接下来聊聊如何借助 PowerShell、certutil 等“系统自带的积木”做无文件执行,绕开静态查杀与简单启发。红队对抗的“隐藏关卡”,安排!
✅ 里程碑小结:
- 截至 2025-04-01 完成初稿节点
- 覆盖三款主流 EDR 对比
- 给到行为编号与检测机制(Sysmon 事件 + 案例)
- 可复现实验路径:用 Sysmon 配置 + EDR 日志复盘触发链条(详见下一章“基于行为分析的异常检测模型”)
后门检测的关键技术与机理详解
基于行为的异常检测模型
EDR 的看家本领之一,就是把“平时是什么样”学出来,再对“现在怪不怪”做判断。相比只看特征的传统杀软,行为分析对无文件、LoTL 这类“借刀杀人”的玩法更加拿手。
一、主流异常检测方式与思路
- 统计阈值(Statistical Thresholding)
- 思路:收集一段时间的常态数据,计算均值与波动区间,超限即疑
- 适用:突增型行为,例如短时内大量写临时目录、PowerShell 调用暴涨
- 示例:
- 监督学习分类器(RF / XGBoost / SVM)
- 特征:API 序列、进程树、DLL 路径、流量大小、时间间隔
- 训练:用已标注的好/坏样本构建特征向量(可映射 Sysmon 事件组合)
- 优势:能自己“摸规律”,对新姿势也有泛化
- 示例:
- 图神经网络(GNN)
- 建模:把父子进程关系画成图(点=进程,边=调用)
- 长处:能识别 LoTL 与注入链条中的“不和谐结构”,比如
svchost.exe突生诡异子进程 - 实战:类似 Defender 的 Process Behavior Graph 思路
- 示例:
二、规则驱动 vs AI 驱动
类型 | 规则(YARA/Sigma) | AI(ML/GNN) |
依据 | 显式条件与字段匹配 | 隐式分布与拓扑模式 |
可解释性 | ✅ 清楚好懂 | ❌ 偏黑盒 |
未知威胁 | ❌ 依赖已知特征 | ✅ 泛化更强 |
维护成本 | 中等(持续迭代规则库) | 偏高(训练与标注要跟上) |
代表工具 | YARA、Sigma、Elastic | Sentinel、Falcon Insight、Chronicle |
三、联动实战:Wireshark 抓包 + EDR 日志交叉打样
- 背景:某主机中 Beacon(v4.0),尝试用 DNS 隧道摸到外网 C2。
- 流程:
1) Wireshark 抓到异常域名查询与解析返回(A 记录指向疑似目标段)
2) EDR 侧同步出现 Event 3(网络连接)记录,主角是 powershell.exe,命令里带着 Base64 大长串
3) 交叉核对:
- 异常时段触发(凌晨档)
- 域名特征可见可解片段
- 目标 IP 不在资产白名单
- 规则达标后触发策略:
结果:就算 Payload 混淆得再花,靠多维线索联动也能掐住命门。
内存深挖:从 VAD 到 PE 解析
要抓无文件与驻留型后门,还是得进内存“摸鱼”。主流方法包括:
技术 | 做法 | 用处 |
内存镜像导出 | WinDbg / Volatility 拿全量 dump | 查隐藏 DLL、shellcode、密钥 |
VAD 遍历 | 过一遍进程的虚拟地址空间,揪“非典型”段 | 识别反射式注入 |
DLL 加载链 | 拉出所有模块来源、签名、路径 | 识别“假冒合法”DLL |
PE 结构校验 | 看节区、入口点、对齐等是否乱套 | 发现 Hollowing 等老戏法 |
案例:ProcMon 抓到异常 DLL 路径
- 现象:
explorer.exe居然加载了C:\Users\Public\Documents\fake.dll
- 合法对照:系统模块应在
C:\Windows\System32\\kernel32.dll
- 分析流程:
1) Event 7 记录装载详情,结果为 SUCCESS 但路径离谱
2) 签名校验不过 + VT 有前科
3) 响应:干掉异常子进程、卸载映射、上报 SOAR 流转
内存扫描流程
ProcMon 关键字段速查
字段 | 含义 | 看点 |
Process Name | 所属进程 | 系统壳加载陌生模块 → 非常规 |
Image Path | 模块路径 | %temp%、public 等路径风险高 |
Result | 调用结果 | SUCCESS 不代表安全,需要交叉校验 |
Module Name | 模块名 | 名实不符要警觉 |
Signature Status | 签名状态 | 未签/签不过/主体异常都要看 |
Hash | 哈希值 | 用于威胁库快速定性 |
Volatility 速玩(示意脚本)
📌 结论:靠内存侧“深挖”+ 行为侧“串联”,像反射式注入、进程空洞化这类隐蔽术基本都会露出马脚。VAD 与图谱模型联动,检出率会更上一层楼。


