安全分析工具Binwalk本身存在路径遍历漏洞,可能导致远程代码执行(RCE),对运行过时版本的用户存在安全风险。Binwalk是Linux中流行的命令行工具,用于分析、逆向工程和提取固件映像。根据ONEKEY研究实验室的Quentin Kaiser发布的安全公告,路径遍历问题要求用户打开“使用提取模式(-e选项)的binwalk的恶意文件”,因此需要用户交互。该缺陷被跟踪为CVE-2022-4510并被归类为高严重性(CVSS 7.8)。
该漏洞是在2017年将专业文件系统(PFS)提取器插件与binwalk合并时引入的,是因为试图通过os.path.join降低路径遍历风险的尝试失败。
结果是六年后,Kaiser发现“通过制作一个文件名包含../遍历序列的有效PFS文件系统,我们可以强制binwalk在提取目录之外写入文件”。
PFS是一种不起眼的文件系统格式,偶尔会出现在嵌入式设备中。
Kaiser以binwalk的插件系统为目标,以实现RCE的“环境无关”路径。
一旦将插件放入Python工具的插件目录中,插件就会加载到所有binwalk扫描中。
“因此,如果我们利用路径遍历在该位置编写一个有效的插件,binwalk将立即获取并执行它,同时它仍在扫描恶意文件,”Kaiser解释道。“最重要的是,PFS 提取器将负责创建所有必需的目录(如果它们不存在),因此我们不需要从我们运行的系统中得到任何东西。”
Kaiser制作了一个恶意插件,“执行两次,因为它没有定义明确的模块属性来定义其目的(例如,签名扫描、熵计算、压缩流识别)。我利用这种行为让它自己清理干净。”
易受攻击的版本跨越2.1.2b到2.3.3(含)。该漏洞于2月2日随着binwalk 2.3.4版的发布得到解决——距ONEKEY表示它于2022年10月首次联系该工具的维护者Microsoft旗下的Refirm Labs并提供了一个建议的补丁程序已经过去了三个多月。
Kaiser的研究还发现了影响其他文件系统提取器(即ubi_reader、Jefferson、yaffshiv项目)的类似、中等严重程度的CVE。
Kaiser警告说,即使是完全最新的binwalk实例也可能容易受到相同的利用链的攻击,因为yaffshiv在binwalk上默认安装和启用,除了攻击向量是YAFFS而不是PFS。
“Yaffshiv由binwalk背后的团队维护,因此我们希望尽快修复,”Kaiser说。
“编写安全格式解析器和提取器是一项复杂的任务(相信我们,我们一直在使用[我们自己的提取套件]Unblob解决这些问题)所以我们在binwalk中发现这些类型的漏洞并不奇怪,因为数量它支持的格式。”
这项研究是一个有益的提醒,即安全工具本身可能包含安全漏洞。“这在取证分析和逆向工程中尤其重要,因为我们通常会遇到不受信任的、潜在的恶意文件,”Kaiser说。
“虽然本文中描述的路径遍历有可能使任何逆向工程工作无效并篡改收集到的证据,但它们也证明了沙盒分析环境对限制此类漏洞影响的重要性。尤其是随着依赖于binwalk(例如FACT、ofrak、EMBA)等工具的自动提取和分析工具的兴起,对于这些解决方案的开发人员和用户来说,意识到风险是很重要的。”
Kaiser暗示“D-Link RomFS”插件可能是他的下一个研究重点,因为它“可能受到类似漏洞的影响”。
评论已关闭。