脏牛-Linux内核提权
漏洞范围
下载地址:https://github.com/FireFart/dirtycow
有一点可以在意,dirty.c内置在了kali中,使用命令searchsploit dirty
可以搜索
也对每一个脚本进行了代号,但是发现了好多dirty
,究竟哪一个才是我们要使用的dirty
使用search -p 代号
,就可以获取指定代号的详细信息
经过一个一个-p
的排查,发现40839
才是我们真正的dirty
通过刚刚的名称可以知道
Linux内核在 2.6.22 < 3.9
拥有dirty漏洞,漏洞是在2016年修复
低权限的用户能够在本地进行提权获取管理员权限
大概原理,Linux内核子系统在写入时产生了条件竞争。条件竞争就是程序在处理的时候异常,可能会让程序报错,这样让攻击者就有机可乘。
首先,在一个满足实验的虚拟机创建一个普通用户
创建一个test用户,并切换到test用户
useradd test
su test
使用test用户编译 dirty.c 文件
gcc -pthread dirty.c -o dirty -lcrypt
编译后会在当前目录生成一个dirty文件
dirty使用的方法是,
./dirty 密码
,会更改 root 的用户名为firefart
密码为输入的密码
这里已经将密码更改为Admin123
验证firefart
用户的权限
su firefart
id
提权成功