忘記Linux根口令 |
發(fā)布時(shí)間: 2012/9/8 16:25:32 |
有許多原因可能導(dǎo)致用戶口令的遺失,這對(duì)系統(tǒng)管理員而言,可能不是一個(gè)問(wèn)題,只要以Root賬號(hào)登錄,再用Passwd命令更改用戶口令就可以了。可是,如果丟失的是Root口令,這又怎么辦?難道就束手無(wú)策、重裝系統(tǒng)?這樣不僅費(fèi)時(shí)費(fèi)力,而且還可能造成重要數(shù)據(jù)的丟失和應(yīng)用程序的破壞。顯然這種做法并不可取。 ---- 其實(shí),恢復(fù)Linux口令并不是一件很難的事情。Linux口令的恢復(fù)有2個(gè)方面: 一是給用戶產(chǎn)生一個(gè)新的口令,使用戶能夠重新登錄系統(tǒng); 二是找出用戶原來(lái)的口令,而不是以新口令代替舊口令。一般情況下,用戶只希望能夠再次登錄進(jìn)入系統(tǒng)即可,而不是獲得原口令,也就是這里所說(shuō)的第一個(gè)方面,相對(duì)而言,這方面要容易實(shí)現(xiàn)得多。 -
---- 本文中所有提到的恢復(fù)Linux口令的方法均在實(shí)踐中測(cè)試通過(guò),所用的Linux系統(tǒng)主要是RedHat Linux For x86,在實(shí)際口令恢復(fù)中,可能因Linux發(fā)行商、發(fā)行版本、處理器和硬盤(pán)等的不同而略有不同,但相差不會(huì)很大。其中一些方法也適用于其他Unix系統(tǒng)口令的恢復(fù),甚至Windows等操作系統(tǒng)口令的恢復(fù)。 一、口令恢復(fù)途徑 ---- 下面恢復(fù)Linux口令的途徑適用于不同的情況,難易度各有不同。 ---- 1. 緊急修復(fù)模式 ---- 在無(wú)法啟動(dòng)Linux時(shí),常常需要通過(guò)磁盤(pán)、光盤(pán)或其他方法啟動(dòng)Linux基本環(huán)境,進(jìn)入Linux緊急修復(fù)模式。在緊急修復(fù)模式下,能夠訪問(wèn)硬盤(pán)上的Linux系統(tǒng)文件,恢復(fù)系統(tǒng)正常,包括恢復(fù)口令等。 ---- 2. 單用戶模式 ---- Linux有多個(gè)運(yùn)行級(jí)別,如單用戶模式、無(wú)網(wǎng)絡(luò)服務(wù)多用戶模式、完全多用戶模式和X11圖形多用戶模式等運(yùn)行級(jí)別。單用戶模式是指系統(tǒng)運(yùn)行在惟一用戶——Root用戶模式下,進(jìn)入此模式時(shí),系統(tǒng)只是加載了可運(yùn)行的最低軟硬件配置,以Root直接進(jìn)入,沒(méi)有口令驗(yàn)證。 ---- 在單用戶模式下,可以用passwd命令來(lái)更改用戶口令,也可以直接對(duì)/etc/passwd等賬戶口令文件進(jìn)行讀寫(xiě),達(dá)到口令恢復(fù)的目的。 ---- 3. 修改口令文件 ---- Linux口令文件有2種保存形式: 一種是把賬戶信息和經(jīng)加密后的口令密文都保存在/etc/passwd文件中,此形式不夠安全,在早期Unix中采用;另一種是把賬戶信息和口令密文分開(kāi)存放,/etc/passwd文件用于保存賬戶信息,/etc/shadow文件用于保存口令密文。至于采用何種保存形式和加密算法,可以用/usr/sbin/authconfig程序來(lái)設(shè)置。 ---- 對(duì)于沒(méi)有shadow的passwd文件,只要把相應(yīng)賬戶的口令字段刪除,即可不經(jīng)口令驗(yàn)證直接登錄系統(tǒng),例如某passwd文件的root賬戶如下: ---- root:$1$dPTzzYkE$Zd3Vs6yCu ---- VH8RC1gwKXX01:0:0:root:/root:/bin/bash ---- 將其修改為: ---- root::0:0:root:/root:/bin/bash ---- 如果是有shadow的passwd文件,其口令字段以“x”字母代替,口令密文保存在Shadow文件中。可以刪除passwd文件中的“x”字母,或者刪除shadow文件中的口令密文,都可以使相應(yīng)用戶不經(jīng)口令驗(yàn)證直接登錄系統(tǒng),達(dá)到口令恢復(fù)的目的。 ---- 4. 口令還原 ---- 有些情況下,想找出被丟失的原始口令,而不是登錄系統(tǒng)去產(chǎn)生一個(gè)新的口令。但是,Linux使用的是DES(加密函數(shù)式是Crypt)或MD5(函數(shù)式是Md)加密算法,由于計(jì)算量之大,它們幾乎都沒(méi)有可能被逆向破解。DES口令密文是有13個(gè)ASCII字符的字符串,而MD5口令密文的啟始字符總是“$1$”。 ---- 雖然很難逆向破解,但要通過(guò)口令密文找出原始口令也不是不可能的,從一個(gè)字典或一些字符的排列組合中提取字符串,提取出來(lái)的字符串用同樣的加密算法加密,將產(chǎn)生的密文與口令密文比較,如果一致則表明該字符串即為原始口令,從而達(dá)到口令還原的目的。如果口令很復(fù)雜,使用此種方法也是很難找出原始口令的,但用戶對(duì)自己口令的長(zhǎng)度、采用的字符等會(huì)有大致的印象,這使得成功的可能性會(huì)更大。 ---- 破解Linux口令的工具有很多,如John the Ripper、Crack by Alex Muffett和Cracker Jack等等,其中John the Ripper的功能最為強(qiáng)大,速度也最快。 ---- 5. 系統(tǒng)攻擊破解 ---- 如果能夠關(guān)閉電源重新啟動(dòng)系統(tǒng),那么很容易恢復(fù)口令,但有時(shí)Linux系統(tǒng)上運(yùn)行著非常重要的服務(wù),不能直接關(guān)閉電源,否則會(huì)對(duì)系統(tǒng)和數(shù)據(jù)產(chǎn)生破壞。 ---- 像這種在系統(tǒng)運(yùn)行的情況下獲得系統(tǒng)口令,往往是比較困難的,但由于系統(tǒng)管理員對(duì)操作系統(tǒng)和應(yīng)用程序的版本、配置等情況有著全面的了解,加上沒(méi)有防火墻和入侵檢測(cè)系統(tǒng)等的防護(hù),那么發(fā)現(xiàn)和利用系統(tǒng)漏洞的機(jī)會(huì)還是不少的,口令恢復(fù)的成功機(jī)會(huì)還是有的。 ---- 這方面涉及的內(nèi)容太復(fù)雜,在此就不多做介紹了。如果確有這方面的需求,最好由專業(yè)人士來(lái)幫忙,以免破壞系統(tǒng)和數(shù)據(jù)。 本文出自:億恩科技【mszdt.com】 服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |