Centos密码破解大全

一、摘要

centos的root密码忘记了怎么办?通常有两种情况:一种是还处于登陆ROOT的过程中,突然想不起来密码了,这种情况我们可以尝试对ROOT密码进行破解;另一种是退出ROOT忘记密码登陆不上,这种情况我们就要选择对ROOT密码进行修改。

二、破解密码的情况

1、shadow文件解析知识点

/etc/shadow(保存用户密码的文件)
文件里面的数据是加密的{加密后的口令密码}的格式为 $id$salt$encrypted
id为1时,采用md5算法加密
id为5时,采用SHA256算法加密
id为6时,采用SHA512算法加密
salt为盐值,是对密码进行hash的一个干扰值
encrypted为散列值

2、John the Ripper

John the Ripper是一个流行的口令破解工具,它支持Windows和Linux台,是一个开源软件。(也有收费版本)
官方地址:http://www.openwall.com/john 可以复制下载链接使用wget下载。
image

安装John the Ripper:
wget https://www.openwall.com/john/k/john-1.9.0.tar.gz --no-check-certificate
image

tar -xvf john-1.9.0.tar.gz(解压)
image

cd john-1.9.0/src/
image

make clean linux-x86-64(make clean 自己的操作系统)
image
image

cd ../run/
破解
password.txt和john.pot都在run下

./unshadow /etc/passwd /etc/shadow > password.txt
将shadow文件导入password.txt,也可以直接复制shadow文件中所有字段
image

./john password.txt #对散列值进行破解
image

cat john.pot #查看破解结果
image

john工具对于同一个shadow文件只会进行一次爆破,如果第二次执行john shadow是不会得到结果的,只会得到如下输出。

点击查看代码
Warning: detected hash type "md5crypt", but the string is also recognized as "md5crypt-long"
Use the "--format=md5crypt-long" option to force loading these as that type instead
Using default input encoding: UTF-8
Loaded 1 password hash (md5crypt, crypt(3) $1$ (and variants) [MD5 128/128 AVX 4x3])
No password hashes left to crack (see FAQ)
如果想查看上一次爆破的结果,可以使用以下命令。 john --show password

三、需要修改ROOT密码的情况

1.开机输入e 编辑

首先,启动系统,进入开机界面,在界面中按“e”进入编辑界面,如图

2.输入 init = /bin/sh

进入编辑界面,使用键盘上的上下键把光标往下移动,找到以“Linux16”开头内容所在的行数,在行的最后面输入:init=/bin/sh,如图
image
如果不确定系统是否开启了Selinux或者刚装完没有修改过的系统,则最好用下面的方法解决:既在以字符串“Linux16”开头的行,将光标移动到该行的结尾,然后输入“init=/bin/bash enforcing=0”(前者作用让系统登录后加载bash解释器,后者是且关闭Selinux)

3.ctrl + x 单用户模式

输入完成后,直接按快捷键:Ctrl+x 进入单用户模式

4.输入mount -o remount,rw/

接着,在光标闪烁的位置输入:mount -o remount,rw/ (注意:各个单词之间有空格),完成后按键盘间的回车。如图
image
“mount -o rw,remount /”命令是重新挂载根目录为可写状态(rw表示可写,remount是重新挂载),在单用户模式下默认根文件系统是处于只读状态。

5.passwd修改密码

在新的一行最后面输入:passwd,完成后按键盘的回车键。输入密码,然后再次确认密码即可(密码最好是8位以上,但不是必须的),密码修改完成后,会电视passwd.....的样式,说明密码修改成功
image

6.输入 touch /.autorelabel

接着,在鼠标闪烁的位置,输入:touch /.autorelabel(注意:touch与 /后面有一个空格),完成后按键盘的回车键
注意:如果是系统的SELinux处于开启状态,并且前文修改内核选项时,没有增加“enforcing=0”,则此处需要多执行一条“touch /.autorelabel”命令以便在下次系统引导前重新标记系统中的所有相关文件,因为在SELinux开启时,修改root密码时修改password文件会导致SELinux安全上下文报错,如果前文修改内核选项时,已增加“enforcing=0”,那么在修改密码文件时,Selinux是关闭状态,因此,就不需要执行“touch /.autorelabel”命令了。

7.输入exec /sbin/init密码生效

继续在光标闪烁的位置中,输入:exec /sbin/init(注意:exec与/之间有一个空格),完成后按键盘的回车键,等待系统自动修改密码(时间可能有点长),完成后,系统会自动重启,新的密码生效。
image
配置完后,执行exec /sbin/init命令重启系统,注意,此时,无法使用其它重启命令

posted @ 2021-10-25 15:29  L杂货店  阅读(1906)  评论(0编辑  收藏  举报
返回顶端 levels of contents