慎用!一个可绕过沙箱检测的工具
2023-6-13 11:23:55 Author: 奶牛安全(查看原文) 阅读量:9 收藏

沙箱通常用于分析恶意软件。它们提供了一个临时、隔离且安全的环境,用于观察可疑文件是否表现出任何恶意行为。然而,恶意软件开发人员也开发了逃避沙箱和分析环境的方法。一种方法是通过检查来确定恶意软件运行的机器是不是由真人操作。其中一项检查是 RAM 大小。如果 RAM 大小小得不切实际(例如 1GB),则可能表明该机器是沙盒。如果恶意软件检测到沙箱,它不会执行其真正的恶意行为,并且可能看起来是一个良性文件。

细节

  • GetPhysicallyInstalledSystemMemory API 从 SMBIOS 固件表中获取计算机的物理内存量。它传入一个 PULONGLONG 参数并在函数成功时返回 TRUE,将 TotalMemoryInKilobytes 设置为非零值。如果函数失败,则返回 FALSE

  • GetPhysicallyInstalledSystemMemory函数获取的物理内存量必须等于或大于 GlobalMemoryStatusEx函数报告的量;如果小于,则 SMBIOS 数据格式错误且函数失败并显示 ERROR_INVALID_DATA,格式错误的 SMBIOS 数据可能表明用户计算机存在问题。

  • 寄存器 rcx 保存参数 TotalMemoryInKilobytes。为了修改 GetPhysicallyInstalledSystemMemory 的跳转地址,我使用了以下操作码:mov qword ptr ss:[rcx],4193B840。这会将值 4193B840(或 1.1 TB)移动到 rcx。然后,ret 指令用于从堆栈弹出返回地址并跳转到它,因此,无论何时调用 GetPhysicallyInstalledSystemMemory,它都会将 rcx 设置为自定义值。

使用教程的视频

工具代码链接获取方式,打赏后,自动返回代码链接

文章来源: http://mp.weixin.qq.com/s?__biz=MzU4NjY0NTExNA==&mid=2247489552&idx=1&sn=4b6bb5209806d984e9207cfee5ff500c&chksm=fdf97305ca8efa139928ca38ba632d5f427ccb6ca427083c83cd2eee3a9a07bcb1d7d7f24662#rd
如有侵权请联系:admin#unsafe.sh