免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 独孤九贱
打印 上一主题 下一主题

新爆内核高危漏洞sock_sendpage的利用分析的讨论 [复制链接]

论坛徽章:
0
61 [报告]
发表于 2009-09-08 14:17 |只看该作者

回复 #12 bobozhang 的帖子

谁能给我讲讲它是怎么跳转到地址0处执行指令的

论坛徽章:
0
62 [报告]
发表于 2009-09-17 17:05 |只看该作者

再学习一次,谢谢

再学习一次谢谢!!!!

论坛徽章:
0
63 [报告]
发表于 2009-11-15 01:26 |只看该作者
突然想到一个问题,mmap映射0地址能够映射成功吗?

在我的Ubuntu 9.04,Linux 2.6.28-12-generic上,mmap映射0地址是不能成功的。
至于exploit的代码在我的机器上能够成功执行,是因为exploit是由run.c编译的可执行文件来调用的。在run.c中,通过personality将可执行文件的执行域设置为SVR4。然后通过mprotect修改0地址的属性。

那么,SRV4上的进程内存是如何部局的呢?0地址上默认放的是什么东西呢?
而在32位linux上,地址空间一般使用的是08048000-c0000000。08048000以下的空间能够映射吗?要怎么映射?

望高人指点呀~

论坛徽章:
0
64 [报告]
发表于 2009-11-16 11:19 |只看该作者
原帖由 kouu 于 2009-11-15 01:26 发表
突然想到一个问题,mmap映射0地址能够映射成功吗?

在我的Ubuntu 9.04,Linux 2.6.28-12-generic上,mmap映射0地址是不能成功的。
至于exploit的代码在我的机器上能够成功执行,是因为exploit是由run.c编译 ...


呵呵,在linux 2.6.29.4的代码中找到了以下一些内容:

personality.h

  1. enum {
  2.         ......
  3.         PER_SVR4 =                0x0001 | STICKY_TIMEOUTS | MMAP_PAGE_ZERO,
  4.         ......
  5. };
复制代码


binfmt_elf.c:load_elf_binary()

  1. ......
  2.         if (current->personality & MMAP_PAGE_ZERO) {
  3.                 /* Why this, you ask???  Well SVr4 maps page 0 as read-only,
  4.                    and some applications "depend" upon this behavior.
  5.                    Since we do not have the power to recompile these, we
  6.                    emulate the SVr4 behavior. Sigh. */
  7.                 down_write(&current->mm->mmap_sem);
  8.                 error = do_mmap(NULL, 0, PAGE_SIZE, PROT_READ | PROT_EXEC,
  9.                                 MAP_FIXED | MAP_PRIVATE, 0);
  10.                 up_write(&current->mm->mmap_sem);
  11.         }
  12. ......
复制代码

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
65 [报告]
发表于 2010-01-12 11:07 |只看该作者
呵呵,我还是觉得在kernel_code()函数中调用C库的函数是可以的~

本来打算验证一下的,上次做了一下实验,ubuntu直接就整个挂起了(屏幕定格、无任何响应),也不知道是什么问题。 感觉在PC上做这种事情实在太恶心…… 以前都是在嵌入式开发版上搞的,随便折腾。可惜现在没这个环境了……

也希望哪位朋友有兴趣的话验证一下,给个结论~ 呵呵


昨晚简单验证了一下,kernel_code中添加printf和memset函数,直接把内核的stack搞坏。我用的是虚拟机,系统直接被关掉了。

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
66 [报告]
发表于 2010-01-12 15:38 |只看该作者
哪位介绍一下这个漏洞和selinux有什么关系。因为从其中一个简单的测试里程上,看不出来和selinux有关系啊。

论坛徽章:
0
67 [报告]
发表于 2010-01-15 10:56 |只看该作者
原帖由 suntnt0218 于 2009-9-8 14:17 发表
谁能给我讲讲它是怎么跳转到地址0处执行指令的


当内核进行一个空指针引用的时候, 会引发一次缺页异常中断, do_page_fault函数会进行处理, 打印oops信息,然后杀死当前进程。 exploit程序在攻击之前已经通过匿名映射在内存0地址出映射好了exploit代码, 所以不会引发缺页异常。

论坛徽章:
0
68 [报告]
发表于 2010-01-15 11:00 |只看该作者


[ 本帖最后由 W.Z.T 于 2010-1-15 13:41 编辑 ]

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
69 [报告]
发表于 2010-01-15 11:01 |只看该作者
原帖由 W.Z.T 于 2010-1-15 10:56 发表


当内核进行一个空指针引用的时候, 会引发一次缺页异常中断, do_page_fault函数会进行处理, 打印oops信息,然后杀死当前进程。 exploit程序在攻击之前已经通过匿名映射在内存0地址出映射好了exploit代码, ...


请教W.Z.T兄,你认为跳转到0地址出执行的函数代码是属于用户空间的代码,还是内核空间的代码。

论坛徽章:
0
70 [报告]
发表于 2010-01-15 11:11 |只看该作者


[ 本帖最后由 BB_CULL 于 2010-1-15 11:22 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP