Linux TowerRoot(futex开发)是如何工作的

Linux TowerRoot(futex开发)是如何工作的,linux,security,Linux,Security,linux内核中存在一个安全问题,它影响到大多数android设备,基本上允许任何用户成为root用户 由于我是linux用户已经有相当一段时间了,我非常好奇这个漏洞是如何工作的,尤其是我如何检查我的PC(自定义构建)或任何服务器上的内核是否易受此攻击。是否有任何源代码(最好有文档记录)或漏洞的详细信息,以便我了解其工作原理?我只能找到一般信息或封闭源代码的二进制文件,它们确实利用了这个漏洞,如果由任何用户执行,它们会给您提供根目录,但是没有背景信息或详细信息说明内核的哪个部分有这个缺陷,以及如

linux内核中存在一个安全问题,它影响到大多数android设备,基本上允许任何用户成为root用户

由于我是linux用户已经有相当一段时间了,我非常好奇这个漏洞是如何工作的,尤其是我如何检查我的PC(自定义构建)或任何服务器上的内核是否易受此攻击。是否有任何源代码(最好有文档记录)或漏洞的详细信息,以便我了解其工作原理?我只能找到一般信息或封闭源代码的二进制文件,它们确实利用了这个漏洞,如果由任何用户执行,它们会给您提供根目录,但是没有背景信息或详细信息说明内核的哪个部分有这个缺陷,以及如何做到这一点


到目前为止,我发现了这篇有趣的文章,它解释了它使用stack hack,通过调用某些系统调用,将一些东西放入
futex\u队列的堆栈中。虽然我了解它是如何工作的,但我不知道更改堆栈中的任何内容实际上如何提升当前进程的权限。我发现有趣的是,这家伙说自从内核3.13以来,有些东西已经改变了,现在需要不同的技术来利用它。这是否意味着它甚至没有被修复,并且在最近的内核中仍然可以被利用,可以从kernel.org下载?

正如SilverlightFox所说,stackexchange()的安全部分可能会更好,但这里什么也没有

从它的声音来看,这种黑客行为似乎是在给定的时间内提升任何用户终端/内核的一种方式,这一点也不算不好。我对这类问题的看法是,一个程序通过调用所述的
syscalls
来重载
futex_队列
,然后临时为用户提供超级用户访问权限

我查看了您提供的链接,发现它确实需要从
SSH
或类似的过程进行远程登录。在控制台屏幕截图中,它使用了一行
gcc-o xpl xpl.c-lpthread
,这表明该漏洞是用c完成的,并直接引用了文章中的一句话:

这实际上就是问题所在:有一种情况是,服务员在那里 仍然链接在服务员列表中,函数返回。请注意,内核堆栈与用户堆栈是完全独立的。你不能 只需在用户空间中调用自己的函数即可影响内核堆栈。您可以通过执行syscall操作内核堆栈值

在的图像中,它显示了
towerroot
漏洞的输出,测试地址限制并进入任务结构以生成超级用户shell。另外,在tinyhack的文章中,它简单地介绍了这个漏洞的基础,所以我建议大家看看,并从中着手

如果您的系统易受攻击,我不知道有什么明确的测试形式,因此我能告诉您的最好方法是尝试强化您的系统,并尽一切努力保护它。无论如何,我不认为有人会轻易获得服务器端口和登录名,以便在您的系统上运行此漏洞攻击


干杯

如果您愿意,您可能会在询问和标记迁移时得到更好的响应。