分析攻击Docker平台恶意行为使用的策略和技术以及检测和阻止这些活动的措施
摘要:大多数恶意活动都涉及加密劫持(主要用于Monero挖矿),但是一些受感染的Docker被用来发起其他攻击或在其主机上安装rootkit。 攻击者还会从公开可用的日志中找到敏感信息。
在过去的几年中,Docker技术的普及已大大增加,并且在该技术迅速发展的同时,它已成为攻击者的主要攻击目标。 大多数恶意活动都涉及加密劫持(主要用于Monero挖矿),但是一些受感染的Docker被用来发起其他攻击或在其主机上安装rootkit。 攻击者还会从公开可用的日志中找到敏感信息,例如应用程序凭据和基础结构配置。 攻击者将整个主机文件系统加载到一个容器中,并访问主机操作系统(OS)以从容器中进行读取/写入。
恶意活动分为以下四类:
1.使用恶意代码部署容器映像
首先将恶意映像推送到公共注册表,然后将映像提取并部署到不安全的Docker主机。
2.部署良性容器映像并在运行时下载恶意负载。
在Docker主机上部署良性映像,然后下载恶意有效负载并在良性容器中执行它。
3.在主机上部署恶意负载
将整个主机文件系统挂载到容器中,然后从该容器访问主机文件系统。
4.从Docker日志中获取敏感信息
获取Docker日志以查找敏感信息,例如凭据和配置。
Docker守护程序
守护程序始终在后台运行。 它在单个主机上管理容器。 在运行时,它管理Docker对象,例如图像,容器,网络和存储。 应用程序或用户通常使用Docker客户端进行身份验证并与Docker守护程序进行交互。 如果有多个主机作为服务或集群,则Docker守护程序可以与其他Docker守护程序进行通信。
默认情况下,Docker守护进程在/var/run/Docker.sock中创建一个非网络的Unix域套接字,只有具有root特权或Docker组成员身份的进程才能访问它。 如果客户端需要远程访问Docker守护程序,则Docker守护程序可以打开TCP套接字并在端口2375上列出REST API请求。您还可以使用TLS配置双向身份验证,以保护客户端和远程守护程序之间的通信。 但是,TLS配置可能很复杂,用户有时会犯错误,并无意间将未经身份验证的守护程序暴露给Internet。
收集公共Docker守护程序
由于建立TLS的复杂性,研究人员在Internet上发现了许多配置错误和不安全的守护程序。 一些Docker守护程序没有加密或身份验证。 某些Docker守护程序配置了TLS,但这些守护程序无法验证客户端证书。 无需验证客户端证书,任何人都可以建立到守护程序的加密但未经验证的连接。 发现这些不安全的Docker守护程序的攻击者可以完全控制Docker平台,并执行诸如部署新容器,登录到任何活动容器以及下载容器映像之类的操作。 由于Docker守护程序以root身份运行,因此攻击者也可以完全控制主机。
为了了解攻击者在不安全的Docker主机上使用的策略和技术,研究人员定期扫描Internet上的公共Docker守护程序,并在2019年9月至2019年12月之间收集其元数据。在此期间,发现大约有5000个Docker守护程序暴露在服务器上。 Internet,其中10-15%的守护程序无需身份验证即可访问。 研究人员通过只读请求从不安全主机中收集元数据,如表所示。
总共识别出1,400多个唯一的不安全Docker主机,8,673个活动容器,17,927个Docker映像和15,229个卷。 图显示了Docker守护程序的位置分布和它们的Docker版本和操作系统类型。
使用恶意代码部署容器映像
每个Docker映像包都具有运行应用程序所需的依赖项。 结果,应用程序可以在任何平台,操作系统和基础结构上以相同的方式运行,并且恶意应用程序可以以相同的方式部署。 攻击者使用诸如Docker Hub和Quay之类的公共容器注册表来存储和传递恶意容器映像。 由于Docker Hub是大多数Docker主机的默认注册表,因此通常用于存储和交付恶意映像。 这些恶意软件直接作为容器安装,并在受感染的主机上运行。 它们通常只是窃取CPU,内存或网络资源,而不会损害同一主机上的其他容器或进程。 由于恶意代码内置在容器映像中,因此分析工具通常可以在部署映像之前识别恶意文件。 如表所示,在Docker Hub上发现了大量包含恶意代码的映像。
部署良性容器映像并下载恶意负载
启动容器后,其文件系统和活动进程通常保持不变。 但是,如果没有用于限制文件系统访问的安全策略(例如AppArmor或SELinux),攻击者就可以在运行时在容器中安装并执行恶意有效负载。 分析工具擅长识别容器映像中的恶意代码,但它们看不到运行时安装的恶意负载。 攻击者可以在安装和操作后从Docker Hub部署经过验证的官方映像,并将恶意进程注入到容器中。
在图中,恶意脚本已下载并在正式的Ubuntu映像中执行。下载了两个恶意脚本,并通过Alpine映像在主机文件系统上运行。 显示了通过Busybox映像添加到主机的crontab中的base64编码的脚本。
在主机上部署恶意负载
不安全的Docker守护程序允许攻击者访问所有容器和映像,但是该守护程序无法直接提供对主机操作系统的访问。 通常,攻击者将整个主机文件系统安装到一个容器中,然后从该容器访问主机操作系统。 装入整个主机文件系统后,几乎可以从容器读取/写入主机上的所有文件。
在图中,攻击者创建了一个容器,该容器将整个主机文件系统(/)加载到容器文件系统(/ mnt)中。 显示了如何从容器对主机文件系统执行恶意加载。 chroot命令将调用进程的根目录更改为/ mnt,指向主机文件系统的根目录。 chroot完成后,恶意进程实际上在主机文件系统上运行。
图中显示了一种使用已挂载的文件系统攻击主机的技术。 图中,攻击者通过将恶意负载发送到容器中的主机挂载点(/ mnt),在主机上创建了恶意cron作业。 图中,新的公共密钥被添加到主机的根目录中。 该密钥支持通过ssh访问主机操作系统。 图中,恶意代码被下载并通过安装点放置在主机引导过程目录rc3.d中。
从Docker日志中获取敏感信息
默认情况下,Docker守护程序会维护每个容器从创建到终止的事件和日志。 日志对于调试和审核至关重要,但是敏感信息(例如配置和凭据)也可能从日志中泄漏。
在图中,从命令日志中显示了应用程序密码。etcd服务器的IP和密钥文件的位置从命令日志中泄漏出来。
在整个研究过程中,发现了一组网站,这些网站通常用于传递恶意有效负载或从受感染主机接收数据。 这些域中的大多数都允许用户匿名上传和下载文件。
这项研究深入研究了攻击者在攻击Docker平台时使用的策略和技术,以及检测和阻止这些活动的措施。 大多数漏洞是由于将不安全的Docker守护程序暴露于Internet所致,因此防御策略包括:
在Docker守护程序套接字上配置TLS时始终强制进行相互身份验证
使用Unix套接字与Docker守护程序进行本地通信,或使用SSH连接到远程Docker守护程序
仅允许客户端IP白名单访问Docker服务器
在Docker中启用内容信任,仅提取经过签名和验证的图像
扫描每个容器映像中的漏洞和恶意代码。
部署保护工具以监视正在运行的容器。
相关热词搜索:攻击Docker平台 攻击行 攻击Docker策略和技术 重庆网络安全
上一篇:IotShark:物联网流量监控与分析平台,监控物联网设备所发送或接收的数据趋势,通过发动ARP攻击、设置包转发和中间人包嗅探器来处理
下一篇:Web Shell攻击:net.exe侦察,nbstat.exe扫描其他目标系统,最后使用PsExec横向移动
人机验证(Captcha)绕过方法:使用Chrome开发者工具在目标网站登录页面上执行简单的元素编辑,以实现Captcha绕过
牛创网络: " 人机身份验证(Captcha)通常显示在网站的注册,登录名和密码重置页面上。 以下是目标网站在登录页面中排列的验证码机制。 从上图可以
2020-01-26 12:44:09 )8872( 亮了
自动发现IDOR(越权)漏洞的方法:使用BurpSuite中的Autozie和Autorepeater插件来检测和识别IDOR漏洞,而无需手动更改每个请求的参数
牛创网络: "自动发现IDOR(越权)漏洞的方法:使用BurpSuite中的Autozie和Autorepeater插件来检测和识别IDOR漏洞,而无需手动更改每个请求的参数
2020-01-30 14:04:47 )6288( 亮了
Grafana CVE-2020-13379漏洞分析:重定向和URL参数注入漏洞的综合利用可以在任何Grafana产品实例中实现未经授权的服务器端请求伪造攻击SSRF
牛创网络: "在Grafana产品实例中,综合利用重定向和URL参数注入漏洞可以实现未经授权的服务器端请求伪造攻击(SSRF)。该漏洞影响Grafana 3 0 1至7 0 1版本。
2020-08-12 14:26:44 )4301( 亮了
Nginx反向代理配置及反向代理泛目录,目录,全站方法
牛创网络: "使用nginx代理dan(sui)是http响应消息写入服务地址或Web绝对路径的情况。 写一个死的服务地址是很少见的,但它偶尔也会发生。 最棘手的是写入web绝对路径,特别是如果绝对路径没有公共前缀
2019-06-17 10:08:58 )3858( 亮了
fortify sca自定义代码安全扫描工具扫描规则(源代码编写、规则定义和扫描结果展示)
牛创网络: "一般安全问题(例如代码注入漏洞),当前fortify sca规则具有很多误报,可通过规则优化来减少误报。自带的扫描规则不能检测到这些问题。 需要自定义扫描规则,合规性角度展示安全风险。
2020-02-12 10:49:07 )3505( 亮了
整理几款2020年流行的漏洞扫描工具
牛创网络: "漏洞扫描器就是确保可以及时准确地检测信息平台基础架构的安全性,确保业务的平稳发展,业务的高效快速发展以及公司,企业和国家 地区的所有信息资产的维护安全。
2020-08-05 14:36:26 )2536( 亮了
微擎安装使用技巧-微擎安装的时候页面显示空白是怎么回事?
牛创网络: "我们在公众号开发中,有时候会用到微擎,那我们来看一下微擎安装的时候页面显示空白是怎么回事吧
2019-06-08 15:34:16 )2261( 亮了
渗透测试:利用前端断点拦截和JS脚本替换对前端加密数据的修改
牛创网络: " 本文介绍的两种方法,虽然断点调试比JS脚本代码替换更容易,但是JS脚本代码替换方法可以实现更强大的功能,测试人员可以根据实际需要选择适当的测试方法
2020-01-07 09:34:42 )1995( 亮了
从工业界到学界盘点SAS与R优缺点比较
牛创网络: "虽然它在业界仍然由SAS主导,但R在学术界广泛使用,因为它的免费开源属性允许用户编写和共享他们自己的应用程序 然而,由于缺乏SAS经验,许多获得数据分析学位的学生很难找到工作。
2019-07-13 22:25:29 )1842( 亮了
41款APP侵犯用户隐私权:QQ,小米,搜狐,新浪,人人均被通报
牛创网络: "随着互联网的不断发展,我们进入了一个时代,每个人都离不开手机。 但是,APP越来越侵犯了用户隐私权。12月19日,工业和信息化部发布了《关于侵犯用户权益的APP(第一批)》的通知。
2019-12-20 11:28:14 )1775( 亮了