=Start=
漏洞概述:
漏洞编号:CVE-2017-6074
漏洞发现者:Andrey Konovalov
漏洞危害:通过非特权进程获得内核代码执行进而提升权限
影响范围:
Linux内核版本>2.6.18(2006年9月)。但DCCP(数据报拥塞控制协议)最早是在05年10月的Linux内核版本2.6.14中支持的。目前该漏洞于2017年2月17日修复。
修复方案:
临时规避:
Red Hat’s bug tracker provides some mitigation tactics without updating the kernel and rebooting your box.
Recent versions of Selinux policy can mitigate this exploit. The steps below will work with SElinux enabled or disabled.
As the DCCP module will be auto loaded when required, its use can be disabled
by preventing the module from loading with the following instructions.# echo "install dccp /bin/true" >> /etc/modprobe.d/disable-dccp.confThe system will need to be restarted if the dccp modules are loaded. In most circumstances the dccp kernel modules will be unable to be unloaded while any network interfaces are active and the protocol is in use.
If you need further assistance, see this KCS article ( https://access.redhat.com/solutions/41278 ) or contact Red Hat Global Support Services.
长期解决:
升级内核至安全版本
PoC/Exp:
https://github.com/xairy/kernel-exploits/tree/master/CVE-2017-6074
参考来源:
Use-after-free in the IPv6 implementation of the DCCP protocol in the Linux kernel – CVE-2017-6074
https://access.redhat.com/security/vulnerabilities/2934281
https://access.redhat.com/sites/default/files/cve-2017-6074-2.sh
Linux kernel: CVE-2017-6074 – local privilege escalation in DCCP
https://ma.ttias.be/linux-kernel-cve-2017-6074-local-privilege-escalation-dccp/
【更新PoC】潜伏11年的Linux内核提权漏洞曝光
http://www.freebuf.com/news/127620.html
http://securityaffairs.co/wordpress/56566/hacking/cve-2017-6074-linux-flaw.html
http://thehackernews.com/2017/02/linux-kernel-local-root.html
https://github.com/xairy/kernel-exploits/tree/master/CVE-2017-6074
http://www.openwall.com/lists/oss-security/2017/02/26/2
【漏洞预警】雪藏11年:Linux kernel DCCP double-free 权限提升漏洞(CVE-2017-6074)
http://bobao.360.cn/learning/detail/3529.html
http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=2017-6074
https://www.suse.com/support/kb/doc?id=7018645
CVE-2017-6074:Linux内核中存在11年的特权提升漏洞(更新POC)
http://www.mottoin.com/96940.html
Linux kernel: CVE-2017-6074: DCCP double-free vulnerability (local root)
https://news.ycombinator.com/item?id=13705833
https://www.reddit.com/r/netsec/comments/5vjpgj/linux_kernel_cve20176074_dccp_doublefree/
=END=
《 “Linux kernel DCCP double-free 权限提升漏洞(CVE-2017-6074)” 》 有 4 条评论
选择在不同的维度做防御
http://www.ayazero.com/?p=101
“临时规避措施”的必要性:
跨时间轴的场景
`
(在大型互联网生产网络里,全网push完一个补丁是需要不少时间的,有可能一个礼拜都弄不完…)回顾整个时间轴的防护措施依次是:临时性规避措施–push补丁/根治措施—取消临时性措施—添加常态性的特征检测措施—检测到漏网之鱼—继续上述过程,这个过程离最佳实践实际上还差了一个环节,不过这里只是用来说明开头提到的那个问题故而不展开了,后面会介绍对于一个漏洞修复是否需要上升层次的问题。
1.临时性规避措施
2.push补丁/根治措施
3.取消临时性规避措施
4.添加常态性特征检测措施(IDS)
5.检测到漏网之鱼
6.继续从1/2开始
`
Google 容器沙盒 gVisor 中的权限提升
https://justi.cz/security/2018/11/14/gvisor-lpe.html
Linux Kernel Exploitation 理论学习
http://www.giantbranch.cn/2018/08/11/Linux%20Kernel%20Exploitation%20%E7%90%86%E8%AE%BA%E5%AD%A6%E4%B9%A0/
https://github.com/RPISEC/MBE
`
1. 基础
内核为用户空间提供的一些服务
文件系统的IO
权限管理
系统调用(Syscalls)
进程管理
……
内核通熟来说就是底层的代码(它是操作系统的核心),有两个主要的职能:
跟硬件交互,控制硬件
为应用程序提供一个运行环境
内核空间Ring0,我们用户空间就是Ring3
2. 利用相关
3. 一些新的防护
3.1. mmap_min_addr
3.2. kallsyms
3.3. SMEP / SMAP
4. reference
`
linux内核符号表kallsyms简介
https://www.cnblogs.com/aspirs/p/12115705.html
Linux 内核符号表的生成和查找
https://breezetemple.github.io/2020/03/11/linux-kernel-all-syms/
Linux kernel 笔记 (37)——”system.map”和“/proc/kallsyms”
https://nanxiao.me/linux-kernel-note-37-system-map-and-proc-kallsyms/
System.map和kallsyms文件
https://luobuda.github.io/2017/04/23/System-map%E5%92%8Ckallsyms%E6%96%87%E4%BB%B6/