远控免杀从入门到实践 (11) 终结篇
字数 2549 2025-08-15 21:30:43

远控免杀技术全面指南

一、前言

本指南全面总结了远控免杀技术的各个方面,包括工具使用、编程语言实现和白名单利用等技术。所有技术仅供安全研究和防御使用,严禁用于非法用途。

二、工具篇

1. 常见免杀工具

  1. MSF自免杀:Metasploit框架自带的免杀技术
  2. Veil:Python编写的生成绕过AV的Metasploit有效载荷工具
  3. Venom:生成多种格式的Payload
  4. Shellter:动态shellcode注入工具,首个真正动态的PE注入工具
  5. BackDoor-Factory:生成win32PE后门和ELF后门
  6. Avet:MSF免杀工具
  7. TheFatRat:Java编写的MSF免杀工具,可利用searchsploit快速搜索
  8. Avoidz:免杀Payload生成器
  9. Green-Hat-Suite:免杀工具套件
  10. zirikatu:MSF免杀工具
  11. AVIator:免杀工具
  12. DKMC:生成存储在polyglot图像中的混淆shellcode
  13. Unicorn:使用PowerShell降级攻击并将shellcode直接注入内存
  14. Python-Rootkit:Windows下rootkit,反弹meterpreter
  15. ASWCrypter:Python/Bash编写的MSF免杀工具
  16. nps_payload:专为逃避入侵检测而生成Payload
  17. GreatSCT:生成应用程序白名单绕过
  18. HERCULES:MSF免杀工具
  19. SpookFlare:客户端与网络端策略绕过,MSF/Empire/Koadic生成加载混淆
  20. SharpShooter:基于DotNetToJScript的payload创建框架
  21. CACTUSTORCH:基于DotNetToJScript生成恶意payload

2. 其他实用工具

  1. SigThief:劫持合法数字签名绕过Windows哈希验证
  2. Invoke-PSImage:将PS脚本嵌入PNG像素中执行
  3. macro_pack:自动生成混淆的MS Office文档
  4. Phishery:支持SSL的简单HTTP服务器
  5. PowerShdll:使用rundll32运行PowerShell
  6. Generate-Macro:生成具有指定有效负载的恶意Office文档
  7. DotNetToJScript:利用JS/Vbs脚本加载.Net程序
  8. Reflective DLL injection:不使用LoadLibraryA将DLL映射到目标进程
  9. Worse PDF:将普通PDF变成恶意文件窃取Net-NTLM哈希

三、代码篇

1. 编程语言实现免杀

  1. C/C++

    • 直接编译shellcode
    • 使用反射式DLL注入
    • 进程注入技术
  2. C#

    • 利用DllImport调用Win32 API
    • 使用Delegate进行动态调用
    • Assembly.Load内存加载
  3. Python

    • ctypes调用shellcode
    • 使用PyInstaller打包为exe
    • 代码混淆技术
  4. PowerShell

    • 内存加载.NET程序集
    • 混淆编码技术(Invoke-Obfuscation)
    • 无文件攻击技术
  5. Ruby

    • Win32API调用
    • 进程注入
  6. Go

    • syscall直接执行shellcode
    • 交叉编译绕过检测
    • 代码混淆

2. 代码混淆技术

  1. 字符串加密:对关键字符串进行加密处理
  2. 控制流混淆:改变程序执行流程增加分析难度
  3. 垃圾代码插入:插入无效代码干扰分析
  4. API动态调用:避免直接导入敏感API
  5. 多态变形:每次生成不同特征的代码

四、白名单利用

1. 常见白名单程序

  1. Rundll32.exe:加载DLL执行代码
  2. Msiexec.exe:通过MSI包执行
  3. MSBuild.exe:编译执行C#代码
  4. InstallUtil.exe:安装.NET程序
  5. Mshta.exe:执行HTA脚本
  6. Regsv*.exe**:注册DLL
  7. Cmstp.exe:安装INF文件
  8. CScript/WScript:执行JS/VBS脚本
  9. Forfiles.exe:执行指定命令
  10. Odbcconf.exe:配置ODBC数据源

