黑客利用文本编辑器提权
作者: 日期:2018年03月20日 阅:7,973

一些文本编辑器允许用户运行第三方代码和安装应用扩展。虽然这种操作可以带来功能上的便利,却也引入了安全隐患。

专精数据泄露与网络攻击模拟的SafeBreach公司称,多款文本编辑器可被用于提权攻击,且其开发者尚无滥用防止计划。SafeBreach研究员道尔·阿祖利分析了Subline、Vim、Emacs、Gedit、pico和nano文本编辑器,发现仅pico和nano编辑器因只提供有限的扩展而不容易被滥用。

文本编辑器被滥用的问题之一,是用户,尤其是Linux服务器用户,经常要以较高权限执行这些文本编辑器。如果攻击者可在目标文本编辑器中植入恶意扩展,他们的恶意代码便可在编辑器启动或执行特定操作时以高权限启动。

攻击要想成功,攻击者需先通过网络钓鱼、社会工程等方法劫持用户普通权限的合法用户账户。恶意内部人情形中,如果他们被系统管理员限制了对某些文件和指令的权限,那么SafeBreach发现的文本编辑器提权漏洞就对他们以高权限执行代码相当有帮助了。

针对不同的目标编辑器,攻击者需创建特别构造的脚本或包文件,并将这些文件放到特定的插件目录下。某些情况下黑客可能需创建额外的文件并启用扩展功能,但只要拥有了普通权限账户,这些都不是问题。

比如说,只需在“init.el”文件中添加一行代码,攻击者就可让自己的代码随Emacs启动。而且,编辑该初始化文件无需root权限。2月13日发布的一份报告中,SafeBreach详细描述了通过上述被测编辑器提权的方法。

虽然目前尚无滥用文本编辑器提权的恶意攻击报道,但涉及扩展功能滥用的事件却不是没有耳闻。举个例子,通过扩展为多款流行编辑器提供Python代码增强与联想提示的Kite,就在去年因往用户编程App中塞推荐链接而饱受批评。

还有几起事件与npm包有关,这些包可造成恶意代码加载并致应用程序崩溃。阿祖利介绍了可用于在类Unix系统上获取root权限的几种后漏洞利用技术。

配置糟糕的时钟守护作业(Cron jobs)就是类Unix系统中可被滥用来获取root权限的天然端口。与我们呈现的技术相类似的方法中,攻击者会在时钟守护作业里寻找可写程序,将之修改为符合自身需求的程序。然后这些被修改过的程序就会被操作系统按守护作业的设置以root或其他用户权限执行了。

另一个例子涉及文件权限利用,比如特殊的SUID可执行文件。SUID是类Unix系统中指定某些可执行文件以特定用户(文件拥有者)权限执行的一个功能。只要找到拥有者是root又设置了SUID的文件,攻击者就可以获得特权执行。

有时候第三方插件的开发者会在插件流行起来后更新插件,但是更新中混进了恶意代码(要么是故意的,要么是无意的,后者可能是插件被黑,代码库遭攻击者染指的结果)。插件用户下载了更新就会在不知不觉中执行了被恶意修改过的代码。

SafeBreach分析过的文本编辑器的开发人员表示,他们没有做出修改以防止此类滥用的计划。Vim开发团队承认,他们确实可以采取措施,但防御此类攻击的责任是在用户身上。

Emacs开发人员则认为,此类提权攻击可利用很多App,他们单方面放出补丁于事无补,于是不打算对Emacs做任何改动。

Gedit尚未证实SafeBreach的分析结果,Sublime则是在承认了SafeBreach的漏洞报告后还未提供任何更新。

SafeBreach报告连接地址:

https://go.safebreach.com/rs/535-IXZ-934/images/Abusing_Text_Editors.pdf

 

申明:本文系厂商投稿收录,所涉观点不代表安全牛立场!


相关文章