首页
社区
课程
招聘
[原创][翻译]规避技术:硬件
发表于: 2021-5-31 14:35 8947

[原创][翻译]规避技术:硬件

2021-5-31 14:35
8947

备注
原文地址:https://evasions.checkpoint.com/techniques/hardware.html
原文标题:Evasions: Hardware
更新日期:2021年5月31日
此文后期:根据自身所学进行内容扩充
因自身技术有限,只能尽自身所能翻译国外技术文章,供大家学习,若有不当或可完善的地方,希望可以指出,用于共同完善这篇文章。


目录

硬件信息检测方法

1. 检查硬盘是否有特定的名称

2. 检查HDD Vendor ID是否有特定值

3. 检查是否没有音频设备

4. 检查CPU温度信息是否可用

5. 检查物理显示适配器的IDirect3D9接口

识别标志

反制措施

硬件信息检测方法
虚拟环境模拟硬件设备,并在其描述中留下具体的痕迹--这些痕迹可以被查询,并对非主机操作系统做出结论。
1. 检查硬盘是否有特定的名称
使用的函数:

SetupDiGetClassDevs

SetupDiEnumDeviceInfo

SetupDiGetDeviceRegistryProperty

代码样本:


检测表:

检查硬盘驱动器是否有以下名称之一:

检测

名称

QEMU

QEMU

VirtualBox

VBOX

VirtualPC

VIRTUAL HD

VMware

VMware


2. 检查HDD Vendor ID是否有特定值
使用了以下函数:

DeviceIoControl(..., IOCTL_STORAGE_QUERY_PROPERTY, ...)

代码样本:

检测表:

检查硬盘供应商ID是否为以下之一:

检测

名称

VirtualBox

VBOX

VMware

vmware


3. 检查是否没有音频设备
这项技术是从TeslaCrypt恶意软件样本中提取的,并在Joe Security的这篇博文中进行了描述。
代码样本:


4. 检查CPU温度信息是否可用
这项技术是从GravityRAT恶意软件中提取的,并通过这个链接进行了描述。

代码样本(Windows cmd命令):

5. 检查物理显示适配器的IDirect3D9接口
该方法检查IDirect3D9接口实例化时系统中存在的物理显示适配器。它适用于从Windows XP开始的所有Windows版本。
使用的函数:

Direct3DCreate9 - called from `d3d9.dll` library

GetAdapterIdentifier - called via IDirect3D9 interface

代码样本:

这个代码样本归功于指出它的elsamuko
常规主机上的输出示例如下:

而这里是一个在虚拟机(VMware)上输出的例子:


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

最后于 2021-5-31 14:40 被梦幻的彼岸编辑 ,原因:
收藏
免费 3
支持
分享
最新回复 (2)
雪    币: 1319
活跃值: (1955)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
我觉得,这种单纯判断玩意会误杀.....规避技术最好还是,重新修改特征编译vbox,这个是vbox论坛看到的。
2021-5-31 17:44
0
雪    币: 248
活跃值: (3789)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
这些应该都是最基本的了,那几个大的游戏公司,检测得更底层了,包括很多个维度
2021-5-31 23:09
0
游客
登录 | 注册 方可回帖
返回
//