惠普驱动内置keylogger事件预警
2017-12-11 20:54

enter image description here

0x00 背景介绍

2017年11月7日,惠普厂商发布安全公告,声称某些版本的Synaptics触摸板驱动程序存在潜在的安全问题,并且影响所有Synaptics OEM合作厂商。

近日,安全研究人员ZwClose发现驱动文件中存在键盘记录(Keylogger)代码,经过360CERT分析确认,该问题确实存在,建议相关用户尽快进行安全更新。

0x01 事件概述

据惠普官方回应,键盘记录代码是在调试阶段使用的,而发布时忘记删除的,键盘记录代码存在触摸板驱动文件SynTP.sys中。安全人员研究发现键盘记录功能默认是被禁用的,但可以通过设置注册表值(需要绕过UAC)来启用。

0x02 事件影响

1. 影响面

影响所有Synaptics OEM合作厂商,受影响的惠普笔记本一共有475个型号,包括303种家用笔记本和172种商用笔记本。

2. 影响版本

受影响的主要型号有HP's 25, mt**, 15, OMEN, ENVY, Pavilion, Stream, ZBook, EliteBook, ProBook系列。

详见:https://support.hp.com/us-en/document/c05827409

0x03 事件详情

1. 技术细节

在驱动文件SynTP.sys中,通过查找字符串"ScanCode" 可以定位到键盘记录的关键位置。

enter image description here

通过查看引用发现sub_140023C3C为关键记录函数。

enter image description here

全局变量dword_1400DA0A0决定了关键记录函数是否执行,当全局变量值的第二位为1时执行关键函数,但默认全局变量值为3,表明默认不执行键盘记录功能。

enter image description here

通过引用发现sub_14002D69C函数会根据注册表中的数据改变这个全局变量的数值,来决定是否开启键盘记录的功能。

enter image description here

sub_140059C98内部又调用WPP_SF_ss函数,通过调用关系发现WPP_SF_ss内部最终调用WmiTraceMessage。

enter image description here

enter image description here

enter image description here

而WmiTraceMessage函数的功能是将一条消息添加到WPP Software Tracing的输出日志中。

0x04 修复建议

1、360已经针对此事件及时推送了相关补丁请及时更新

2、或者根据惠普官方公告进行下载更新https://support.hp.com/us-en/document/c05827409

0x05 时间线

2017-11-7 官方发布安全更新

2017-12-11 ZwClose在博客中发布分析文章

2017-12-11 360CERT进行分析并发布预警公告

0x06 参考文档

https://zwclose.github.io/HP-keylogger/