2. 白名单利用技术

  1. DLL劫持:利用白名单程序加载恶意DLL
  2. 脚本执行:通过JS/VBS/HTA等脚本执行代码
  3. 代码嵌入:将代码嵌入文档、图片等文件
  4. 代理执行:让白名单程序加载执行恶意代码
  5. 侧加载:利用合法程序加载恶意组件

五、免杀技术进阶

1. 反沙箱技术

  1. 环境检测:检测虚拟机、沙箱环境
  2. 延时执行:设置延迟避免沙箱超时检测
  3. 用户交互:等待用户操作后执行
  4. 硬件指纹:检测真实硬件特征

2. 反分析技术

  1. 反调试:检测调试器存在
  2. 代码加密:运行时解密执行
  3. 内存操作:避免文件落地
  4. 进程注入:注入到合法进程中

3. 持久化技术

  1. 注册表启动项:添加自启动项
  2. 计划任务:创建定时任务
  3. 服务安装:安装为系统服务
  4. WMI事件:利用WMI事件触发
  5. 快捷方式修改:修改开始菜单快捷方式

六、实战技巧

1. Payload生成技巧

  1. 多阶段加载:分阶段加载减少特征
  2. 加密通信:使用SSL/TLS加密通信
  3. 流量伪装:将通信伪装成正常流量
  4. 动态变换:每次连接使用不同特征

2. 交付方式

  1. 文档宏:嵌入Word/Excel文档
  2. 快捷方式:恶意.lnk文件
  3. PDF利用:嵌入恶意代码的PDF
  4. 图片隐写:将代码隐藏在图片中
  5. 安装包:伪装成正常软件安装包

七、防御对策

  1. 应用白名单:限制可执行程序范围
  2. 行为监控:监控异常行为而非静态特征
  3. 权限控制:最小权限原则
  4. 日志分析:全面记录分析系统活动
  5. 补丁管理:及时更新系统和软件
  6. 安全意识:提高用户安全意识

八、参考资料

[此处应包含原文中提到的所有参考资料链接,由于篇幅限制未全部列出]


本指南全面总结了远控免杀技术的各个方面,从工具使用到编程实现,再到白名单利用和高级技巧。所有技术都应仅用于合法安全研究和防御目的。随着安全技术的不断发展,免杀与检测的对抗也将持续升级,安全从业者需要不断学习和更新知识。

远控免杀技术全面指南 一、前言 本指南全面总结了远控免杀技术的各个方面,包括工具使用、编程语言实现和白名单利用等技术。所有技术仅供安全研究和防御使用,严禁用于非法用途。 二、工具篇 1. 常见免杀工具 MSF自免杀 :Metasploit框架自带的免杀技术 Veil :Python编写的生成绕过AV的Metasploit有效载荷工具 Venom :生成多种格式的Payload Shellter :动态shellcode注入工具,首个真正动态的PE注入工具 BackDoor-Factory :生成win32PE后门和ELF后门 Avet :MSF免杀工具 TheFatRat :Java编写的MSF免杀工具,可利用searchsploit快速搜索 Avoidz :免杀Payload生成器 Green-Hat-Suite :免杀工具套件 zirikatu :MSF免杀工具 AVIator :免杀工具 DKMC :生成存储在polyglot图像中的混淆shellcode Unicorn :使用PowerShell降级攻击并将shellcode直接注入内存 Python-Rootkit :Windows下rootkit,反弹meterpreter ASWCrypter :Python/Bash编写的MSF免杀工具 nps_ payload :专为逃避入侵检测而生成Payload GreatSCT :生成应用程序白名单绕过 HERCULES :MSF免杀工具 SpookFlare :客户端与网络端策略绕过,MSF/Empire/Koadic生成加载混淆 SharpShooter :基于DotNetToJScript的payload创建框架 CACTUSTORCH :基于DotNetToJScript生成恶意payload 2. 其他实用工具 SigThief :劫持合法数字签名绕过Windows哈希验证 Invoke-PSImage :将PS脚本嵌入PNG像素中执行 macro_ pack :自动生成混淆的MS Office文档 Phishery :支持SSL的简单HTTP服务器 PowerShdll :使用rundll32运行PowerShell Generate-Macro :生成具有指定有效负载的恶意Office文档 DotNetToJScript :利用JS/Vbs脚本加载.Net程序 Reflective DLL injection :不使用LoadLibraryA将DLL映射到目标进程 Worse PDF :将普通PDF变成恶意文件窃取Net-NTLM哈希 三、代码篇 1. 编程语言实现免杀 C/C++ : 直接编译shellcode 使用反射式DLL注入 进程注入技术 C# : 利用DllImport调用Win32 API 使用Delegate进行动态调用 Assembly.Load内存加载 Python : ctypes调用shellcode 使用PyInstaller打包为exe 代码混淆技术 PowerShell : 内存加载.NET程序集 混淆编码技术(Invoke-Obfuscation) 无文件攻击技术 Ruby : Win32API调用 进程注入 Go : syscall直接执行shellcode 交叉编译绕过检测 代码混淆 2. 代码混淆技术 字符串加密 :对关键字符串进行加密处理 控制流混淆 :改变程序执行流程增加分析难度 垃圾代码插入 :插入无效代码干扰分析 API动态调用 :避免直接导入敏感API 多态变形 :每次生成不同特征的代码 四、白名单利用 1. 常见白名单程序 Rundll32.exe :加载DLL执行代码 Msiexec.exe :通过MSI包执行 MSBuild.exe :编译执行C#代码 InstallUtil.exe :安装.NET程序 Mshta.exe :执行HTA脚本 Regsv * .exe** :注册DLL Cmstp.exe :安装INF文件 CScript/WScript :执行JS/VBS脚本 Forfiles.exe :执行指定命令 Odbcconf.exe :配置ODBC数据源 2. 白名单利用技术 DLL劫持 :利用白名单程序加载恶意DLL 脚本执行 :通过JS/VBS/HTA等脚本执行代码 代码嵌入 :将代码嵌入文档、图片等文件 代理执行 :让白名单程序加载执行恶意代码 侧加载 :利用合法程序加载恶意组件 五、免杀技术进阶 1. 反沙箱技术 环境检测 :检测虚拟机、沙箱环境 延时执行 :设置延迟避免沙箱超时检测 用户交互 :等待用户操作后执行 硬件指纹 :检测真实硬件特征 2. 反分析技术 反调试 :检测调试器存在 代码加密 :运行时解密执行 内存操作 :避免文件落地 进程注入 :注入到合法进程中 3. 持久化技术 注册表启动项 :添加自启动项 计划任务 :创建定时任务 服务安装 :安装为系统服务 WMI事件 :利用WMI事件触发 快捷方式修改 :修改开始菜单快捷方式 六、实战技巧 1. Payload生成技巧 多阶段加载 :分阶段加载减少特征 加密通信 :使用SSL/TLS加密通信 流量伪装 :将通信伪装成正常流量 动态变换 :每次连接使用不同特征 2. 交付方式 文档宏 :嵌入Word/Excel文档 快捷方式 :恶意.lnk文件 PDF利用 :嵌入恶意代码的PDF 图片隐写 :将代码隐藏在图片中 安装包 :伪装成正常软件安装包 七、防御对策 应用白名单 :限制可执行程序范围 行为监控 :监控异常行为而非静态特征 权限控制 :最小权限原则 日志分析 :全面记录分析系统活动 补丁管理 :及时更新系统和软件 安全意识 :提高用户安全意识 八、参考资料 [ 此处应包含原文中提到的所有参考资料链接,由于篇幅限制未全部列出 ] 本指南全面总结了远控免杀技术的各个方面,从工具使用到编程实现,再到白名单利用和高级技巧。所有技术都应仅用于合法安全研究和防御目的。随着安全技术的不断发展,免杀与检测的对抗也将持续升级,安全从业者需要不断学习和更新知识。