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

作者前言:在网络安全领域,"免杀"(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 编码的命令,你会如何区分这是管理员的运维操作,还是攻击者的免杀行为

相关推荐
广州市顺风搬家服务有限公司14 分钟前
实验室搬迁科普专业流程防护标准与合规核心要点
网络·其他·安全
Xi-Xu1 小时前
什么时候需要 Multi-agent:不是分工,而是运行边界
人工智能·经验分享·安全
Chockmans4 小时前
春秋云境CVE-2021-42897(保姆级教学)
计算机网络·安全·web安全·网络安全·安全威胁分析·春秋云境·cve-2021-42897
风控PM说7 小时前
入门第二课:业务催生风险,常见的业务风险有哪些?
安全
独守一片天1 天前
HarmonyOS 6.1.0 Call Service 来电识别与安全通信怎么设计?
安全·华为·harmonyos
想你依然心痛1 天前
嵌入式C代码规范:MISRA-C 2012核心规则解读——类型安全与未定义行为深度剖析
c语言·安全·代码规范
Elastic 中国社区官方博客1 天前
跟踪资金流向:使用 ES|QL 和跨集群搜索追踪洗钱网络
大数据·人工智能·安全·elasticsearch·搜索引擎·金融·全文检索
IT新视界1 天前
数据要素安全流通服务
安全
微信开发api-视频号协议1 天前
Codex++安全边界探秘:从模型能力到风险防御
前端·安全·微信·企业微信
枝头玉1 天前
新160个CrackMe048-monkeycrackme1、049-THraw-crackme8、050-daxxor逆向分析
安全·逆向·crackme·reserve