分析实例:Absolute公司防盗追踪软件安全隐患
字数 2086 2025-08-18 11:38:41

Absolute公司Computrace防盗追踪软件安全隐患分析及防护指南

一、Computrace软件背景

Computrace是由Absolute公司开发的防盗追踪软件,主要功能包括:

  • 笔记本丢失后通过定位帮助找回设备
  • 远程锁定功能
  • 文件传输功能

该软件被主流电脑供应商预装到电脑的BIOS模块中,用户可通过更改BIOS选项设置激活软件功能。

二、Computrace运行机制分析

1. 整体运行流程

  1. 系统启动时执行BIOS中的Computrace Option ROM
  2. 查找FAT/FAT32/NTFS分区
  3. 创建/修改系统内的autochk.exe文件
  4. autochk.exe运行后释放rpcnetp.exe并运行
  5. rpcnetp.exe将自己复制为DLL文件,以服务形式驻留系统
  6. 与C&C服务器建立通信并下载rpcnet.exe(主体功能程序)

2. 各阶段详细分析

A. Computrace BIOS模块

  • 从BIOS固件中查找文件系统分区
  • 创建/修改autochk.exe文件
  • 保存为autochk.EXE:bak NTFS数据流或Autochk.bak文件

B. autocheck.exe阶段

  • 系统启动时运行修改后的autochk.exe
  • 在system32或SYSWOW64目录下创建rpcnetp.exe
  • 通过注册表创建rpcnetp系统服务
  • 将autocheck.exe还原为初始状态

C. rpcnetp.exe阶段

  • 小型代理程序,负责与C&C服务器通信
  • 服务自启后拷贝自身为rpcnetp.dll
  • 通过修改PE头结构生成DLL文件
  • 创建svchost.exe子进程并注入rpcnetp.dll
  • svchost.exe生成IEPLORE.exe子进程并再次注入
  • 连接C&C服务器(search.namequery.com)

D. rpcnet.exe阶段

  • Computrace主体程序
  • 与rpcnetp.exe使用相同的服务器和端口
  • 查找指定名称的exe与dll文件
  • 不存在时重命名为rpcnet.dll并复制
  • 修改复制体从exe变为dll格式
  • 使用LocalLibraryA()函数加载
  • 通过POST指令与服务器通信
  • 开启接收线程处理服务端数据

三、通信协议分析

1. 通信特征

  • 由一系列POST请求和HTTP响应组成
  • 首次POST请求无负载
  • 服务器回复包含特殊头部和标签ID的HTTP响应
  • 后续通信中携带二进制数据
  • 所有数据包以0x7E("~")开始和结束

2. 通信结构类型

握手建立连接结构

  • 服务器返回握手包以0xFFFFFFFF开始
  • Size为0x04
  • Session ID由服务器定义
  • Seq是序列号
  • CheckSum是包内容的Hash值

读数据结构

  • Address表示要读取的地址
  • Size表示要读取的字节数
  • Seq是包序列号
  • CheckSum是Hash值

写数据结构

  • Address表示要写入的地址
  • Size表示要写入的字节数
  • Data To Write是要写入的内容
  • Seq是包序列号
  • CheckSum是Hash值

四、安全风险分析

主要威胁

  1. 服务器合法性验证缺失

    • 通信协议未验证服务器身份
    • 易受DNS劫持和重放攻击
  2. 远程代码执行风险

    • 攻击者可利用通信机制远程执行任意代码
  3. 持久性威胁

    • 软件烧制在BIOS中,无法通过常规软件修补
    • 只要开启权限,威胁将持续存在

五、防护措施

1. 排查是否存在Computrace软件

联想电脑

  1. 进入BIOS"Security"菜单
  2. 查找"Anti-Theft"子项
  3. 确认是否存在Absolute的Computrace软件

其他品牌

  • 在BIOS菜单中逐一筛查相关选项

2. 处置方法

方法1:硬件级解决方案

  • 更换主板
  • 升级BIOS(需联系计算机生产商咨询)

方法2:禁止软件运行

  1. 修改注册表:

    • 定位到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
    • 备份并删除BootExecute键值(默认为"autocheck autochk *")
  2. 结束进程并删除文件:

    • 结束相关进程
    • 删除System32目录下的rpcnet.exe、rpcnetp.exe、rpcnet.dll、rpcnetp.dll
    • 注意:操作后切勿立即重启系统
  3. 创建空文件并设置权限:

    • 在System32目录下创建上述四个空文件
    • 为每个文件设置安全权限:
      • 右键→属性→安全选项卡
      • 为所有用户/组(包括SYSTEM)设置"拒绝完全控制"

方法3:禁止网络访问

  1. 修改hosts文件:

    127.0.0.1 search.namequery.com
    127.0.0.1 search.namequery.com
    127.0.0.1 search2.namequery.com
    127.0.0.1 search64.namequery.com
    127.0.0.1 search.us.namequery.com
    127.0.0.1 bh.namequery.com
    127.0.0.1 namequery.nettrace.co.za
    127.0.0.1 m229.absolute.com
    
  2. 防火墙设置:

    • 禁止rpcnet.exe和rpcnetp.exe访问网络

