Linux 启动参数及破解

Linux 启动参数及破解

请耐心等待,因为我是 Linux 新手...我有一个安全课程的作业,其中我应该访问管理员桌面上的文件。

我通过将“ro splash”更改为“rw init=/bin/bash”修改了启动设置,重新启动,获得了 bash shell 并更改了 root 密码。

几个问题:

  • 所以反渗透将根设备挂载为只读,读写将其挂载为可读写。什么是“根设备”?
  • 所以在里面指定启动后运行的第一个程序,对吗?
  • 为什么我会得到一个 bash shell具有 root 访问权限? 无需身份验证?

答案1

  1. “根”设备在引导加载程序中定义,是“引导”位置/驱动器/分区。
  2. 是的。
  3. 此功能允许机器操作员进入并恢复机器。

请记住,一台机器只有在网络上安全,而且物理上安全的情况下才是安全的。许多人忘记了这一点,只考虑“跨线”攻击。如果任何人都可以访问一台机器,那么它就不安全。如果我可以访问您的机器,那么我很可能可以从 CD-ROM/USB/软盘启动它并接管它——无论您的根用户拥有什么“密码”。始终确保物理机器的安全。

马特

答案2

  1. root 是内核视为 / 位置的设备。引导加载程序可以使用不同的根设备,引导加载程序使用它来将内核和初始 ramdisk 读入内存。

  2. init 是内核启动的第一个(也是唯一一个)用户空间程序,它负责管理用户空间(即内核空间以外的所有内容)。通常,您会使用 SystemV init 或 SystemD systemd,因为它们将处理守护进程的启动、文件系统的挂载等。如果您使用/bin/bash(其他任何方法也行),此程序将在内核初始化自身后执行,并且当然可以完全访问计算机上的每个设备(即 root 访问权限)。这不是系统管理员的功能,这种可能性源于启动过程的开放设计。

  3. 是的,因为身份验证是不是由内核处理,这必须由用户空间进程完成,通常由 启动init。为此,init需要 root 访问权限...

正如另一位发帖者指出的那样,如果您拥有硬件访问权限,则由操作系统处理的身份验证(而不是基于强加密)是徒劳的。例如,您可以启动带有实时系统(在 CD 上)的计算机,安装文件系统,然后chroot自己就可以进入。拥有完全的 root 访问权限...加密才是王道!

相关内容