以前分析GandCrab v5.2时,该样本通过SetErrorMode函数来检测是否运行在沙箱环境,具体代码如下:
程序入口逻辑:
写了个简单的demo,上传大cuckoosandbox沙箱中
#include "stdafx.h"
#include <windows.h>
int _tmain(int argc, _TCHAR* argv[])
{
SetErrorMode(0x400);
if (SetErrorMode(0x0) == 0x400)
{
printf("执行正常逻辑\n");
}
else
{
printf("检测到沙箱,退出进程\n");
}
system("pause");
return 0;
}
沙箱运行结果:
在Cuckoo沙箱github项目上可以找到相关代码:
https://github.com/cuckoosandbox/monitor/blob/master/bin/monitor.c
参考链接:
- https://asec.ahnlab.com/1202
- http://joxeankoret.com/blog/2010/02/23/antiemulation-techniques-malware-tricks-ii/