前言
本篇若不了解相关领域,读起来可能比较晦涩。懂得先记下,不懂的有个印象,用到了再仔细研究。
0x00 是什么?
EDR(Endpoint Detetion And Response
)“预测
、防护
、检测
和响应
”的技术体系,作用贯穿安全事件发生的全过程。
你可以类比成HIDS
加个R
和零信任的Agent
+策略引擎
。
0x01 EDR为了“可见性”都做了什么?
-
内核回调 -
DLL注入(Hook/Patch) -
修改执行流
0x02 对抗分析
2.1 Agent层面
现状:用户态运行
对抗手段:直接kill掉进程
现状:高权限情况下运行
对抗手段:提权kill,通过BYPASSUAC、内核漏洞、加驱动、绕过KPP(EPTHOOK)等
2.2 网络层面
现状:Agent-Server通信
对抗手段:
-
阻断和Server端的通信 -
阻断采集日志的回传
2.3 通信协议
现状:链路协议和标准
对抗手段:
-
协议复用 -
伪造心跳 -
伪造日志
0x03 技术实现
3.1 针对内核回调层面
-
DLL Hollowing模块镂空 -
幽灵内存加载
3.2 针对DLL注入(HOOK)层面
-
重载NTDLL -
直接使用SYSCALL
3.3 针对检测规则层面
-
PE内存加载 -
BOF -
SHELLCODE自注入 -
多层父进程 -
模拟正常软件安装setup.exe -
白名单目录 -
白名单进场 -
…
0x04 实用技巧
-
直接干掉Agent -
直接阻断通讯 -
复制粘贴修改/替代 -
自实现CMD混淆 -
RDP多开 -
杀软 -
驱动白利用
原文始发于微信公众号(小宝的安全学习笔记):红蓝对抗之EDR