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命令重啟系統,注意,此時,無法使用其它重啟命令


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM