CentOS 6.8 GRUB加密-修复和破解密码实战指南

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介:

    CentOS 6.8 GRUB加密和破解密码实战指南


案例1:服务器在公共场合,为了防止随便有人进入单用户破解root密码,先对GRUB引导进行加密,为了更加安全对启动内核时也加密

1、编辑grub配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[root@localhost ~] # openssl passwd -1    //MD5加密转换
Password: 
Verifying - Password: 
$1$X8cVMw5v$AH0aUHVNix7Tx6wmHAXsf1
[root@localhost ~] # vim /etc/grub.conf
# 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  #设定默认启动菜单项,默认为0开始 
timeout=5  #指定菜单等待选择的时长  
splashimage=(hd0,0) /grub/splash .xpm.gz  #指定菜单的背景图片的路径,为xpm格式,采用gzip压缩 
hiddenmenu  #是否影藏菜单 
password --md5 $1$1S9Xy$1MuGZSoPc2vAtkW.jvz0X/  #菜单编辑认证 
title CentOS 6 (2.6.32-642.el6.x86_64)  #定义菜单项 
password 123456  #可以选择明文 
     root (hd0,0)  #本次grub查找stage2及其kernel文件所在设备分区,指定grub的根 
kernel  /vmlinuz-2 .6.32-642.el6.x86_64 ro root=UUID=240533cf-b37f-4460-974f-702bab867da5 nomodeset rd_NO_LUKS  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet  #需要启动的内核  
initrd  /initramfs-2 .6.32-642.el6.x86_64.img  #内核匹配的ramfs文件

2、现在开始重启,当启动时候进入GRUB

wKioL1fWDnTA15hRAABtzrBo0nI822.gif

//现在看下已经没有直接E可以编辑的指令了,让你按P输入密码才能进行操作

3、当我们进行对内核进行编辑,进入单用户,然后看是否能进入内核(需要输入密码,这个密码使我们配置文件的第二个明文的密码)

wKiom1fWDt2A5csFAAEksDMLbfQ974.gif

案例2:我们自己忘了root密码了,,上面已经介绍进入单用户模式了,进入单用户后,直接执行passwd更改root密码,然后重启

wKioL1fWEBLz3iW0AAAPc788HRw566.png

1
[root@localhost /] # reboot

案例3:GRUB密码忘了怎么办

用光盘救援模式清楚GRUB密码


1,用光盘启动,在安装界面选择 Rescue installed system 进入救援模式

2,根据提示选择语言和键盘

3,选择是否配置网卡,选择no

4,根据硬盘上的系统提示已经找到并挂载在/mnt/sysimage下,continue用读写模式加载

5,输入 chroot /mnt/sysimage 改变磁盘根目录

6,然后vi /etc/grub.conf把密码的行删除,然后exit退出,reboot重启

wKiom1fWEjLC60c3AABrN69Rllc552.gif

现在启动看下是否还需要密码

wKiom1fWEt7j-DXcAAEWWDx6cBc166.gif

已经可以正常进入系统了,不需要密码了


问题来了

案例4:如果grub被破坏了导致系统无法启动该怎么办???


通过光盘进入紧急救援模式来进行修复

1,用关盘启动,在安装界面选择 Rescue installed system 进入救援模式

2,根据提示选择语言和键盘

3,选择是否配置网卡,选择no

4,根据硬盘上的系统提示已经找到并挂载在/mnt/sysimage下,continue用读写模式加载

5,输入 chroot /mnt/sysimage 改变磁盘根目录

6,fdisk -l /dev/sda 使用fdisk检查分区

7,grub-install /dev/sda 安装grub引导程序到磁盘/dev/sda的MBR扇区

8,exit

centos 7的安装修复方式

1
2
3
4
sh 3.1 #grub
grub>root(hd0,0)
grub>setup(hd0)
grub>quit

补充2016年9月13日

GRUB启动故障排除案例

  1. MBR中grub损坏,1_5阶段的数据损坏,2阶段的grub损坏

  2. initramfs*.img文件损坏,内核文件损坏

  3. /boot/grub/grub.conf文件丢失

  4. /etc/fstab丢失,无法挂载根等文件系统

  5. /boot 目录全部的文件丢失

解决方法

1. MBR中grub损坏,1_5阶段的数据损坏,2阶段的grub损坏

解决办法,就是救援模式,chroot /mnt/sysimage 改变磁盘根目录 grub-install /dev/sda 安装grub引导程序到磁盘/dev/sda的MBR扇区

2. initramfs*.img文件损坏,内核文件损坏 
 initramfs*.img文件损坏 解决办法

chroot=/mnt/sysimage
mkinitrd /boot/initramfs-`uname -r`.img `uname -r`

内核文件损坏

然后挂载光盘至/mnt目录下, 进入/mnt/Packages/目录下覆盖安装kernel包, 
rpm -ivh–replacepkgs kernel-VERSION.rpm –root=/mnt/sysimage –force 安装完成后会在/boot目录下自动生成相应版本的vmlinuz文件. 
(前提是内核版本未更新, 和光盘中的内核版本一致)

