一款重定向本地USB设备至远程系统的软件中存在一个未修复的安全漏洞,攻击者可利用该漏洞添加虚假设备提升在目标计算机上的权限。
该漏洞编号为CVE-2020-9332,存在于FabulaTech公司开发的“USB for Remote Desktop”的总线驱动程序中。该公司的客户包括许多行业的知名组织,令人注目。
这些客户包括Google,Microsoft,TexasInstruments,BMW,MasterCard,NASA,Reuters,Intel,Chevron,Shell,Raytheon,Xerox,Harvard,General Electric,和Raiffeisen Bank。
不安全例程
在注意到一些运行FabulaTech软件的客户的计算机上的内核存在“异常的活动”,网络安全公司SentinelOne决定调查和瞄准该问题的根源。
USB重定向解决方案的工作方式是借助客户端/服务器端软件让跨网络的USB设备显示为连接到本地计算机。
客户端软件收集的被重定向的设备的相关信息被发往在远程计算机上运行的服务器。使用总线驱动程序,该服务器创建和指示一个虚拟对象,以重复来自真实设备的输入-输出通信。
这样,远程系统上的操作系统就会被骗认为连接了一个真正的USB设备。
SentinelOne公司的研究人员发现,FabulaTech的总线驱动程序调用不安全的IoCreateDevice例程,该例程没有执行安全检查以屏蔽来自低权限实体的访问。
“通常情况下,驱动程序通过添加一个仅限制对系统和管理员的访问的安全描述符,或通过对驱动程序本身执行安全检查,来保护其设备对象。”- SentinelOne。
SentinelOne表示,由于FabulaTech的驱动程序调用了IoCreateDevice例程,这就导致无权限的用户可添加和控制受该操作系统信任的软件设备。
研究人员还指出,FabulaTech服务在LocalSystem账户下运行,而该账户在计算机上拥有广泛的权限。
为了证明他们的观点,SentinelOne的研究人员创建了一个PoC。其要点是,FabulaTech的驱动程序充当操作系统和用户模式服务之间的中继,从真实的、被重定向的设备中获取数据。
该披露报告指出,该驱动程序暴露了创建设备、从操作系统获取USB请求块(URB)和重放该URB的控制代码。
该研究报告写道,“设备创建代码获取设备描述符作为输入,而其他两类代码获取和返回URB。输入和输出参数是这样的,驱动程序的私有头后面跟着URB,URB后面跟着HID报告。”
在今天的一份报告中,研究人员分析了使USB和人机接口设备及其配置可被操作系统识别的技术细节。
研究人员描述的一个恶意场景涉及一个假鼠标指针,该指针可被用来绕过Windows中的用户帐户控制安全功能。
然而,由于任何USB设备都可以被模拟,因此有可能进行更先进的攻击,例如添加用于劫持流量的以太网网卡。
研究人员还创建了另一个PoC,模拟鼠标点击同意UAC提示,但该PoC仍未发布,因为该漏洞未修复,以及完整的利用代码,即使是演示性的,仍然可以被恶意攻击者利用。
USB for Remote Desktop的当前版本为6.0版本(适用于Windows,发布于2019年11月22日)和5.2.29版本(适用于Linux,发布于2018年5月8日)。
FabulaTech公司正在积极开发USB for Remote Desktop的新版本,开发工作将在6月19日完成。如果代码通过了自动测试阶段,客户在下周周中就能获得新版本。
本文源自Bleeping Computer;转载请注明出处。