【发布时间】:2010-07-01 13:26:20
【问题描述】:
我想构建一个 C 应用程序,然后我可以利用它从内核内存中获取一些机密信息。
问题是我真的不明白从哪里开始......我发现在没有适当检查返回值的情况下使用 copy_to_user() 可能会导致这类问题,但我不知道了解它是如何被利用的。 如果你能给我一些建议,让我进步,那就太好了。
编辑:我想要的是一种像这样的漏洞利用:http://inj3ct0r.com/exploits/7837,其中有 X 字节的内核内存最终被转储。
事实是我不想要任何 SCTP 套接字或任何东西,而“只”想要重新创建此机密信息转储的最简单方法。
为了与缓冲区溢出并行,我想创建将使用gets() 函数的文件vuln.c,然后构建将完成这项工作的特殊字符串......在这种情况下披露,我认为这将是另一个 C 文件。
我希望这是有道理的......
最好的。
【问题讨论】:
-
你不会尝试向 Linux 内核提交木马,是吗?
-
如果我弄错了,请原谅我,但从您的问题看来,您认为编写一个易受攻击的用户空间应用程序会神奇地为您创建一个内核漏洞。这是完全错误的。如果存在内核漏洞,您无需“利用”您自己的应用程序即可访问它。只需编写代码直接利用内核漏洞。如果不存在内核漏洞(或者至少您不知道任何漏洞),那么您可以创建的任何用户空间代码都不会改变它。
-
好吧,我想这样做是为了证明这样的漏洞可以存在于我的目标系统上,并更好地了解它们是如何工作的。我认为我可以开发一个易受攻击的内核模块,然后是用户空间漏洞,因为我拥有系统的所有权限。如果可能,问题仍然是:我怎样才能创建这样的漏洞???最好的。
标签: c security memory disclosure