披着狼皮的羊——寻找惠普多款打印机中的RCE漏洞(10)
2023-06-03 来源:旧番剧
由于我们最感兴趣的是.NET DLL的文件,因此可以使用“monodis”工具来尝试反汇编每个DLL,只打印有效的DLL文件及其名称列表。虽然脚本的输出很混乱,但足以证实我们已经提取了正在寻找的DLL文件:
五、固件和惠普软件“解决方案”逆向
通过访问设备上运行的代码,我们可以开始深入了解打印机中的一些功能,找到是否可能导致远程代码执行,特别是与惠普软件“解决方案”安装和固件更新相关的功能。
惠普软件解决方案利用惠普的OXP平台和SDK来扩展打印机的功能,第三方公司可以开发这些解决方案,但访问SDK由惠普严格控制,任何由SDK开发的软件最终版本必须由惠普签署才能安装在打印机上,如果能找到解决这些控制的方法,就可以创建适用于所有现代惠普打印机的恶意解决方案。
过去,恶意固件更新是在各种打印机上获得代码执行的一种方法。惠普已经转向了新的固件更新平台和文件格式,似乎没有安全研究人员详细地审查过。
BDL格式逆向工程
惠普解决方案和固件更新都包含一个带“.BDL”(捆绑)扩展名的单个文件。这是一种专有的二进制格式,没有公开的文档,我们决定对这种文件格式进行逆向工程,它可以让我们深入了解固件更新和软件解决方案的组成。
由于固件文件庞大而复杂,为了简单起见,我们从获取第三方软件解决方案“ThinPrint”的副本开始着手,与81MB的固件更新文件相比,这个解决方案的“BDL”文件有2.1MB。首先,我们在BDL文件上使用了一个叫binwalk的工具,它用于检查二进制文件并尝试提取其中包含的任何已知文件格式。binwalk被专门开发用于对这些类型的包进行逆向工程,工具输出单个ZIP文件包含以下内容: