HCRM博客

如何有效破解CentOS系统密码?

CentOS密码破解与防破解

背景介绍

如何有效破解CentOS系统密码?-图1
(图片来源网络,侵权删除)

CentOS(Community Enterprise Operating System)是一个基于Red Hat Enterprise Linux(RHEL)的开源操作系统,广泛应用于服务器环境,管理员有时会忘记root密码,导致无法正常登录系统,本文将详细介绍如何在CentOS系统中破解和防止root密码被破解的方法。

一、CentOS密码破解方法

方法一:使用单用户模式

步骤归纳:

进入内核选择界面:启动服务器,进入内核选择界面按e进入内核参数编辑界面。

修改内核参数:找到Linux16这一段,在该段尾添加init=/bin/sh,如果这一段中有LANG=zh_CN.UTF8要改为LANG=en_US.UTF8,然后按CTRL+X执行进入单用户模式。

修改密码:进入单用户模式后查看到系统信息,看到当前系统只读挂载在/下,需要修改一下权限不然无法修改密码,通过命令mount o rw,remount /以读写方式重新挂载系统文件,然后这就可以passwd修改密码了,修改完成后,touch /.autorelabel创建标签文件,让selinux允许我们的修改,然后重启系统结束。

如何有效破解CentOS系统密码?-图2
(图片来源网络,侵权删除)

图文说明:

kernel选择界面:启动服务器,进入内核选择界面按 e 进入内核参数编辑界面。
内核参数修改:按⬇找到Linux16 这一段,在该段尾添加init=/bin/sh ,如果这一段中有LANG=zh_CN.UTF8要改为LANG=en_US.UTF8,然后按CTRL+X执行进入单用户模式。
修改密码:进入单用户模式后查看到系统信息,看到当前系统只读挂载在 / 下,需要修改一下权限不然无法修改密码,通过命令mount o rw,remount / 以读写方式重新挂载系统文件,然后这就可以passwd修改密码了,修改完成后,touch /.autorelabel创建标签文件,让selinux允许我们的修改,然后重启系统结束。

示例操作:

[root@localhost ~]# mount o rw,remount /
[root@localhost ~]# passwd root
New password: ******
Retype new password: ******
passwd: all authentication tokens updated successfully.
[root@localhost ~]# touch /.autorelabel
[root@localhost ~]# reboot

方法二:使用rd.break参数

步骤归纳:

进入内核选择界面:启动服务器,进入内核选择界面按e进入内核参数编辑界面。

修改内核参数:找到Linux16这一段,将ro权限改为rw,在该段尾添加init=/bin/sh,然后按CTRL+X执行进入单用户模式。

修改密码:进入单用户模式后查看到系统信息,看到当前系统挂载在/sysroot下,权限为可读可写,直接就可以passwd修改密码了,修改完成后,touch /.autorelabel创建标签文件,让selinux允许我们的修改,然后重启系统结束。

如何有效破解CentOS系统密码?-图3
(图片来源网络,侵权删除)

图文说明:

kernel选择界面:启动服务器,进入内核选择界面按 e 进入内核参数编辑界面。
内核参数修改:按⬇找到Linux16 这一段,将ro权限改为rw,在该段尾添加init=/bin/sh ,然后按CTRL+X执行进入单用户模式。
修改密码:这里与第一个方法稍微有些不同,这里的系统是挂载在 /sysroot 下的,权限也是只读,所以同样需要修改权限,通过命令 mount o rw,remount /sysroot ,挂载目录为 /sysroot,(同方法一中,我们也可以在修改内核参数时将ro权限改为rw,然后就不用挂载这一步操作),然后我们还需要修改root到系统挂载的根下,然后就可以修改密码了,这里修改密码会出现方块是因为系统不能显示中文,熟练改密码操作的话这里也不影响,最后需要两次退出。

示例操作:

[root@localhost ~]# mount o rw,remount /sysroot
[root@localhost ~]# chroot /sysroot
[root@localhost ~]# passwd root
New password: ******
Retype new password: ******
passwd: all authentication tokens updated successfully.
[root@localhost ~]# touch /sysroot/.autorelabel
[root@localhost ~]# exit
[root@localhost ~]# exit
[root@localhost ~]# reboot

二、CentOS密码防破解方法

为了防止他人通过上述方法破解CentOS系统的root密码,可以对GRUB进行加密,以下是具体的步骤:

GRUB加密步骤

步骤归纳:

编辑GRUB配置文件:正常进入系统,然后修改/etc/grub.d/10_linux文件。

