CVE-2016-5195(脏⽜)内核漏洞验证
⼀:前⾔
为什么叫脏⽜(Dirty COW)漏洞:因为Linux内核的内存⼦系统在处理写和拷贝时存在条件竞争漏洞,导致可以破快破坏私有只读内存映射。⼀个低权限的本地⽤户能够利⽤此漏洞获取其他只读内存映射的权限,实现本地提权。
影响范围: Linux内核>=2.6.22
实验环境:
实验⼯具:gcc:linux下的编译器,⽤于编译程序        漏洞验证的poc
⼆:提权过程
1. 进⼊到有poc的⽬录
2. gcc -pthread dirtyc0w -o dirtyc0w
-pthread 会附加⼀个宏定义 -D_REENTRANT 该宏会导致libc头⽂件选择那些thread-safe的实现
cve漏洞库-o  为编译后的输出⽂件名
3. 给⽂件foo写⼊内容(内容不得为空,⽂件名可以⾃定义),该⽂件必须有读取权限
4. chmod 0404 foo 代表所有⽤户默认情况下对该⽂件只有读取权限, ⽆法修改删除
5. 执⾏命令测试漏洞  ./dirtyc0w foo m00000000000000  (持续时间⼀分钟)
6. 通过cat 查看该⽂件,发现已经被 m00000000000000覆盖
7. 如果被覆盖则该系统存在脏⽜漏洞