- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
linux内核存在安全问题,影响大部分android设备,基本允许任何用户成为root。
由于我使用 Linux 已有一段时间,所以我很好奇这个漏洞是如何工作的,尤其是我如何检查我的 PC(自定义构建)或我的任何服务器上的内核是否容易受到此攻击.是否有任何源代码(最好是文档化的)或漏洞的详细信息,以便我可以看到它是如何工作的?我只能找到通用信息或封闭源二进制文件,它们确实利用了该错误并在任何用户执行时为您提供 root 权限,但没有背景信息或内核的哪一部分存在缺陷的详细信息以及如何做到这一点。
到目前为止,我发现了这篇有趣的文章 http://tinyhack.com/2014/07/07/exploiting-the-futex-bug-and-uncovering-towelroot/这解释了它使用堆栈 hack,通过调用某些系统调用,以便将某些东西放入 futex_queue
的堆栈中。虽然我了解它是如何工作的,但我不知道如何更改该堆栈中的任何内容实际上可以提升当前进程的特权。我发现有趣的是,这个人说自内核 3.13 以来发生了一些变化,现在需要不同的技术来利用它。这是否意味着这甚至没有修复并且在最近的内核中仍然可以利用可以从 kernel.org 下载?
最佳答案
正如 SilverlightFox 所说,stackexchange 的安全部分 ( http://security.stackexchange.com/ ) 可能会更好,但这里什么也没有。
从它的声音来看,这个 hack 似乎是一种在给定时间内提升任何用户的终端/内核的方法,这至少可以说是糟糕的。我对这类问题如何运作的想法是一个程序,该程序通过调用那些所述的 syscalls
来重载 futex_queue
,然后暂时为用户提供 super 用户访问权限。
我查看了您提供的链接,发现它确实需要通过 SSH
或类似程序进行远程登录。在控制台屏幕截图中,它使用 gcc -o xpl xpl.c -lpthread
行,这表明此漏洞利用是在 C 中完成的。并直接引用文章中的内容:
This is actually where the bug is: there is a case where the waiter is still linked in the waiter list and the function returns. Please note that a kernel stack is completely separate from user stack. You can not influence kernel stack just by calling your own function in the userspace. You can manipulate kernel stack value by doing syscall.
在 http://www.clevcode.org/cve-2014-3153-exploit/ 的图像中,它显示了 towelroot
漏洞利用的输出,测试地址限制并进入任务结构以生成 super 用户 shell。此外,在 tinyhack 文章中,它提供了该漏洞利用基础的简单再现,因此我建议您看一下并从中着手。
如果您的系统易受攻击,我不知道有任何明确的测试形式,所以我能告诉您的最好办法就是尝试加固您的系统,并尽一切努力保护它。无论如何,我不认为有人会轻易获得服务器端口和登录名以在您的系统上运行此漏洞。
干杯!
关于linux - towelroot(futex exploit)是如何工作的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26190824/
linux内核存在安全问题,影响大部分android设备,基本允许任何用户成为root。 由于我使用 Linux 已有一段时间,所以我很好奇这个漏洞是如何工作的,尤其是我如何检查我的 PC(自定义构建
我是一名优秀的程序员,十分优秀!