远控免杀从入门到实践 (11) 终结篇
字数 2549 2025-08-15 21:30:43
远控免杀技术全面指南
一、前言
本指南全面总结了远控免杀技术的各个方面,包括工具使用、编程语言实现和白名单利用等技术。所有技术仅供安全研究和防御使用,严禁用于非法用途。
二、工具篇
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
- 图片隐写:将代码隐藏在图片中
- 安装包:伪装成正常软件安装包
七、防御对策
- 应用白名单:限制可执行程序范围
- 行为监控:监控异常行为而非静态特征
- 权限控制:最小权限原则
- 日志分析:全面记录分析系统活动
- 补丁管理:及时更新系统和软件
- 安全意识:提高用户安全意识
八、参考资料
[此处应包含原文中提到的所有参考资料链接,由于篇幅限制未全部列出]
本指南全面总结了远控免杀技术的各个方面,从工具使用到编程实现,再到白名单利用和高级技巧。所有技术都应仅用于合法安全研究和防御目的。随着安全技术的不断发展,免杀与检测的对抗也将持续升级,安全从业者需要不断学习和更新知识。