**郑重声明:**本文所涉安全技术仅限用于合法研究与学习目的,严禁任何形式的非法利用。因不当使用所导致的一切法律与经济责任,本人概不负责。任何形式的转载均须明确标注原文出处,且不得用于商业目的。
🔋 点赞 | 能量注入 ❤️ 关注 | 信号锁定 🔔 收藏 | 数据归档 ⭐️ 评论| 保持连接💬
🌌 立即前往 👉 🚀
▶ 信息收集 ➢ 防病毒软件概述 ➢🔥🔥🔥
▶ 漏洞检测
▶ 初始立足点
▶ 权限提升
▶ 横向移动
▶ 报告/分析
▶ 教训/修复
目录
[1.1 防病毒软件概述](#1.1 防病毒软件概述)
[1.1.1 已知威胁与未知威胁](#1.1.1 已知威胁与未知威胁)
[1.1.1.1 签名语言与检测机制(已知威胁)](#1.1.1.1 签名语言与检测机制(已知威胁))
[1.1.1.2 机器学习引擎检测(未知威胁)](#1.1.1.2 机器学习引擎检测(未知威胁))
[1.1.1.3 EDR工作模式](#1.1.1.3 EDR工作模式)
[1.1.2 防病毒引擎核心组件概述](#1.1.2 防病毒引擎核心组件概述)
[1.1.3 检测方法](#1.1.3 检测方法)
[1.1.3.1 基于签名的检测](#1.1.3.1 基于签名的检测)
[1. 示例展示](#1. 示例展示)
[2. 检测流程](#2. 检测流程)
[欢迎❤️ 点赞 | 🔔 关注 | ⭐️ 收藏 | 💬 评论](#欢迎❤️ 点赞 | 🔔 关注 | ⭐️ 收藏 | 💬 评论)
1.防病毒软件规避
攻击者在入侵目标时常会禁用或绕过系统上安装的反病毒软件。作为渗透测试人员,理解并重现这些技术有助于向客户展示相关威胁。本系统文章将:
-
讨论反病毒软件的目的与工作原理
-
概述其在企业中的部署方式
-
研究恶意软件检测方法
-
探索绕过目标机器上反病毒软件的工具与技术
1.1 防病毒软件概述
防病毒软件(AV)是用于预防、检测和删除恶意软件 的应用程序。最初仅针对计算机病毒,如今已扩展至应对机器人、勒索软件等新型威胁,并常集成IDS/IPS、防火墙、网站扫描等功能。
1.1.1 已知威胁与未知威胁
1.1.1.1 签名语言与检测机制(已知威胁)
传统防病毒软件主要依赖签名进行威胁识别。签名用于唯一标识特定恶意软件,其形式多样:
-
从简单的文件哈希
-
到具体的二进制序列匹配
每个防病毒引擎通常定义自己的签名语言,因此同一恶意软件可能对应多个签名,用于不同检测场景:(例如:同一个防病毒引擎对于同一个恶意文件,在不同场景下有着不同的签名)
| 签名类型 | 检测目标 |
|---|---|
| 文件静态签名 | 磁盘上的恶意软件文件 |
| 网络行为签名 | 恶意软件的网络通信 |
又例如,2014年开源的YARA签名语言,允许研究人员:
-
在VirusTotal平台查询恶意软件(https://www.virustotal.com/#/home/upload)
-
将自定义签名集成到防病毒产品中
🌐 VirusTotal 是一个流行的恶意软件分析平台,支持用户上传样本并使用多家防病毒引擎进行扫描比对。如下图:


1.1.1.2 机器学习引擎检测(未知威胁)
传统的签名检测 只能识别已知威胁,而现代防病毒软件(如 Windows Defender )集成了机器学习(ML)引擎 ,能主动分析系统上的未知文件,从而识别潜在的未知威胁。
⚠️ 局限性
ML 引擎通常部署在云端,需保持互联网连接,在企业内网服务器中可能受限
为避免影响系统性能,引擎需控制计算资源占用
1.1.1.3 EDR工作模式
为弥补传统 AV 的不足,终端检测与响应(EDR) 方案应运而生。EDR 持续监控终端行为,该系统从每个公司主机收集数据。采集安全事件数据并发送至 SIEM(安全信息与事件管理) 系统,为安全团队提供全网攻击态势的整体视图。
🚀 防御技术演进
传统 AV(基于签名)
↓
智能 AV(签名 + 机器学习)
↓
EDR(持续监控 + 威胁狩猎 + 响应)
└── 数据汇聚至 SIEM
└── 安全团队全局分析
🔄 AV 与 EDR 的关系
并非互斥,而是互补协同
AV 提供实时防护,EDR 增强纵深检测与响应能力
企业应根据自身网络架构与安全现状,合理部署两者
1.1.2 防病毒引擎核心组件概述
现代防病毒软件以云端签名数据库 为驱动核心,通过定期更新获取最新威胁特征 ,并将这些特征同步至本地数据库,供多个专用检测引擎协同工作。防病毒软件通常包含以下七大核心组件:
| 组件名称 | 核心功能 | 工作模式/特点 | 检测目标/场景 | 技术实现 |
|---|---|---|---|---|
| 文件引擎 | 负责定期扫描 和实时扫描文件系统 | ① 定期扫描 :解析整个文件系统,将文件元数据或数据发送给签名引擎 ② 实时扫描 :通过内核级别的迷你过滤驱动程序监控新文件操作 | 磁盘上的恶意文件、新下载的文件、文件修改操作 | 运行在内核和用户空间,实现全操作系统范围监控 |
| 内存引擎 | 在运行时检查进程内存空间 | 监控每个进程 的内存活动 ,查找已知二进制签名 或可疑API调用 | 内存注入攻击、运行时恶意代码执行 | 实时内存分析,检测内存中的恶意行为模式 |
| 网络引擎 | 检查传入和传出网络流量 | 监控本地网络接口流量 ,匹配恶意签名后阻断通信 | C2服务器通信、恶意网络流量特征 | 网络包深度检测,实时拦截恶意连接 |
| 反汇编引擎 | 逆向分析恶意软件的加密/混淆代码 | 将机器代码转换为汇编语言,重构原始程序结构,识别编码/解码例程 | 加壳程序、加密恶意软件、混淆代码 | 静态代码分析,识别恶意软件的真实性质 |
| 模拟器/沙箱 | 提供隔离环境执行可疑代码 | 安全加载和执行恶意软件,观察其行为而不影响真实系统 | 动态行为分析、解包/解码后的恶意软件 | 虚拟化技术,安全执行环境 |
| 浏览器插件 | 增强浏览器内部可见性 | 突破浏览器沙箱限制,监控网页内脚本执行和恶意内容 | 浏览器内恶意代码执行、恶意网页内容 | 浏览器扩展API,增强检测能力 |
| 机器学习引擎 | 检测未知威胁和变种 | 依赖云端计算资源 和算法,分析未知文件行为模式 | 零日漏洞利用、新型恶意软件、未知威胁 | 云端智能分析,行为模式识别 |
1.1.3 检测方法
基于引擎构建的防病毒软件签名语法和范围可能有所不同,但它们仍然具有相同的目的:即唯一标识特定威胁或恶意软件。在本部分内容将探讨以下杀毒软件检测方法,并解释它们如何共同工作。
- 基于签名的检测
- 基于启发式的检测
- 行为检测
- 机器学习检测
1.1.3.1 基于签名的检测
| 检测方法 | 工作原理 | 具体实现 | 优势 | 局限性 | 示例说明 |
|---|---|---|---|---|---|
| 基于签名的检测 | 将文件系统与已知恶意软件特征库进行比对匹配 | 1. 文件哈希比对 (如MD5、SHA256) 2. 二进制特征码匹配 3. 特定字符串识别 | 1. 准确率高 (已知威胁) 2. 误报率低 3. 检测速度快 | 1. ❌ 无法检测未知威胁 2. ❌ 易被绕过 (微小修改) 3. ❌ 依赖持续更新 | 修改文件单个字符(offsec→offseC)导致完全不同的哈希值,轻松绕过检测 |
🔍 技术原理深度解析
1. 示例展示
在本地Kali机器上创建了一个包含字符串"offsec"的文本文件。通过在文件名之前传递-b参数,我们可以使用xxd工具来转储其二进制表示。
我们通过xxd实用程序显示了文件的内容。输出显示了最左列的二进制偏移量,中间列的实际二进制表示,以及最右列的ASCII翻译,还用红色突出显示了字母"c"的二进制表示。

假设这是真正的恶意软件,我们想要计算该文件的哈希值,可以通过sha256sum程序来实现。

现在,让我们将"offsec"字符串的最后一个字母替换为大写字母C并再次通过xxd转储其二进制值。我们注意到最后一个字母的二进制值只在从左边数的第三位上发生了变化。由于每个哈希算法都应该在只有一个位发生变化的情况下产生完全不同的哈希值。

让我们计算修改后字符串的SHA256哈希值,毫不奇怪,哈希值完全改变了,这证明仅依赖哈希文件签名检测的脆弱性。

2. 检测流程
文件系统扫描 → 提取特征 → 签名库匹配 → 判定结果
↓ ↓
可疑文件 已知恶意软件特征
↓ ↓
[匹配成功] → 隔离/删除
[匹配失败] → 放行/进一步分析
3.签名检测的脆弱性分析
①单一哈希依赖问题
-
比特翻转攻击:仅改变1个比特即可生成全新哈希
-
填充攻击:添加无关数据改变文件大小和哈希
-
重打包技术:轻微修改恶意软件结构
②静态特征易变性
原始恶意软件签名:包含字符串"evil_code"
规避方法:
1. 字符串拆分: "ev" + "il_" + "code"
2. 编码转换:Base64("evil_code") → "ZXZpbF9jb2Rl"
3. 动态生成:运行时拼接字符串
③ 多态与变形恶意软件
现代恶意软件常采用:
-
加壳技术:每次运行使用不同加壳器
-
代码混淆:自动生成等价但特征不同的代码
-
环境感知:检测到分析环境时改变行为
4.应对策略(防御视角)
① 签名检测增强方案
-
模糊哈希(如ssdeep):容忍微小修改
-
复合签名:多特征组合提高检测精度
-
频率分析:统计特征出现频率而非精确匹配
② 与其他检测方法协同
基于签名的检测(快速、准确)
↓
基于启发式的检测(检测可疑模式)
↓
行为检测(运行时监控)
↓
机器学习检测(未知威胁识别)
关键结论 :基于签名的检测是防病毒软件的基础,但单独使用时极其脆弱。渗透测试人员可通过微小修改有效绕过此类检测,这强调了多层防御机制的重要性。
基于启发式的检测(静态特征)、基于行为的检测(动态行为)等内容见下文。
欢迎❤️ 点赞 | 🔔 关注 | ⭐️ 收藏 | 💬 评论
每一份支持,都是我持续输出的光。
