chroot 命令通过更改所有正在运行的进程的根目录来在 Linux 上创建隔离环境。
您是否希望在 Linux 上的隔离空间中运行应用程序或服务?或者您可能想测试和调试应用程序而不干扰系统的其余部分?如果是这样,您将需要了解 chroot,这是 Linux 中内置的一种强大机制,允许您在系统中创建单独的环境。
让我们详细探讨 chroot,了解它的好处、用例、如何在 Linux 系统上设置它,以及如果需要,如何转义它。
chroot 或change-root 可以说是最简单、最古老的容器化软件形式之一,它允许用户安全地沙箱应用程序和服务。在计算术语中,沙箱是使用预定义资源在有限空间中隔离程序的过程。
如果您熟悉 Docker 及其工作原理,您可以将 chroot 视为它的精简版本。 chroot 的工作原理是更改程序的根目录、限制访问和可见性,从而提供额外的隔离和安全层。
本质上,您创建一个单独的目录,将所有程序的依赖项复制到新目录中,然后运行 chroot 命令。这允许程序在无法访问基本文件系统的情况下正常运行。
对程序进行 chroot 是在安全空间中测试其可靠性而不更改实际系统文件的好方法。此外,您还可以降低因受感染的软件包引起的安全风险,因为在 chroot 环境中,受感染的软件包将无法访问和修改敏感的系统文件。
该程序只能访问和查看导入到 chroot 目录(也称为“chroot 监狱”)的文件。这可以防止程序及其子进程干扰基本系统。
chroot 监狱是 chroot 程序驻留和执行的隔离环境。 chroot 监狱一词源于这样的概念:chroot 环境内的进程及其子进程无法访问或查看基本文件系统,并且被困在具有预定资源的 chroot 范围内。
现在您已经清楚了 chroot 的概念,让我们亲自实践并了解如何创建 chroot 监狱并在其中生成进程。
chroot监狱本质上是一个目录,其中包含程序正常运行所需的所有资源、文件、二进制文件和其他依赖项。
然而,与常规 Linux 环境不同,chroot Jail 的环境受到严格限制,程序无法访问外部或附加文件和系统资源。
例如,要在 chroot 监狱中运行 Bash shell,您需要将 Bash 二进制文件及其所有依赖项复制到 chroot 目录。
以下是创建 chroot 监狱并生成 Bash shell 的步骤:
- 为了使程序成功运行,您需要将其所有依赖项复制到 chroot 目录。让我们使用 which 和 ldd 命令查找二进制文件(在本例中为 Bash)及其所有依赖项的位置:
- 现在您已经知道了二进制文件及其依赖项的位置,请将它们复制到要转换为 chroot Jail 的目录。使用 mkdir 命令创建必要的目录并使用 cp 命令将所有文件复制到相应的目录中:
- 最后,复制程序及其依赖项后,您可以使用 sudo 前缀以提升的权限运行 chroot 命令,以在所选目录中生成 chroot 环境。默认情况下,它将生成一个 Bash shell。这是要输入的命令:
这就是生成 chroot 监狱并在其中运行程序的所有步骤。
虽然 chroot 监狱非常适合测试不稳定的软件,但它们在处理 SSH 连接时也很有用,因为 chroot 连接的用户是保护 SSH 服务器的众多方法之一。
另一方面,如果您是渗透测试人员并已登录目标的 SSH 服务器,发现它是一个 chroot 环境可能会令人沮丧,感觉就像走进了死胡同。
然而,有很多方法可以逃离配置错误的 chroot 监狱,其中一些需要 C 编程技能,而另一些则可以通过工具实现自动化。 chroot 转义的一些简单方法是:
- 嵌套 chroot 调用
- 使用保存的文件描述符进行嵌套 chroot 调用
- 挂载root方法
- 过程逃逸
- 追踪逃逸
请注意,要使用这些方法中的任何一种执行 chroot 转义,您需要在系统中具有升级的权限。要了解有关这些转义方法的更多信息,请访问 chw00t 的 GitHub 存储库(一种 chroot 转义自动化工具)。
现在您已经了解了 chroot 是什么、它是如何工作的以及如何实现它,您应该能够从终端轻松地对应用程序进行沙箱处理。请记住,如您所知,有多种方法可以摆脱 chrooted 环境。
这表明 chroot 绝不是为了作为安全功能而设计的。因此,您应该非常谨慎地使用 chroot,因为不正确的配置可能会适得其反并危及系统的安全。
最好坚持使用专用的沙箱解决方案,例如容器化软件或虚拟机。它们都以沙箱和安全为中心,因此除非出现新的零日漏洞,否则您无需担心系统的安全性和完整性。
如果您不确定在容器化和虚拟化软件之间选择哪一个,您应该尝试这两种软件,并亲自看看哪一种更好。
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/2289.html