添加用户信息:在最后添加以下内容:

  set superusers="zhangsan"
  password zhangsan 123456

重新生成GRUB文件:保存退出后,执行grub2mkconfig output=/boot/grub2/grub.cfg重新生成GRUB文件。

详细说明:

编辑GRUB配置文件:使用vim或其他文本编辑器打开/etc/grub.d/10_linux文件。

添加用户信息:在文件末尾添加如下内容,其中zhangsan为用户名,123456为密码。

  set superusers="zhangsan"
  password zhangsan 123456

重新生成GRUB文件保存并退出编辑器后,执行以下命令重新生成GRUB配置文件。

  grub2mkconfig output=/boot/grub2/grub.cfg

示例操作:

[root@localhost ~]# vim /etc/grub.d/10_linux
...
set superusers="zhangsan"
password zhangsan 123456
...
[root@localhost ~]# grub2mkconfig output=/boot/grub2/grub.cfg

GRUB密码加密步骤

为了进一步增强安全性,还可以对GRUB密码进行加密,以下是具体步骤:

步骤归纳:

生成加密密码:使用grub2mkpasswdpbkdf2命令生成加密密码。

编辑GRUB配置文件:将生成的加密密码添加到/etc/grub.d/10_linux文件中。

重新生成GRUB文件:保存并退出编辑器后,执行grub2mkconfig output=/boot/grub2/grub.cfg重新生成GRUB配置文件。

详细说明:

生成加密密码:使用grub2mkpasswdpbkdf2命令生成加密密码,要为用户名zhangsan生成加密密码,可以使用以下命令:

  grub2mkpasswdpbkdf2
  输入口令:         #要生成的密码
  Reenter password: 
  PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.FF342FE130A13EFF...

编辑GRUB配置文件:将生成的加密密码添加到/etc/grub.d/10_linux文件中。

  set superusers="zhangsan"
  password_pbkdf2 zhangsan grub.pbkdf2.sha512.10000.FF342FE130A13EFF...粘贴加密密码

重新生成GRUB文件:保存并退出编辑器后,执行以下命令重新生成GRUB配置文件。

  grub2mkconfig output=/boot/grub2/grub.cfg

示例操作:

[root@localhost ~]# grub2mkpasswdpbkdf2
输入口令:         #要生成的密码
Reenter password: 
PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.FF342FE130A13EFF...
[root@localhost ~]# vim /etc/grub.d/10_linux
...
set superusers="zhangsan"
password_pbkdf2 zhangsan grub.pbkdf2.sha512.10000.FF342FE130A13EFF...粘贴加密密码
...
[root@localhost ~]# grub2mkconfig output=/boot/grub2/grub.cfg

三、破解GRUB加密方法

如果设置了GRUB加密但忘记了密码,可以通过以下步骤进行破解:

进入BIOS设置

进入BIOS:重启计算机,在启动时按下相应的键(通常是F2,Del,Esc等)进入BIOS设置。

选择CD启动:在BIOS中找到Boot选项卡,选择CDROM作为第一启动项,保存并退出。

进入救援模式

启动救援模式:插入包含CentOS救援模式的光盘或U盘,重启计算机,选择从光盘或U盘启动。

选择救援模式:在启动菜单中选择Troubleshooting,然后选择Rescue a CentOS system

删除GRUB密码:在救援模式下,挂载系统分区并删除或编辑GRUB密码文件,可以使用以下命令删除/boot/grub2/user.cfg文件。

  mount /dev/sda1 /mnt
  vi /mnt/boot/grub2/user.cfg
  #删除或注释掉password相关行
  umount /mnt
  reboot

四、相关FAQs

Q1: 如果忘记了CentOS的root密码怎么办?

A1: 可以通过以下步骤重置root密码:

1、重启系统并在内核选择界面按e进入编辑模式。

2、找到Linux16这一段,在该段尾添加init=/bin/sh

3、按CTRL+X进入单用户模式。

4、使用命令mount o rw,remount /重新挂载根目录为读写模式。

5、使用命令passwd修改root密码。

6、创建标签文件touch /.autorelabel并重启系统。

Q2: 如果设置了GRUB加密但忘记了密码怎么办?

A2: 可以通过以下步骤破解GRUB加密:

1、重启计算机并进入BIOS设置,选择从CDROM启动。

2、使用包含CentOS救援模式的光盘或U盘启动系统。

3、在救援模式下,挂载系统分区并删除或编辑GRUB密码文件(如/boot/grub2/user.cfg)。

4、卸载分区并重启系统。

分享:
扫描分享到社交APP
上一篇
下一篇