zh

zh

德国安全研究专家Nils Dagsson Moskopp发现了一个名叫“Bad Taste”的漏洞(CVE-2017-11421),而这个漏洞将允许攻击者通过恶意MSI文件在Linux平台上运行任意的恶意代码。

GNOME Files文件管理器中的“Bad Taste”漏洞

这个漏洞存在于gnome-exe-thumbnailer之中,这是GNOME Files所用的第三方thumbnailer(缩略图处理控件),该组件之前名叫Nautilus,它也是使用了GNOME作为图形桌面的Linux发行版系统所使用的默认文件管理器。

Moskopp通过研究发现,他可以在MSI文件中隐藏恶意的VBScript代码。当用户访问了他电脑中某个保存有这种恶意MSI文件的文件夹时,GNOME Files便会自动解析该文件并从文件内容中提取出一个图标,然后将这个图标显示在文件浏览器窗口中。

问题就在于,当控件在解析MSI文件并寻找其图标的时候,thumbnailer脚本还会读取文件名并执行其中的代码。通过分析发现,这个漏洞存在于thumbnailer的配置文件中,文件路径为/usr/share/thumbnailers,当GNOME Files在对Linux计算机中存储的文件进行文件解析时,会在这个目录下存储目标文件的图标或生成相应的缩略图。

为了成功利用这个漏洞,攻击者首先需要采用类似网络钓鱼之类的方法来欺骗用户下载一个恶意MSI文件,但这就需要一些比较狡猾的社工技巧了。除此之外,攻击者还可以利用Drive-By下载在不需要向用户询问的情况下自动下载恶意文件,比如说Chrome就给用户提供了自动下载选项。实际上,安全研究人员早在很久之前就已经提醒过Google这种功能的危险性了,而且目前有很多攻击技术都利用了这种功能。

漏洞验证PoC

Moskopp还专门发布了PoC代码来演示Bad Taste漏洞的有效性。他设计的PoC代码会在目标用户的计算机中存放一个名叫badtaste.txt的空文件,但真正的恶意攻击者能做的还有更多。

安装依赖组件

在Debian GNU/Linux平台安装gnome-exe-thumbnailer、nautilus和wixl。wixl包用来创建MSI文件并触发thumbnailer。

注:如果PoC无法正常执行,请安装winetricks并运行命令winetricks wsh56来更新Windows ScriptHost(Windows脚本主机)。

创建MSI文件

创建一个名叫poc.xml的文件,内容如下:

[/crayon] 执行下列Bouren Shell代码:

[/crayon]

触发执行

开启GNOME Files并进入保存上述MSI文件的目录,你将会看到一个名为badtaste.exe的空文件出现在目录中。

漏洞分析

很多文件管理器会根据文件的格式来生成缩略图。在GNU/Linux中,为了给特定文件格式生成缩略图,GNOME Files文件管理器需要使用到/usr/share/thumbnailers 目录下的thumbnailer 配置文件。在安装了gnome-exe-thumbnailer 之后,文件/usr/share/thumbnailers/exe-dll-msi.thumbnailer中将包含以下内容:

[Thumbnailer Entry]

TryExec=/usr/bin/gnome-exe-thumbnailer

Exec=/usr/bin/gnome-exe-thumbnailer %i %o%u

MimeType=application/x-ms-dos-executable;application/x-msdownload;application/x-msi;application/x-ms-shortcut

这也就意味着,无论原本应该显示的是哪一种文件格式(EXE、MSI、DLL或LNK)的图标,GNOME Files都会调用/usr/bin/gnome-exe-thumbnailer来提取出目标文件中嵌入的图标。

shell脚本/usr/bin/gnome-exe-thumbnailer中包含以下代码:

[/crayon]

应对方案

在深度操作系统15.4.1的2017.7.27更新中已经修复了这个安全漏洞。

请各位尽快更新系统以获取漏洞修复补丁。

 

注:相关安全更新详情参考自http://www.52bug.cn/%E9%BB%91%E5%AE%A2%E6%8A%80%E6%9C%AF/3462.html

zh_s

One Comment

发表评论