目录
一. 破解root密码
1. 查看操作系统版本
2.重启系统,进入grub菜单,选择要使用的内核,按e进入编辑
3. 找到linux16那一行,把光标移动到最后,添加 init=/bin/sh 然后ctrl+x保存退出会自动进入系统
4. 进入系统后,以rw方式重新挂载/分区,输入完回车即可
5. 使用passwd修改密码
6. 重新识别新的root密码
7. 重启机器
8. 测试登录
二. 防破解——给单用户模式添加用户密码
1. 编辑文件
2. 生成新的grub文件
3. 判断上一条命令是否成功,返回0是成功,返回其他值,则失败
4. 重启服务器,进入单用户进行测试
三. 给单用户的密码加密
1. 使用grub2-mkpasswd-pbkdf2命令创建密文
2. 修改/etc/grub.d/00_header文件,在进行这步之前要把前面加的明文内容删除掉
3. 生成新的grub文件
4. 判断是否成功
5. 重启服务器,进入单用户进行测试
四. 破解grub2 加密
一. 破解root密码
1. 查看操作系统版本
[root@ftp-server ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
2.重启系统,进入grub菜单,选择要使用的内核,按e进入
3. 找到linux16那一行,把光标移动到最后,添加 init=/bin/sh 然后ctrl+x保存退出会自动进入系统
4. 进入系统后,以rw方式重新挂载/分区,输入完回车即可
mount -o remount,rw /
5. 使用passwd修改密码
这里因为编码问题是看不了,中文显示不出来,当时就凭修改密码的步骤去修改密码即可。
6. 重新识别新的root密码
touch /.autorelabel
7. 重启机器
exec /sbin/init
8. 测试登录
二. 防破解——给单用户模式添加用户密码
1. 编辑文件
[root@ftp-server ~]# vim /etc/grub.d/10_linux
# 文件末尾添加以下内容,用户名和密码就是你要给单用户模式添加的
cat <<EOF
set superusers="new" #用户名
password new qwer123+ #密码
EOF
2. 生成新的grub文件
[root@ftp-server ~]# grub2-mkconfig --output=/boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-1160.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1160.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-eeca7edba2b849d3b9f0797f3cc6e0c5
Found initrd image: /boot/initramfs-0-rescue-eeca7edba2b849d3b9f0797f3cc6e0c5.img
done
3. 判断上一条命令是否成功,返回0是成功,返回其他值,则失败
[root@ftp-server ~]# echo $?
0
4. 重启服务器,进入单用户进行测试
这样输入单用户模式的用户和密码就成功进去拉,这样可以防止被人用单用户破解你的服务器
三. 给单用户的密码加密
上述给单用户模式添加用户名和密码,存在在文件系统中,以明文形式展示,同样会泄露。那么就需要给这个密码进行加密。
1. 使用grub2-mkpasswd-pbkdf2命令创建密文
输入grub2-mkpasswd-pbkdf2命令后,输入你要加密的这个密码,然后会生成对应的密文。
[root@ftp-server ~]# grub2-mkpasswd-pbkdf2
输入口令:
Reenter password:
PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.6BAF206138449A28BF39B8E4ECAB676103DB3AA087FB6394543B77B4856F4EB7A418534083A4E447528D31D68584F28018CE942FC281CB64D688FF8585B8B1CB.6F2AA67A708CFD80A496AAAB3FAAADDE09BF6C04AE76593318E29E1033043B220FB99E0F010FDF83EF278FF7BD230AD53AD27DC3BE6AD6715EF818E1A9C340AB
2. 修改/etc/grub.d/00_header文件,在进行这步之前要把前面加的明文内容删除掉
[root@ftp-server ~]# vim /etc/grub.d/00_header
#将之前生成的密文复制,替换密码那里即可
cat <<EOF
set superusers="new"
password new grub.pbkdf2.sha512.10000.6BAF206138449A28BF39B8E4ECAB676103DB3AA087FB6394543B77B4856F4EB7A418534083A4E447528D31D68584F28018CE942FC281CB64D688FF8585B8B1CB.6F2AA67A708CFD80A496AAAB3FAAADDE09BF6C04AE76593318E29E1033043B220FB99E0F010FDF83EF278FF7BD230AD53AD27DC3BE6AD6715EF818E1A9C340AB
EOF
保存退出
3. 生成新的grub文件
[root@ftp-server ~]# grub2-mkconfig --output=/boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-1160.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1160.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-eeca7edba2b849d3b9f0797f3cc6e0c5
Found initrd image: /boot/initramfs-0-rescue-eeca7edba2b849d3b9f0797f3cc6e0c5.img
done
4. 判断是否成功
[root@ftp-server ~]# echo $?
0
5. 重启服务器,进入单用户进行测试
这样也成功进入拉,这样别人也每办法看到这个密文形式的密码了,前提一定要将密码自己安全的记录着。
四. 破解grub2 加密
实在是全部忘记完拉,这也是有最后的办法,以下为提供一个简述引导,具体请参阅搜索相关技术文档。
1、镜像引导
2、选择进入救援模式(第三个选项)
3、选择第二个,修复centos
4、选择第一个,下一步(continue)
5、进入系统后,执行 chroot /mnt/sysimage
6、删除 /etc/grub.d/10_linux 中的加密部分
7、重新生成grub文件