虚拟机centos7:root登录密码破解与防破解:

  • 一、密码破解(方法一)
  • ①需要挂载 :
  • 步骤总结:
  • 图文说明:
  • ②不需要挂载:
  • 步骤总结:
  • 图文说明:
  • 二、密码破解(方法二)
  • 步骤总结:
  • 图文说明:
  • 三、防破解(grub加密)
  • 步骤总结:
  • 详细说明:
  • 四、破解grub加密



 

一、密码破解(方法一)

    *方法一又有两种方法,但其实都是一样的,只是其中一个步骤稍微有点区别

①需要挂载 :

步骤总结:

centos7破密 centos7破密教程_服务器

图文说明:

  1. 内核选择界面:启动服务器,进入内核选择界面按 e 进入内核参数编辑界面。
  2. centos7破密 centos7破密教程_linux_02

  3. 内核参数修改:按⬇找到Linux16 这一段,在该段尾添加init=/bin/sh ,如果这一段中有LANG=zh_CN.UTF-8要改为LANG=en_US.UTF-8,然后按CTRL+X执行进入单用户模式。
  4. centos7破密 centos7破密教程_加密解密_03

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

②不需要挂载:

步骤总结:

centos7破密 centos7破密教程_加密解密_05

图文说明:

  1. 修改内核参数:找到Linux16 这一段,将ro权限改为rw,在该段尾添加init=/bin/sh ,然后按CTRL+X执行进入单用户模式
  2. 修改密码:进入单用户模式后查看到系统信息,看到当前系统挂载在 / 下,权限为可读可写,直接就可以passwd修改密码了,修改完成后,touch /.autorelabel创建标签文件,让selinux允许我们的修改,然后重启系统结束。

二、密码破解(方法二)

步骤总结:

centos7破密 centos7破密教程_centos7破密_06

图文说明:

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

 

三、防破解(grub加密)

上面我们讲到了几种破解密码的方法,那么这样的话别人只要能启动咱们的服务器,是不是就能破解我们的密码进行登录呢,如何防止别人破解自己的密码呢?我们可以对grub进行加密,那么别人想要破解我们的密码时,就不能直接进入了。

加密后在内核选择界面按 e 就不能直接进入修改界面了,如下所示需要输入账号和密码:

centos7破密 centos7破密教程_linux_07

步骤总结:

centos7破密 centos7破密教程_加密解密_08

详细说明:

  1. 加密步骤如下:
[root@localhost ~]# vim /etc/grub.d/10_linux   #正常进入系统,然后修改这个文件
...
#在最后添加以下内容
cat <<EOF        
set superusers="zhangsan"
password zhangsan 123456
EOF
#账号:zhangsan,密码:123456;保存退出
[root@localhost ~]# grub2-mkconfig --output=/boot/grub2/grub.cfg  #重新生成grub文件


重启电脑,按e进入grub模式,发现被加密了,要帐号密码才能进入。
  1. 图示:
    对 /etc/grub.d/10_linux 文件进行修改

centos7破密 centos7破密教程_服务器_09

  1. 密码加密
    虽然我们对grub进行了加密,但是如果有人能看到我们添加的加密文件的信息,就能够直接看到我们设置的账号和密码,是不是也不是很安全呢。所以我们还可以对我们的密码进行加密,通过密文加密使得我们较短的密码转化成了一串很长很长的加密字符串,让其更加的保险,再多一层保障。
    加密步骤如下:
[root@localhost ~]# grub2-mkpasswd-pbkdf2       #生成加密密码
输入口令:         #要生成的密码
Reenter password: 
PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.FF342FE130A13EFF...
#复制生成的加密密码,粘贴到要添加的文件中;从grub.开始字符串一定要复制完整
[root@localhost ~]# vim /etc/grub.d/10_linux  
...
cat <<EOF        
set superusers="zhangsan"
password_pbkdf2 zhangsan grub.pbkdf2.sha512.10000.FF342FE130A13EFF...粘贴加密密码
EOF
#保存退出
[root@localhost ~]# grub2-mkconfig --output=/boot/grub2/grub.cfg
#依旧要记得要重新生成grub文件!!!

centos7破密 centos7破密教程_服务器_10


 

四、破解grub加密

如果我们设置了grub加密,然后又忘了加密密码,该怎么办呢。
对加密进行破解:

  1. 进入BIOS设置
    破解grub加密需要进入救援系统,要用到U盘作启动盘BIOS启动,类似Windows系统用U盘PE系统进行救援模式。不过我们使用的是虚拟机,U盘镜像文件可以不需要,我们的虚拟机设置里面镜像文件已经挂载上了,然后启动虚拟机时在电源选项里选择打开电源时进入固件

centos7破密 centos7破密教程_加密解密_11

  1. BIOS设置:选择CD启动
    进入BIOS后,在Boot中找到CD-ROM选项,选中后按 + 将其移到第一行。然后按F10保存退出。

centos7破密 centos7破密教程_centos7破密_12

  1. 进入救援模式
    BIOS设置完保存退出后,重启就会进入以下界面,选择第三个Troubleshooting进入救援模式。

centos7破密 centos7破密教程_linux_13

  1. 救援模式选项
    进入救援模式后,有几个选项选择,我们选择第二个Rescue a CentOS system拯救系统。然后系统就会重新启动(启动的是救援镜像)。

centos7破密 centos7破密教程_linux_14

  1. 启动设置
    启动过程中有一个选项,选择第一个Continue 继续。
    然后询问我们是否将root切换到/mnt/sysimage,直接回车确定。

centos7破密 centos7破密教程_centos7破密_15

  1. 删除grub密码
    进入救援系统后,vi /mnt/sysimage/etc/grub.d/10_linux 编辑我们之前设定grub密码的文件,将添加的密码部分直接删掉
    然后执行命令grub2-mkconfg --output=/mnt/sysimage/boot/grub2/grub.cfg 重新生成grub文件。
    (*注意:一定要重新生成grub文件才有效)。
    *因为系统被挂载到了 /mnt/sysimage 下面了,所以我们要修改的加密文件也在这个目录下面
    所有操作完成后,直接 poweroff 关机,因为BIOS还没改回来,不能直接重启。

centos7破密 centos7破密教程_加密解密_16


centos7破密 centos7破密教程_加密解密_17

  1. 将BIOS改回来,然后重启进入grub界面就不需要密码了。

centos7破密 centos7破密教程_linux_18

 
 
 
 
 
 

(⓿_⓿) 这章篇幅有点长啊。。。