3. /boot/grub/grub.conf文件丢失 
这个新建一个写上引导等信息就行 
4. /etc/fstab丢失,无法挂载根等文件系统 
同样新建一个/etc/fatab、填写上挂载信息
lvm 的话需要激活lvm逻辑卷 
5. /boot 目录全部的文件丢失 
结合上面,先MBR修复,然后内核文件修复和initramfs*.img文件 修复

本文转自 好笔记运维 51CTO博客,原文链接:http://blog.51cto.com/zhang789/1851885,如需转载请自行联系原作者

相关文章
|
22天前
|
存储 SQL 安全
网络安全的盾牌:漏洞防护与加密技术的实战应用
【8月更文挑战第27天】在数字化浪潮中,信息安全成为保护个人隐私和企业资产的关键。本文深入探讨了网络安全的两大支柱——安全漏洞管理和数据加密技术,以及如何通过提升安全意识来构建坚固的防御体系。我们将从基础概念出发,逐步揭示网络攻击者如何利用安全漏洞进行入侵,介绍最新的加密算法和协议,并分享实用的安全实践技巧。最终,旨在为读者提供一套全面的网络安全解决方案,以应对日益复杂的网络威胁。
|
15天前
|
Oracle Java 关系型数据库
CentOS 7.6操作系统部署JDK实战案例
这篇文章介绍了在CentOS 7.6操作系统上通过多种方式部署JDK的详细步骤,包括使用yum安装openjdk、基于rpm包和二进制包安装Oracle JDK,并提供了配置环境变量的方法。
170 80
|
15天前
|
存储 Kubernetes 负载均衡
CentOS 7.9二进制部署K8S 1.28.3+集群实战
本文详细介绍了在CentOS 7.9上通过二进制方式部署Kubernetes 1.28.3+集群的全过程,包括环境准备、组件安装、证书生成、高可用配置以及网络插件部署等关键步骤。
98 3
CentOS 7.9二进制部署K8S 1.28.3+集群实战
|
15天前
|
存储 Linux Docker
CentOS 7.6安装Docker实战案例及存储引擎和服务进程简介
关于如何在CentOS 7.6上安装Docker、介绍Docker存储引擎以及服务进程关系的实战案例。
58 3
CentOS 7.6安装Docker实战案例及存储引擎和服务进程简介
|
15天前
|
Linux pouch 容器
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
关于如何在CentOS 7.6操作系统上安装和使用阿里巴巴开源的Pouch容器管理工具的实战教程。
51 2
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
|
6天前
|
存储 安全 数据安全/隐私保护
安全升级!Python AES加密实战,为你的代码加上一层神秘保护罩
【9月更文挑战第12天】在软件开发中,数据安全至关重要。本文将深入探讨如何使用Python中的AES加密技术保护代码免受非法访问和篡改。AES(高级加密标准)因其高效性和灵活性,已成为全球最广泛使用的对称加密算法之一。通过实战演练,我们将展示如何利用pycryptodome库实现AES加密,包括生成密钥、初始化向量(IV)、加密和解密文本数据等步骤。此外,还将介绍密钥管理和IV随机性等安全注意事项。通过本文的学习,你将掌握使用AES加密保护敏感数据的方法,为代码增添坚实的安全屏障。
21 8
|
18天前
|
运维 安全 应用服务中间件
自动化运维的利器:Ansible入门与实战网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【8月更文挑战第30天】在当今快速发展的IT时代,自动化运维已成为提升效率、减少错误的关键。本文将介绍Ansible,一种流行的自动化运维工具,通过简单易懂的语言和实际案例,带领读者从零开始掌握Ansible的使用。我们将一起探索如何利用Ansible简化日常的运维任务,实现快速部署和管理服务器,以及如何处理常见问题。无论你是运维新手还是希望提高工作效率的资深人士,这篇文章都将为你开启自动化运维的新篇章。
|
15天前
|
Kubernetes Linux API
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
该博客文章详细介绍了在CentOS 7.6操作系统上使用kubeadm工具部署kubernetes 1.17.2版本的测试集群的过程,包括主机环境准备、安装Docker、配置kubelet、初始化集群、添加节点、部署网络插件以及配置k8s node节点管理api server服务器。
46 0
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
|
20天前
|
算法 安全 数据安全/隐私保护
Android经典实战之常见的移动端加密算法和用kotlin进行AES-256加密和解密
本文介绍了移动端开发中常用的数据加密算法,包括对称加密(如 AES 和 DES)、非对称加密(如 RSA)、散列算法(如 SHA-256 和 MD5)及消息认证码(如 HMAC)。重点讲解了如何使用 Kotlin 实现 AES-256 的加密和解密,并提供了详细的代码示例。通过生成密钥、加密和解密数据等步骤,展示了如何在 Kotlin 项目中实现数据的安全加密。
56 1
|
21天前
|
算法 安全 数据安全/隐私保护
Android经典实战之常见的移动端加密算法和用kotlin进行AES-256加密和解密
本文介绍了移动端开发中常用的数据加密算法,包括对称加密(如 AES 和 DES)、非对称加密(如 RSA)、散列算法(如 SHA-256 和 MD5)及消息认证码(如 HMAC)。重点展示了如何使用 Kotlin 实现 AES-256 的加密和解密,提供了详细的代码示例。
28 2