六、总结

Computrace防盗软件由于其深度集成到BIOS中的特性,带来了持久性的安全风险。企业用户和个人用户都应重视这一安全隐患,根据实际需求选择适当的防护措施。对于安全性要求高的环境,建议采用硬件级解决方案彻底消除风险;对于普通用户,可通过软件限制和网络隔离降低风险。

Absolute公司Computrace防盗追踪软件安全隐患分析及防护指南 一、Computrace软件背景 Computrace是由Absolute公司开发的防盗追踪软件,主要功能包括: 笔记本丢失后通过定位帮助找回设备 远程锁定功能 文件传输功能 该软件被主流电脑供应商预装到电脑的BIOS模块中,用户可通过更改BIOS选项设置激活软件功能。 二、Computrace运行机制分析 1. 整体运行流程 系统启动时执行BIOS中的Computrace Option ROM 查找FAT/FAT32/NTFS分区 创建/修改系统内的autochk.exe文件 autochk.exe运行后释放rpcnetp.exe并运行 rpcnetp.exe将自己复制为DLL文件,以服务形式驻留系统 与C&C服务器建立通信并下载rpcnet.exe(主体功能程序) 2. 各阶段详细分析 A. Computrace BIOS模块 从BIOS固件中查找文件系统分区 创建/修改autochk.exe文件 保存为autochk.EXE:bak NTFS数据流或Autochk.bak文件 B. autocheck.exe阶段 系统启动时运行修改后的autochk.exe 在system32或SYSWOW64目录下创建rpcnetp.exe 通过注册表创建rpcnetp系统服务 将autocheck.exe还原为初始状态 C. rpcnetp.exe阶段 小型代理程序,负责与C&C服务器通信 服务自启后拷贝自身为rpcnetp.dll 通过修改PE头结构生成DLL文件 创建svchost.exe子进程并注入rpcnetp.dll svchost.exe生成IEPLORE.exe子进程并再次注入 连接C&C服务器(search.namequery.com) D. rpcnet.exe阶段 Computrace主体程序 与rpcnetp.exe使用相同的服务器和端口 查找指定名称的exe与dll文件 不存在时重命名为rpcnet.dll并复制 修改复制体从exe变为dll格式 使用LocalLibraryA()函数加载 通过POST指令与服务器通信 开启接收线程处理服务端数据 三、通信协议分析 1. 通信特征 由一系列POST请求和HTTP响应组成 首次POST请求无负载 服务器回复包含特殊头部和标签ID的HTTP响应 后续通信中携带二进制数据 所有数据包以0x7E("~")开始和结束 2. 通信结构类型 握手建立连接结构 服务器返回握手包以0xFFFFFFFF开始 Size为0x04 Session ID由服务器定义 Seq是序列号 CheckSum是包内容的Hash值 读数据结构 Address表示要读取的地址 Size表示要读取的字节数 Seq是包序列号 CheckSum是Hash值 写数据结构 Address表示要写入的地址 Size表示要写入的字节数 Data To Write是要写入的内容 Seq是包序列号 CheckSum是Hash值 四、安全风险分析 主要威胁 服务器合法性验证缺失 通信协议未验证服务器身份 易受DNS劫持和重放攻击 远程代码执行风险 攻击者可利用通信机制远程执行任意代码 持久性威胁 软件烧制在BIOS中,无法通过常规软件修补 只要开启权限,威胁将持续存在 五、防护措施 1. 排查是否存在Computrace软件 联想电脑 : 进入BIOS"Security"菜单 查找"Anti-Theft"子项 确认是否存在Absolute的Computrace软件 其他品牌 : 在BIOS菜单中逐一筛查相关选项 2. 处置方法 方法1:硬件级解决方案 更换主板 升级BIOS(需联系计算机生产商咨询) 方法2:禁止软件运行 修改注册表: 定位到:HKEY_ LOCAL_ MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager 备份并删除BootExecute键值(默认为"autocheck autochk * ") 结束进程并删除文件: 结束相关进程 删除System32目录下的rpcnet.exe、rpcnetp.exe、rpcnet.dll、rpcnetp.dll 注意 :操作后切勿立即重启系统 创建空文件并设置权限: 在System32目录下创建上述四个空文件 为每个文件设置安全权限: 右键→属性→安全选项卡 为所有用户/组(包括SYSTEM)设置"拒绝完全控制" 方法3:禁止网络访问 修改hosts文件: 防火墙设置: 禁止rpcnet.exe和rpcnetp.exe访问网络 六、总结 Computrace防盗软件由于其深度集成到BIOS中的特性,带来了持久性的安全风险。企业用户和个人用户都应重视这一安全隐患,根据实际需求选择适当的防护措施。对于安全性要求高的环境,建议采用硬件级解决方案彻底消除风险;对于普通用户,可通过软件限制和网络隔离降低风险。