常规
判断CPU核心数 dwNumberOfProcessors
判断RAM大小 GlobalMemoryStatus
判断硬盘大小 PhysicalDrive0
判断系统用户名
以前有判断用户名的字典,现在一般都是DESKTOP-XXX随机的数字
判断工作组(域)
进阶
这部分有一个专业的术语 Pocket Litter
判断桌面上文件
大多数沙箱桌面文件数量很少,且有各种office软件,但没有微信QQ之类的软件
我们可以判断怎么文件数量小于某一个范围从而判断是否在沙箱
判断桌面上有没有微信QQ企业微信,等符合国人常规习惯软件
判断临时文件数量
相反,临时文件比一般正常用户多也可以判断为是沙箱
判断系统内有多少doc,xls,ppt类文件
较少的都可能为沙箱
判断自身文件名有没有被修改
判断自身进程是否运行在一个时间范围内(apt常用,hvv常用)
判断系统语言 GetSystemDefaultLangID
俄罗斯APT常用手段,判断为俄语就退出进程
判断自身被附加的dll制作黑名单
判断ip
按照目标来判断
例如我们目标是国内,就判断是否非国内ip,从而反制国外沙箱
或者范围缩小到地级市
判断扬声器是否正常可调用
判断麦克风是否有响应
判断当前前台窗口数量
虚拟机一般都较少
判断鼠标是否移动
之前很火的方法GetCursorPos
获取坐标后延迟两次 获取向量 看结果是否为一个类三角形若真则不是沙箱
因为在ATT&CK框架中被标识 所以列入敏感行为
判断显卡显存大小
一般家用机都为2gb以上,而沙箱不会给这么多
判断系统变量
一般判断是否有虚拟机相关文件的环境变量
判断CPU温度
注意一下,建议使用GetSystemFirmwareTable api 获取SMBIOS中的硬件信息
使用wmi api将会变成敏感行为
还有其他奇奇怪怪的反沙箱方法
体积膨胀
很多在线反沙箱系统都有大小限制,若你的样本大于300mb即可不被接收
反向收集
编写一个用于收集沙箱指纹的样本,对沙箱的指纹进行归纳总结以便后面判断
压缩炸弹
释放压缩包炸弹,挤占服务器资源
还有并不是一个程序只可以使用一次反沙箱代码。我们可以组合起来使用如:首先检测CPU核心如果大于2再检测内存大小,如果还是通过我们可以再检测进程数,如果都满足则上线。不满足则退出。但是这样做可能会影响你的木马上线。如果没有代码功底还是尽量少用。
标签:文件,判断,是否,CPU,微信,沙箱,tips,思路 From: https://www.cnblogs.com/o-O-oO/p/18382274