查看: 1510|回复: 10
收起左侧

[其他相关] Win64/VulnDriver.Hypertech.A potentially unsafe application

[复制链接]
Jirehlov1234
发表于 2026-5-8 07:46:20 | 显示全部楼层 |阅读模式
红烧天堂的驱动。今天突然发现起不来了,一看被eset杀了

https://www.virustotal.com/gui/f ... 50391c5ca899174dfa8

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x

评分

参与人数 1人气 +3 收起 理由
QVM360 + 3 好久不见

查看全部评分

wwwab
发表于 2026-5-8 08:55:00 | 显示全部楼层
0xAA023800 这条链基本可以定死了:它不是单纯“注册回调”,而是在给当前进程挂一套受保护状态,并把这个状态喂给 Ob 回调去做访问管控。
更具体地说:
0xAA023800 先把输入路径做规范化,再和内部基准路径比对,成功后会建立 ObRegisterCallbacks 的注册上下文。
回调 sub_140001D30 处理对象访问时,会根据目标进程的记录和访问掩码,决定是否把当前进程 ID 写进槽位,属于“对象打开/访问跟踪”。
回调 sub_140001DF0 处理进程相关事件时,会维护当前进程的多组 ID 列表和标志位,并在命中特定进程名、父进程关系和状态位时打标,明显是“进程白名单/黑名单式保护”。
这些状态位分布里,+4 更像“启用/允许保护”,+5 更像“进一步开启更强的跟踪/限制”,+92、+44、+104 这类偏移是在存历史 PID、匹配结果和命中标志。
所以最后的功能结论:这组 IOCTL + 回调组合是在实现一套按进程、按路径、按对象访问权限生效的保护机制,核心是控制哪些进程能碰哪些对象,并记录命中状态,不是通用设备 I/O。


继续往下看后,结论更明确了:这套 IOCTL 不是单纯的“对象注册”,而是给当前进程挂一套受保护状态,再由 Ob 回调去拦截/记录对象访问和进程事件。
关键点已经能落到具体行为上:
0xAA023800 会把输入路径规范化后交给 ObRegisterCallbacks,属于保护规则初始化入口。
sub_140001DF0 负责进程事件回调,按目标 PID、父进程、镜像名和状态位更新槽位。
sub_140001D30 负责对象访问回调,按访问类型和当前进程记录去打标。
状态表里至少有这些用途:+4 和 +5 是两个进程开关,+8/ +44/ +92/ +104 这些偏移在存 PID、历史命中和跟踪标志。
0xAA02380C/810/814 分别写 5、3、1 个 DWORD 到当前进程槽,像是在设置不同粒度的控制数据。
0xAA023818/81C/824/828/82C 是按当前进程派生值做读写或比较的动态接口。
所以这驱动的核心功能可以概括成一句话:基于进程身份和路径的对象访问保护与状态管理,而不是通用设备控制。


分析结果

驱动整体功能
wfshbr64.sys 不是通用设备驱动,而是一个面向进程和对象访问控制的保护模块。它通过 IOCTL 接口接收控制命令,再配合 Ob 回调和进程状态表,做对象访问拦截、进程校验和状态维护。

IOCTL 分发
分发入口在 sub_1400033F0。
它直接读取当前 IRP 堆栈位置,并在处理后完成 IRP。
主要 IOCTL 码集中在 0xAA023800 到 0xAA02382C 这一段。
主要功能分支
0xAA023800:按路径类输入初始化或注册保护上下文,会构建 ObRegisterCallbacks 注册结构。
0xAA023804:校验一个 0x208 字节的路径缓冲区,判断是否和当前目标上下文匹配。
0xAA023808:返回 16 字节数据,包括一个按进程派生的值和驱动基址 0x140000000。
0xAA02380C、0xAA023810、0xAA023814:向当前进程槽写入 5 个、3 个、1 个 DWORD,用于更新不同粒度的状态。
0xAA023818、0xAA02381C:围绕当前进程派生值做比较和写入,像是动态校验或同步命令。
0xAA023824、0xAA023828、0xAA02382C:同样属于动态接口路由,用于返回或处理当前进程相关状态。

回调行为
sub_140001DF0:进程事件回调,维护当前进程的记录、标志位和历史 PID。
sub_140001D30:对象访问回调,按访问类型和进程记录决定是否打标。
这说明驱动核心不是文件系统或网络处理,而是围绕进程、对象和访问权限的控制。

结论
这个驱动实现的是一套基于进程身份和路径校验的对象访问保护机制,重点在于:
建立受保护对象或进程上下文
维护每个进程的状态槽
在对象访问时做拦截或记录
通过 IOCTL 让用户态程序读写这些保护状态
wowocock
发表于 2026-5-8 09:37:10 | 显示全部楼层
wwwab 发表于 2026-5-8 08:55
0xAA023800 这条链基本可以定死了:它不是单纯“注册回调”,而是在给当前进程挂一套受保护状态,并把这个 ...

AI分析的?看起来很别扭。
Jirehlov1234
 楼主| 发表于 2026-5-8 09:43:57 | 显示全部楼层
wowocock 发表于 2026-5-8 01:37
AI分析的?看起来很别扭。

这种“不是...而是...”的句式一看就是GPT
,就一个.
发表于 2026-5-8 09:54:16 | 显示全部楼层
____________________________

详情

开发人员: Microsoft Windows Hardware Compatibility Publisher
版本: 1.1.0.0
已识别: 2026/5/8 上午9:53
上次使用时间: 2026/5/8 上午9:53
启动项: 否

极少
Norton 社区中有 极少 使用了此文件。

发布已久的文件
此文件已于 2 年前 发行。

信任
Norton 为此文件指定的分级为可信。
____________________________

来源

位置: local://*C:\Program Files\Bandizip\Bandizip.exe               


wowocock
发表于 2026-5-8 09:55:58 | 显示全部楼层
Jirehlov1234 发表于 2026-5-8 09:43
这种“不是...而是...”的句式一看就是GPT

其实就是注册回调保护指定的进程而已,不算什么大漏洞。
嘿嘿不能说
发表于 2026-5-8 11:18:39 | 显示全部楼层
本帖最后由 嘿嘿不能说 于 2026-5-8 11:31 编辑

360:0

我更想知道的是有没有现成的样本,要不就只能臆想是ESET跟某个厂商有仇所以报复回去(

then,https://vuldb.com/vuln/220243
吃瓜群众第123位
发表于 2026-5-8 18:27:54 | 显示全部楼层
趋势科技云端版

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
ANY.LNK
发表于 2026-5-9 00:02:57 | 显示全部楼层
如果不是贴里特地提到了,我这第一眼看过去属性缺失的单WHQL驱动还以为是哪家的Rootkit呢
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2026-10-19 07:19 , Processed in 0.190835 second(s), 3 queries , Redis On.

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表