第一期:免杀的前世今生与攻防底层逻辑

作者前言:在网络安全领域,"免杀"(Anti-AV/Anti-EDR)一直是攻防双方博弈的核心。作为防御者,不了解攻击者的"画笔",就无法画出正确的"防线"。本文将从历史演变、技术原理及防御视角,带你重新审视免杀技术。


一、什么是"免杀"?

免杀(Evasion),全称"免杀技术",狭义上指绕过杀毒软件(AV)的查杀;广义上则涵盖了绕过端点检测与响应系统(EDR)、防火墙、甚至人工分析的所有技术手段。

对于红队(Red Team),它是投递载荷(Payload)的必要前置;

对于蓝队(Blue Team),它是构建检测规则的核心依据。


二、历史演变:从"特征码"到"行为对抗"

为了更好地理解现状,我们需要回顾攻防对抗的三个时代:

时代 核心对抗点 攻击侧技术 防御侧技术
1.0 特征时代 文件静态特征 修改木马字节、加壳、花指令 病毒库签名、MD5黑名单
2.0 启发时代 文件结构与行为 内存加载、加密Shellcode、多态变形 启发式扫描、虚拟执行(沙箱)
3.0 对抗时代 内存与内核 无文件攻击、Direct Syscalls、驱动级对抗 EDR行为监控、内核回调、内存扫描

现状 :单纯的文件查杀早已失效,现代对抗的主战场已经转移到了内存(Memory)行为(Behavior)


三、杀软是如何工作的?AV vs EDR

作为网安工程师,你必须清楚你的对手(杀软)是如何看到你的。

1. 传统 AV(静态为主)

  • 机制:基于签名(Signature)。就像警察拿着通缉犯的画像(Hash值)抓人。

  • 弱点:只要改变文件的一点点特征(如加壳、异或加密),就能轻易绕过。

2. 现代 EDR(动态为主)

  • 机制 :基于 telemetry(遥测数据)。它不关心文件长什么样,而是关心你在做什么

  • 关键技术

    • Hooking(钩子) :EDR会注入DLL到你的进程中,监控 CreateRemoteThread, VirtualAllocEx等敏感 API 调用。

    • ETW(Event Tracing for Windows):内核层面的事件追踪,记录进程创建、网络连接等行为。

防御者笔记 :如果你在分析一个样本,发现它频繁调用 NtProtectVirtualMemory将内存属性改为 RWX(可读可写可执行),这就是一个高危信号。


四、MITRE ATT&CK 中的免杀技术映射

在实际工作中,我们不使用"免杀"这个词,而是使用 MITRE ATT&CK​ 框架中的标准术语。

以下是常见的免杀技术对应的 ATT&CK ID:

技术名称 ATT&CK ID 描述
Obfuscated Files or Information T1027 对文件和信息进行混淆(加密、编码)。
Masquerading T1036 伪装成系统文件或合法进程(如 svchost.exe)。
Process Injection T1055 将代码注入到其他进程中以躲避监控。
Reflective Code Injection T1620 将代码反射加载到内存中,不在磁盘落档。
Indicator Removal T1070 清除日志、篡改时间戳。

五、实验环境搭建(防御者沙盘)

在开始研究之前,请务必搭建隔离的实验室环境。切勿在生产环境或互联网上进行测试。

1. 硬件与虚拟化

  • 宿主机:建议使用 Linux(Kali/Ubuntu)或 Windows 10/11。

  • 虚拟机:VMware Workstation 或 VirtualBox。

  • 网络Host-Only 模式(严禁桥接或 NAT,防止样本外溢)。

2. 靶机配置

  • Windows 10/11:关闭 Windows Defender 实时保护(用于测试其他EDR)。

  • 服务器:Windows Server 2019(模拟域环境)。

3. 必备工具清单(防御视角)

类别 工具名称 用途
静态分析 IDA Pro / Ghidra 逆向工程,查看汇编逻辑。
动态调试 x64dbg / WinDbg 动态跟踪程序执行流程。
行为监控 **Process Monitor (ProcMon)**​ 监控文件、注册表、网络、进程活动。
API监控 API Monitor 查看程序调用的具体 Windows API。
沙箱 Any.Run / Hybrid Analysis 在线分析样本行为(上传前脱敏)。
日志 Sysmon + Elastic Stack 收集和分析 Windows 事件日志。

六、总结与下期预告

本期我们梳理了免杀的基本概念和防御者的观察视角。记住:所有的免杀技术,本质上都是在试图打破"文件-内存-行为"这条链路上的某个监控环节。

  • 如果防御者只看文件,我就搞内存;

  • 如果防御者看内存,我就搞行为伪装;

  • 如果防御者看行为,我就搞环境逃逸。

下期预告

我们将深入探讨 《第二期:静态特征的识别与对抗》 。我将教你如何编写 YARA 规则​ 来捕捉那些试图通过简单加密和混淆来隐藏自己的恶意代码,并解析字符串加密的原理。


💡 思考题(供读者留言讨论)

在你的企业环境中,如果一台主机的 PowerShell 突然执行了一段 Base64 编码的命令,你会如何区分这是管理员的运维操作,还是攻击者的免杀行为

相关推荐
zzq77975 小时前
加固包闪退四象限定位:targetSdk 与保护策略实战解析
android·安全·安卓·安全架构
Promise微笑6 小时前
智能激光清障仪选型指南:高效运维与安全保障的关键考量
运维·安全
●VON7 小时前
鸿蒙 PC Markdown 编辑器存储安全:AtomicFile 原子提交与故障注入
安全·华为·编辑器·harmonyos·鸿蒙
网络研究院8 小时前
2026年上半年十大网络攻击和数据泄露事件
网络·安全·漏洞·风险·数据·泄露·事件
BEOL贝尔科技9 小时前
还在担心样本的安全吗?如何制定有效的温湿度异常应急预案?
人工智能·安全
未来之窗软件服务10 小时前
基于设备ID固化的SaaS客户端访问安全防护的必要性探析—东方仙盟
安全·仙盟创梦ide·东方仙盟·计算机考试
科技发布11 小时前
金理奖背书,传播易打造安全、透明、低成本广告投放渠道
安全
MartinYeung511 小时前
[论文学习]LLM 中的个性化安全:一个基准测试与基于规划的智能体方法
人工智能·学习·安全
王维同学11 小时前
IFEO Debugger、VerifierDlls 与 SilentProcessExit 配置
c++·windows·安全·注册表
析数塔13 小时前
SleeperGem 技术拆解:恶意 gem 是怎么躲过 CI/CD 扫描的
安全·ci/cd·github