当前位置:   article > 正文

【Linux】kaili实现CVE-2019-5736漏洞复现

cve-2019-5736

一、了解docker逃逸

Docker逃逸是一个安全问题,指的是攻击者从Docker容器逃逸到宿主机系统,获取更高的权限,从而控制整个系统。下面我将详细介绍Docker逃逸的原理、常见方法以及如何防范。

1.Docker逃逸的原理

Docker容器是一种虚拟化技术,它通过在宿主机上创建隔离的环境来运行应用程序。然而,如果Docker容器的配置不当或者存在漏洞,攻击者就有可能利用这些漏洞逃逸出容器,进入宿主机系统。

2.常见的Docker逃逸方法

2.1.配置不当引起的逃逸:

1>Docker Remote API未授权访问:攻击者可以通过访问Docker Remote API来获取容器的敏感信息,甚至执行恶意操作。
2>docker.sock挂载到容器内部:如果docker.sock文件被挂载到容器内部,攻击者可以利用这个文件来与Docker守护进程通信,执行任意命令。
3>privileged特权模式启动docker:以特权模式启动的容器拥有与宿主机几乎相同的权限,攻击者可以利用这个权限来逃逸出容器。
4>挂载敏感目录:如果容器挂载了宿主机的敏感目录(如根目录),攻击者就有可能通过修改这些目录中的文件来逃逸出容器。

2.2.Docker软件设计引起的逃逸(漏洞):

1>runC容器逃逸漏洞(CVE-2019-5736):该漏洞允许攻击者在容器内部执行任意命令,从而逃逸出容器。
2>Docker cp命令(CVE-2019-14271):该漏洞允许攻击者通过Docker cp命令在容器与宿主机之间复制文件,可能导致信息泄露或逃逸。

2.3.内核漏洞引起的逃逸:脏牛漏洞(Dirty COW)是一个典型的内核漏洞引起的逃逸案例。攻击者可以利用这个漏洞在容器内部提升权限,获取宿主机的root shell。

3.如何防范Docker逃逸

3.1.限制容器的权限:不要以特权模式运行容器,避免挂载敏感目录或文件,限制容器的网络访问等。
3.2.及时修补漏洞:关注Docker官方的安全公告,及时修补已知漏洞,确保你的Docker环境是最新版本。
3.3.监控和审计:定期监控和审计Docker环境的安全状况,发现异常行为及时进行处理。
3.4.使用安全策略:采用合适的安全策略,如使用容器安全扫描工具、实施最小权限原则等。
3.5.隔离关键应用:将关键应用部署在单独的容器中,降低潜在的风险。

换言之,Docker逃逸,听起来好像是某个科幻电影里的情节,但实际上,这是我们IT界的一个热门话题。想象一下,你正在一个安静的Docker容器里享受你的代码世界,突然,你发现你可以“越狱”——逃离这个容器,进入主机系统。这就是所谓的Docker逃逸。
Docker逃逸,简单来说,就是攻击者利用Docker容器的漏洞,从容器内部逃逸到宿主机上,获得宿主机的访问权限。这就像是一个小偷,本来只是潜入了你家的一间卧室,但是他发现卧室的窗户没关紧,于是他就跳了出去,进入了整个房子。
Docker逃逸的危害是巨大的。一旦攻击者成功逃逸,他们就可以访问和控制宿主机上的其他容器和应用程序,甚至可能完全控制整个系统。这就像是小偷不仅偷走了你卧室的东西,还可以自由进出你的客厅、厨房甚至保险箱。
所以,为了防止Docker逃逸,我们需要时刻保持警惕。确保你的Docker容器是最新版本的,及时修补已知漏洞。同时,限制容器的权限,不要让它们有太多不必要的访问权限。这就像是不仅要关好卧室的窗户,还要锁好大门和保险箱一样。

二、介绍POC,Payload,EXP,Shellcode

1.POC(Proof of Concept):

概念:POC,即“概念验证”,是为了验证某一概念或理论的可行性而创建的较短且可能不完整的实现。在计算机安全术语中,POC常被用作0day、exploit的别名。
目的:POC的主要目的是为了展示和证明某个漏洞或攻击方法的实际存在和可行性,而并非为了实施攻击。

POC就像是那个总爱炫耀的孩子,老是要向大家证明他能做到什么。在黑客世界里,POC就是那个展示漏洞存在的小把戏。比如,一个黑客发现了你家大门的锁有问题,他就会制作一个POC视频,展示怎么用这个漏洞打开你家大门。当然,这只是为了证明他发现了问题,并不是真的要闯进来。

2.EXP(Exploit):

概念:EXP特指可利用系统漏洞进行攻击的动作程序。简单地说,当黑客发现一个系统、应用或服务的漏洞时,他们可能会开发一个EXP来利用这个漏洞,进而实施攻击。
目的:EXP的主要目的是为了利用已知的漏洞来入侵系统或执行恶意操作。

EXP就是那个精通各种开锁技巧的专家。他知道怎么利用你家大门的漏洞来打开门,而且还知道怎么做得最快最有效。在黑客世界里,EXP就是那个利用已知漏洞来攻击的软件或代码。有了它,黑客就能轻易地进入系统,就像专业的小偷一样。

3.Payload:

概念:“Payload”中文为“有效载荷”,指的是成功exploit之后,真正在目标系统上执行的代码或指令。换句话说,当EXP成功地利用了某个漏洞后,它会释放Payload来执行实际的攻击操作。
目的:Payload的目的是为了完成攻击者的最终目标,这可能是窃取数据、安装后门、执行恶意命令等。

Payload就是那个潜入你家的坏人携带的大包裹。在黑客术语里,Payload就是那个真正执行恶意操作的代码。比如,黑客可能会用一个小的POC来骗你点击一个链接,然后Payload就会悄无声息地安装在你电脑上,为所欲为。

4.Shellcode:

概念:Shellcode是Payload的一种,得名于它的功能——建立正向/反向shell。简单来说,Shellcode是一段代码,当它被注入到目标系统并执行时,可以为攻击者提供一个命令行界面或shell访问权限。
目的:Shellcode的主要目的是为了给攻击者提供一个与系统交互的界面,使他们能够执行任意命令并控制系统。

Shellcode就是那个小偷进门后用来开保险箱的“万能钥匙”。在黑客术语里,Shellcode是一段用于利用软件漏洞的代码,通常用于远程控制或者提升权限。一旦黑客成功地将Shellcode注入到你的系统里&

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/天景科技苑/article/detail/1000149
推荐阅读
相关标签
  

闽ICP备14008679号