gpt4 book ai didi

linux - Shell 代码和内核黑客操作系统不可知论者?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:40:33 25 4
gpt4 key购买 nike

我正在阅读一本关于破解内核的书,作者不断回到的一个领域是 shell 代码,许多内核破解尝试都试图找到一种执行 shell 代码的方法。有人可以详细说明这个主题吗,特别是你可以澄清一下“shell 代码”。

shell 代码如何绕过 *NIX 系统中的 sudo 或在 Windows 机器中不是 Admin?是否有非操作系统特定的 shell 代码攻击示例?我认为必须针对特定的操作系统。

最佳答案

Shell code是利用漏洞时使用的有效载荷,该漏洞用于创建攻击者可以从中控制机器的命令外壳。

运行时的典型 shell 代码可能会打开网络连接并在 Windows 机器上生成 cmd.exe(或在 Linux/unix 上生成 /bin/sh)管道 stdinstdout 通过网络连接。攻击者可能会从他的机器完成连接并输入命令并获得反馈,就好像他坐在受感染的机器前一样。

缓冲区溢出不是 shell 代码。该漏洞被利用来执行shell代码。

缓冲区溢出被利用来将shell代码复制到用户的机器上并覆盖程序堆栈上的返回地址。当当前执行的函数返回时,处理器跳转到上传的 shell 代码,为攻击者创建 shell。

有关利用缓冲区溢出的更多信息,请查看 Smashing the Stack for Fun and Profit .

您可以尝试为 gcc 使用 -fno-stack-protector 标志,但我不太熟悉 OSX 或它可能使用的任何堆栈保护。

如果您想解决缓冲区溢出问题,现代编译器和现代操作系统都有适当的保护措施,这使得这很困难。最好的办法是为自己购买一个 Linux 发行版并将其关闭。 See this question有关禁用这些保护的更多信息。

请注意,执行 shell 代码不需要缓冲区溢出。我已经演示了如何使用命令注入(inject)漏洞打开远程 shell 来上传和执行批处理文件。

关于linux - Shell 代码和内核黑客操作系统不可知论者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12463629/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com