感谢支持
我们一直在努力

Linux基础知识:RedHat 6 解密grub 恢复grub方法

今天课上,老师讲了RHEL的启动顺序和Grub的更改,加密等操作,回到家里闲来无事,自己试了试,结果一试可以,二试就出事了~~~~

grub文件位于/boot/grub/grub.conf中,这是编写启动目录、启动顺序、启动超时、grub加密设置的,具体格式如下:

 

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/sda2
#          initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
password --md5 $1$BS8He0$apeFnXu/6fJ5wU5vGdtZV1
hiddenmenu 
title Red Hat Enterprise Linux (
2.6.32-131.0.15.el6.i686)
root (hd0,
0)
kernel
/vmlinuz-2.6.32-131.0.15.el6.i686 ro root=UUID=c0113efd-0492-41ee-b6ab-a0c5071ea769 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet initrd /initramfs-2.6.32-131.0.15.el6.i686.img

 

  大体上是这样的,课上老师先讲的怎么知道root密码,听完”火了“,这RHEL怎么就这么不安全呢??不费吹灰之力就能把root权限得到,这个也太不行了吧。于是就自己尝试给grub添加密码,增加系统的安全性。

  首先在spalashimage下边一行加上生成的grub-md5-crypt的MD5加密值,这里的格式如下

  

password --md5 XXXXXXXX   #这里的XXXXX代表生成密码

  reboot了一下,不错,输入设定的密码,可以加载启动,于是开始尝试把这行密码放在root下边,恩,也不错,这样可以无论怎么启动都需要密码:

  先总结下:

#  密码放在splashimage=(hd0,0)/grub/splash.xpm.gz 下可以对grub可以选择的菜单加密,也就是说对通过单用户启动的passwd来破解密码有一定的 防护作用
#  密码放在title下,可以实现对所有的加载程序加密,也就是无论怎么启动,从哪里启动都需要密码

  于是也试试放在别的地方,别的地方也没什么好说的了,就说说我怎么出问题的地方吧,

  在这一行拷贝过程中,发现  md5前边有两个”-“,一个”-“可以吗,于是试了试,这时候这一行是放在title下,可以预见,如果使用密码启动,说明两个和一个的”-“是一样的作用,但是如果不能启动,那说明我的系统也就完蛋了~~~

  结果是我的系统完蛋了~~~~

  在网上找了找资料,还真有破解grub密码的资料,有的版本有些过时,现在给大家写出来,有问题的时候有个参考(勿做Cracker!)

  首先准备RedHat 的安装光盘(我的是6.1的,直接用的镜像,vmware虚拟机),然后按F2选择从CD-ROM启动,选择倒数第二个(中间有一个boot的),直接enter就行了

  这是进入的Linux rescue模式,这里可以帮你更改grub的文件,选择一个语言和键盘,这里好像有个选择恢复的文件在哪里,我选择的是cd-rom(忘了确切的位置),网络不需要设置的,系统会提示挂载,必须OK,然后进入bash界面,这里的bash功能不是很全,但还是可以使用的。

  首先当然是  cd / 然后 ls一下看看有什么东西,哇塞,怎么和正常的Linux那么像啊?!不过找了一下没有boot目录,也就是说你不能在这里改了;然后网上说可以改/etc/grub.conf,但我确实没找到。

  汗啊,怎么就找不到呢??? 难道我真的要重新安装了吗??于是想想,既然是挂载上来的文件,那么挂载目录里会不会有?于是

  cd /mnt

  ls

  打开sysimage猛然发现boot目录,马上看看有没有grub.conf 没有,结果真有,用vi打开(这个bash没有vim),加上一个”-“,重启OK

  总算有惊无险。

赞(0) 打赏
转载请注明出处:服务器评测 » Linux基础知识:RedHat 6 解密grub 恢复grub方法
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