海外 | 恶意软件在Docker里作妖儿,本地化管理命令子集才是王道,你怎么看?

恶意软件在Docker里作妖儿,本地化管理命令子集才是王道,你怎么看?

拉斯维加斯LAS VEGAS——是开发人员用于创建于与测试Docker容易的一款程序,在Windows下利用云计算平台Docker API实施新型的攻击,攻击者可以植入、隐藏、存储恶意软件,甚至远程执行任意代码。

Aqua Security的高级安全研究员Sagie Dulce近日在2017 Black Hat 大会首次完成了黑客攻击技术演示。


攻击可以针对任何通过TCP暴露API的Docker安装,而这(直到最近)一直是运行着Docker for Windows的Windows系统的默认值。Docker for Windows是开发人员用于创建和测试容器化应用程序的程序。


Dulce表示:“攻击将导致企业网络持续执行远程代码,而主机上现有的安全产品几乎无法检测到主机异常。”


攻击分为三个阶段

第一步

诱导开发人员运行Docker for Windows指向攻击者控制的恶意网页,以下载特别编写的JavaScript。因为JavaScript的一项特性是可以绕过浏览器的“同源策略”安全防护功能——当代浏览器的数据保护特性。

 

Dulce说:“目前只有 GET、HEAD 与 POST 等部分 HTTP 方法允许跨源。” LAS VEGAS不仅使用了一个不会违反SOP保护的API命令,而且使用Git存储库作为命令和控制在主机中创建了Docker容器,以承载恶意攻击代码。

Dulce说:“这个容器是有限的。黑客真正的目的是访问整个Docker API,以便运行任何需要的容器,例如具有访问权限的主机或底层虚拟机权限容器。”

为了做到这一点,Aqua的研究人员创建了类似“DNS重新绑定攻击”的“主机重新绑定攻击”技术,即攻击者利用DNS欺骗浏览器不强制执行同源策略。Aqua的主机重新绑定攻击,以Microsoft名称解析协议为目标,并且使用了虚拟接口,因此无法通过网络检测攻击本身。


“主机重新绑定可以通过本地网络将主机IP地址与另一个IP地址重新绑定,”研究人员写道,“类似于DNS重新绑定,但并非为了欺骗DNS响应、控制域或以其他方式干扰DNS服务,而是欺骗NetBIOS和LLMNR等广播名称解析协议的响应。”


他解释说,“欺骗的目的是(构建)在目标Hyper-V虚拟机运行的容器,以共享主机的网络并执行攻击者控制的任意代码。


攻击过程如下:欺骗受害者打开实际上由攻击者控制的网页,然后使用REST API调用来执行Docker Build命令,创建一个将执行任意代码的容器。借助一种名为“主机重新绑定”(Host Rebinding)的手法,攻击者就可以绕过同源策略(Same-Origin Policy)保护机制,获得访问底层Moby Linux虚拟机的root权限。


第二步

创建Dulce所谓的“影子容器(Shadow Container)”,以便容器指令在虚拟机重新启动时能够持续运行。“受害者重新启动主机,甚至只需重新启动Docker for Windows就可以让攻击者丧失控制权。为了应对这一问题,我们提出了称为‘影子容器’的攻击技术,以保留和隐藏恶意代码。”研究员表示。


为此,攻击者编写了容器关闭脚本,以保持攻击者的脚本/状态。


他写道:“该脚本将引发‘乒乓’局面,即在两种状态之间切换:存储攻击状态到影子容器中,写回虚拟机进行隐藏。Docker重新启动后,无论Docker重置还是主机重新启动,脚本将运行攻击者(保存攻击脚本)的容器。”


这样,攻击者可以实现最初隐藏恶意代码的目标,同时能够在执行网络侦察、植入恶意软件或内部网络横向移动时保持隐蔽。


最后

Dulce表示:“至此,黑客能够访问内部网络,扫描网络,查找开放端口并横向移动,感染其他机器。还有,由于以Docker开发人员为目标,攻击者可以将恶意软件注入到容器映像本身里面,那样一来,每当容器启动,恶意软件就会到处感染,实现在整个企业Docker渠道中的传播。”


Dulce与其同事——Aqua Security研究主管Michael Cherny同时表示,他们在今年早些时候已经向Docker报告了其中一个攻击途径:易受攻击的TCP组件。


他们表示,Docker确认了这个问题,并宣称Docker成为攻击途径的原因在于所有此前版本的Docker for Windows允许通过TCP / HTTP远程访问Docker后台程序。随后,他们建议用户及时更改默认配置,关闭HTTP端口,以防止Docker后台程序遭到类似的入侵。


此外,用户还可以采取其它防护措施:包括更新Docker for Windows,仅允许通过身份验证的客户端(证书)访问暴露的端口,通过防火墙阻止Moby Linux虚拟机接口的2375端口,并在所有端点禁用LLMNR和NetBIOS。

原文链接

https://threatpost.com/attack-uses-docker-containers-to-hide-persist-plant-malware/126992/


免责声明:

本公众号的海外版块中所有文章及图片出于传递更多信息之目的,属于非营利性的翻译转载。如无意中侵犯了某个媒体或个人的知识产权,请联系我们,我们将立即删除。其他媒体、网络或个人从本网下载使用须自负版权等法律责任。

END


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值