999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

彩虹表在MySQL密碼破解中的運(yùn)用研究

2016-12-13 07:22:59莊小妹
關(guān)鍵詞:方法

莊小妹

(廣東培正學(xué)院計(jì)算機(jī)科學(xué)與工程系,廣東廣州 510830)

?

彩虹表在MySQL密碼破解中的運(yùn)用研究

莊小妹

(廣東培正學(xué)院計(jì)算機(jī)科學(xué)與工程系,廣東廣州 510830)

本文運(yùn)用Cain和RainbowCrack兩種工具生成MySQLSHA1彩虹表,并對(duì)兩種工具進(jìn)行了比較。通過(guò)實(shí)驗(yàn)分析可知,兩個(gè)工具結(jié)合使用是生成MySQL彩虹表的最佳方案,而密碼的破解使用RainbowCrack要優(yōu)于Cain。同時(shí),本文探討了彩虹表鏈長(zhǎng)、鏈數(shù)和磁盤空間之間的關(guān)系,研究了影響彩虹表生成時(shí)間的參數(shù),分析了影響彩虹表密碼破解時(shí)間的因素。

時(shí)間-內(nèi)存平衡法;彩虹表;MySQL;數(shù)據(jù)庫(kù)密碼破解

滲透測(cè)試技術(shù)是目前網(wǎng)絡(luò)安全的熱門技術(shù),密碼破解是滲透測(cè)試中經(jīng)常遇到的環(huán)節(jié)。在獲得hash值的情況下,如何破解MySQL數(shù)據(jù)庫(kù)的密碼是網(wǎng)絡(luò)攻防中的常見(jiàn)問(wèn)題。MySQL密碼的破解主要有三種方法:字典法、暴力破解法和彩虹表方法。其中,字典法速度快,但命中概率比較低;暴力破解法所需時(shí)間比較長(zhǎng);彩虹表方法結(jié)合兩者的優(yōu)勢(shì),提供了一種有效的快速破解MySQL密碼的方法。本文主要討論基于彩虹表的MySQL數(shù)據(jù)庫(kù)密碼的破解,破解了MySQL數(shù)據(jù)庫(kù)密碼,就能通過(guò)正常途徑來(lái)訪問(wèn)數(shù)據(jù)庫(kù),一方面可以直接對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行操作,另一方面可以提升權(quán)限。因此,探討MySQL密碼的破解在網(wǎng)絡(luò)攻防過(guò)程中有重要的意義[1]。

1 時(shí)間-內(nèi)存平衡法和彩虹表

彩虹表其實(shí)就是某種hash值的集合,但它的奇妙之處在于:它并不是明文和其hash值簡(jiǎn)單的一一對(duì)應(yīng)表,因?yàn)檫@樣的表需要巨大的磁盤空間作為代價(jià)。事實(shí)上,彩虹表存儲(chǔ)是經(jīng)過(guò)某種變換的“hash”值,經(jīng)過(guò)變換,磁盤空間大為減少,而根據(jù)這些值可以巧妙破解密碼。彩虹表的生成和破解都需要使用時(shí)間-內(nèi)存平衡法。

1.1 時(shí)間-內(nèi)存平衡法

最早的時(shí)間-內(nèi)存平衡法(Time-Memory Trade-Off)是Martin Hellman在1980年提出的[2],現(xiàn)在一般簡(jiǎn)稱為時(shí)空折中方法或者是TMTO方法。其中,有一個(gè)函數(shù)是特別重要的,那就是歸約函數(shù)(Reduce Function),通常簡(jiǎn)稱為R函數(shù),R函數(shù)的作用是將hash值映射為明文。假設(shè)H表示hash函數(shù),M表示明文,h表示hash值,則h=H(M),而R(h)=M1,M與M1并沒(méi)有相似之處。如果從一個(gè)明文出發(fā),先散列,對(duì)生成散列值歸約,對(duì)歸約的明文再散列,再歸約,如此反復(fù)多次,則得到一條明文與散列值交替的數(shù)據(jù)鏈。然后,僅記錄數(shù)據(jù)鏈的第一個(gè)節(jié)點(diǎn)和最后一個(gè)節(jié)點(diǎn),即相當(dāng)于存儲(chǔ)了整條鏈的信息,從而大大地減少了磁盤空間[3]。

TMTO破解hash值的基本思想是:如果hash值在彩虹表的某條鏈上,則由該散列值出發(fā),經(jīng)過(guò)若干次的歸約、散列、歸約,得到的結(jié)果應(yīng)與該鏈最后一個(gè)節(jié)點(diǎn)的值相等。而由該鏈的第一個(gè)節(jié)點(diǎn)出發(fā),經(jīng)過(guò)一系列交替的散列和歸約,應(yīng)可重新生成該散列值并找到散列前的明文,從而實(shí)現(xiàn)破解[3]。

1.2 彩虹表

TMTO方法在所有的鏈上使用了同一個(gè)歸約函數(shù),這使得不同的鏈上可能產(chǎn)生碰撞,即不同的輸入產(chǎn)生同一個(gè)輸出,降低了破解的效率。2003年,Oechslin對(duì)TMTO方法作相對(duì)簡(jiǎn)單的修改,即在鏈上的不同位置使用不同的歸約函數(shù)[4],采用Oechslin的方法生成的鏈表就是彩虹表,雖然是簡(jiǎn)單的修改,效果卻是顯著的,因?yàn)樗鼫p少了碰撞的發(fā)生,提高了破解的效率。

1.3 彩虹表的應(yīng)用

目前,彩虹表破解密碼已經(jīng)是世界上最為先進(jìn)的破解方法,已有多個(gè)文獻(xiàn)探討彩虹表在不同的密碼破解中的應(yīng)用。其中,李超[5]研究了彩虹表用于破解PDF文檔的密碼,破解速度比暴力破解快了50000倍;方海英[6]提到彩虹表用于破解Word文檔的密碼;李筱筱[7]探討了彩虹表用于破解PowerPoint文檔密碼。可見(jiàn),彩虹表在密碼破解領(lǐng)域得到廣泛的應(yīng)用。

2 MySQL用戶密碼的加密

MySQL速度快、體積小、功能強(qiáng)大,而且是一種開(kāi)源的數(shù)據(jù)庫(kù)系統(tǒng),也是很多WEB站點(diǎn)后臺(tái)所采用的數(shù)據(jù)庫(kù)系統(tǒng)。MySQL的每一個(gè)表由三個(gè)文件組成,分別是.frm文件、.myd文件和.myi文件。連接MySQL的用戶名和密碼信息存儲(chǔ)在USER表中。打開(kāi)user.myd可查看root用戶的密碼,該密碼經(jīng)過(guò)SHA1加密獲得。MySQL實(shí)際上是使用了兩次SHA1夾雜一次unhex的方式對(duì)用戶密碼進(jìn)行了加密,具體的算法可以用公式表示,即password_str=concat(’*’,SHA1(unhex(SHA1(password)))),得到41位密碼[8],把*刪除后,密碼是40位。本文MySQLSHA1密碼的破解是指40位密碼的破解。

3 基于彩虹表的MySQL用戶密碼的破解

3.1 彩虹表的獲得方法

彩虹表的獲得方法主要有三種:一是通過(guò)互聯(lián)網(wǎng)下載;二是花錢購(gòu)買;三是使用工具生成。互聯(lián)網(wǎng)下載的彩虹表大都是基于MD5或者是NTLM hash或LM hash的。例如,開(kāi)源項(xiàng)目ophcrack提供的彩虹表有table-xp-free-small,table-xp-free-fast,table-xp-special。這幾個(gè)彩虹表能夠迅速恢復(fù)或破解密碼長(zhǎng)度小于14位的Windows密碼,但對(duì)于破解md5、SHA1的密碼或MySQL數(shù)據(jù)庫(kù)的密碼則無(wú)能為力。有些彩虹表的大小可達(dá)上百G,在網(wǎng)速不理想的情況下,時(shí)間的成本也是相當(dāng)可觀的。由于MySQL使用的哈希算法是SHA1,而從互聯(lián)網(wǎng)下載的SHA1彩虹表一般是rti,這并不是破解工具Cain和RainbowCrack所支持的格式。因此,使用工具生成彩虹表是破解MySQL密碼的一個(gè)最佳的方案。

3.2 彩虹表的生成方法

彩虹表用于破解密碼是很快速的,但生成彩虹表的時(shí)間通常是很漫長(zhǎng)的,一般根據(jù)明文的空間、明文的長(zhǎng)度以及生成彩虹表的參數(shù)不同而變化。生成彩虹表的參數(shù)主要有三個(gè):鏈的長(zhǎng)度、鏈的數(shù)目以及彩虹表的個(gè)數(shù)。為了縮短彩虹表生成的時(shí)間,目前多數(shù)采用GPU的方式來(lái)生成彩虹表。簡(jiǎn)玲[9]比較了普通計(jì)算機(jī)與GPU生成彩虹表的時(shí)間,從中可以看出,GPU生成彩虹表的時(shí)間大為減少,但該方法的成本昂貴。李聰[10]提供了一種基于分布式彩虹表的生成方法,但此方法比較復(fù)雜且步驟多。在普通的計(jì)算機(jī)環(huán)境下,使用現(xiàn)成工具生成彩虹表是最為快捷的方法,生成彩虹表的工具目前主要有Cain和RainbowCrack。本文的實(shí)驗(yàn)環(huán)境如表1所示。

表1 實(shí)驗(yàn)環(huán)境

3.3 彩虹表生成工具比較

Cain是一個(gè)免費(fèi)的密碼破解軟件,它提供了能夠生成彩虹表的工具Winrtgen。Winrgen運(yùn)行在Windows系統(tǒng),能夠生成的彩虹表類型很多,包括MD5、NTLM hash、MySQLSHA1等。該工具支持的明文空間包括數(shù)字、小寫字母、大寫字母、混合字母、特殊符號(hào)、所有字符等。Winrtgen生成彩虹表的優(yōu)點(diǎn)是:使用方便;對(duì)明文的長(zhǎng)度沒(méi)有限制;可預(yù)測(cè)生成彩虹表的時(shí)間以及該彩虹表用于密碼破解的時(shí)間;還提供了彩虹表占用空間的大小以及破解的成功率;當(dāng)調(diào)整彩虹表鏈長(zhǎng)以及鏈的個(gè)數(shù)時(shí),這些預(yù)測(cè)的數(shù)據(jù)都自動(dòng)變化和顯示。

RainbowCrack是一個(gè)開(kāi)源的工具,其主要作用是實(shí)現(xiàn)Philippe Oechslin的時(shí)間內(nèi)存平衡法。與Cain不同,RainbowCrack所提供功能主要通過(guò)命令行的方式來(lái)實(shí)現(xiàn),其中rtgen.exe的作用是生成彩虹表,rtsort.exe的作用是對(duì)彩虹表排序,rcrack.exe是利用彩虹表破解hash值。rtgen所支持的hash算法封裝在alglib0.dll中。

rtgen所支持的明文類型存放在文本文件charset.txt中,rtgen所生成的彩虹表的格式是rt,這個(gè)文件必須經(jīng)過(guò)rtsort處理后才能用于破解,否則提示格式不正確。排序后的彩虹表能更好地進(jìn)行匹配。通過(guò)實(shí)驗(yàn)發(fā)現(xiàn),rtsort不僅可以處理rtgen所生成的彩虹表,而且也可以處理Cain所生成的彩虹表。不過(guò),Cain所生成的彩虹并不需要排序處理,直接可以用于破解。Cain與RainbowCrack功能的比較如表2所示。

表2 Cain與RainbowCrack功能的比較

從CPU占用率可以看出,Cain生成彩虹表是用單線程來(lái)實(shí)現(xiàn)的。為了比較Cain與RainbowCrack生成彩虹表的效率,使用同一臺(tái)計(jì)算機(jī)分別生成了一個(gè)8位的明文空間為數(shù)字的MySQL彩虹表和長(zhǎng)度為6位的數(shù)字+小寫字母的MySQLSHA1彩虹表,結(jié)果如表3所示。

表3 Cain與RainbowCrack生成彩虹表時(shí)間的比較

在參數(shù)相同的情況下,RainbowCrack生成的時(shí)間大大少于Cain所花費(fèi)的時(shí)間,但RainbowCrack并不能預(yù)測(cè)破解成功率,也不能預(yù)算生成彩虹表所需要的時(shí)間以及破解所需要的時(shí)間。根據(jù)以上的實(shí)驗(yàn)分析發(fā)現(xiàn),在普通計(jì)算機(jī)的環(huán)境下,兩個(gè)工具的結(jié)合是最優(yōu)的,即先通過(guò)Cain設(shè)置好彩虹表的參數(shù)并且進(jìn)行預(yù)算,再通過(guò)RainbowCrack執(zhí)行彩虹表的生成。成功生成彩虹表后,RainbowCrack顯示實(shí)際所使用的時(shí)間。

3.4 影響彩虹表的占用空間和生成時(shí)間的因素分析

彩虹表的生成不僅要考慮時(shí)間的成本,還要考慮磁盤空間以及破解的成功率以及破解的時(shí)間。關(guān)于破解的成功率,Oechslin在他的論文中給出一個(gè)計(jì)算公式,而生成時(shí)間和磁盤空間可通過(guò)實(shí)驗(yàn)發(fā)現(xiàn)其中的規(guī)律。表4顯示使用Cain生成MySQLSHA1彩虹表時(shí),彩虹表的鏈長(zhǎng)、鏈數(shù)與占用磁盤空間關(guān)系。

表4 鏈長(zhǎng)、鏈數(shù)與磁盤空間的關(guān)系

從表4的第一行和第二行可以看出,當(dāng)鏈數(shù)不變的情況下,即使鏈長(zhǎng)發(fā)生了變化,占用的空間并沒(méi)有變化;從第三行和第四行可以看出,在鏈長(zhǎng)x鏈數(shù)(即總節(jié)點(diǎn)數(shù))不變情況下,鏈數(shù)越大,磁盤空間越大;從第五行和第六行可以看出,當(dāng)鏈數(shù)增加為原來(lái)的10倍時(shí),磁盤的空間也增加為原來(lái)的10倍,可見(jiàn)彩虹表占用空間只與鏈數(shù)有關(guān),與鏈長(zhǎng)無(wú)關(guān)。

表5 鏈長(zhǎng)、鏈數(shù)與生成時(shí)間和破解時(shí)間的關(guān)系

從表5可以看出,當(dāng)鏈長(zhǎng)x鏈數(shù)(即總的節(jié)點(diǎn)數(shù))不變時(shí),無(wú)論鏈長(zhǎng)與鏈數(shù)如何變化,生成的時(shí)間基本相同,可見(jiàn)生成表的時(shí)間與總節(jié)點(diǎn)數(shù)相關(guān)。彩虹表的生成也必須考慮破解的時(shí)間,在總節(jié)點(diǎn)數(shù)不變的情況下,鏈長(zhǎng)越短,破解的時(shí)間越短,而付出的代價(jià)是磁盤空間越大。時(shí)間與空間此消彼長(zhǎng),這也正符合了時(shí)空折中算法的描述。

3.5 基于彩虹表的MySQL密碼的破解

獲得MySQL用戶密碼的hash值后,就可以利用Cain或RainbowCrack進(jìn)行破解。Cain的破解比較簡(jiǎn)單,因?yàn)樗峁┑氖且环N圖形操作界面,可以直接復(fù)制hash值進(jìn)行破解,也可以通過(guò)ODBC將hash值導(dǎo)入進(jìn)行破解。破解所使用的彩虹表可以是Cain生成的,也可以是RainbowCrack生成的。破解成功后,兩種工具都顯示破解所使用的時(shí)間。

表6 破解時(shí)間的比較

從表6可以看出,RainbowCrack的破解時(shí)間與Cain并無(wú)太大的區(qū)別,而Cain提供的是一種圖形操作界面,從而使用更為方便。在破解失敗時(shí),RainbowCrack給出的提示更快一些。有時(shí)Cain還會(huì)發(fā)生彩虹表讀取失敗的情況,穩(wěn)定性稍遜。所以,破解時(shí)使用RainbowCrack是一種更優(yōu)的方案。

4 結(jié)論

在MySQL用戶密碼的破解方法中,彩虹表方法的破解是最快的。但MySQLSHA1彩虹表并不適合從互聯(lián)網(wǎng)下載,需要用戶自己生成。彩虹表的生成主要設(shè)置鏈長(zhǎng)和鏈數(shù)。通過(guò)對(duì)Cain和RainbowCrack兩個(gè)工具的實(shí)驗(yàn)和比較分析,發(fā)現(xiàn)Cain能較好地預(yù)算彩虹表的生成時(shí)間、磁盤占用空間、破解成功率和破解時(shí)間,但生成表的時(shí)間較長(zhǎng);而RainbowCrack因?yàn)椴捎枚嗑€程,生成彩虹表的時(shí)間比Cain大為減少。可得出Cain+RainbowCrack是一個(gè)最佳的生成MySQLSHA1彩虹表的方案。彩虹表占用空間只與鏈數(shù)有關(guān),與鏈長(zhǎng)無(wú)關(guān)。在鏈長(zhǎng)x鏈數(shù)的值不變的情況下,鏈長(zhǎng)越短則破解時(shí)間越快,而鏈數(shù)越大,則占用空間越大。

[1]陳小兵,范淵,孫立偉.Web滲透及技術(shù)實(shí)戰(zhàn)案例解析[M].北京:電子工業(yè)出版,2012:66-67.

[2]蘇烈華,李恒訓(xùn),李鎖雷.基于時(shí)空折中算法的密碼分析系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].信息網(wǎng)絡(luò)安全,2013(5):42-46.

[3]王小鑒,廖曉峰,黃宏宇.基于歸約函數(shù)數(shù)量裁減的彩虹表技術(shù)改進(jìn)[J].計(jì)算機(jī)程,2013(7):156-160.

[4]榮凱,邱衛(wèi)東,李萍.基于彩虹表的hash攻擊研究[J].信息安全與通信保密,2011(4):74-76.

[5]李超,陳丹偉.基于彩虹表的PDF文檔口令破解研究[J].計(jì)算機(jī)應(yīng)用與軟件,2012(10):137-139.

[6]方海英.基于時(shí)空折衷算法的Word文檔破解研究[D].杭州:杭州電子科技大學(xué),2009.

[7]李筱筱.GPU異構(gòu)系統(tǒng)上針對(duì)PowerPoint的彩虹表攻擊實(shí)現(xiàn)[J].北京電子科技學(xué)院學(xué)報(bào),2013(4):85-91.

[8]cenalulu.關(guān)于MySQL密碼你應(yīng)該知道的那些事[EB/OL].(2015-02-27)[2016-01-04].http://cenalulu.github.io/MySQL/myall-about-MySQL-password,2015-2-27.

[9]簡(jiǎn)玲,徐賽賽,邱衛(wèi)東,等.基于GPU的高性能彩虹表生成[J].信息安全與通信保密,2015(2):102-108.

[10]李聰,葉猛,江舟,等.基于分布式GPU的彩虹表密碼攻擊系統(tǒng)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2015(7):69-73.

Application of Rainbow Table in MySQL Password Cracking

ZHUANG Xiao-mei

(Department of Computer Science and Engineering,Guangdong Peizheng College,Guangzhou Guangdong 510830,China)

Use Cain and RainbowCrack tools to generate MySQLSHA1Rainbow tables,including comparisons of the two tools. It is the best scheme of generating MySQL Rainbow tables to use the two tools both through experimental analysis. RainbowCrack is more benefit than Cain when cracking MySQL password by Rainbow table. The relations between storage spaces and the length of Rainbow table were discussed as well as the counts of Rainbow table;the influence of various parameters on time of generating Rainbow table was studied,as well as the time of cracking password.

Time-Memory Trade-Off ;Rainbow Table;MySQL;database password cracking

2016-05-15

廣東培正學(xué)院2014-2015年度校級(jí)科研項(xiàng)目“彩虹表技術(shù)原理及應(yīng)用”(15pzxmyb020)。

莊小妹(1973- ),女,講師,碩士,從事信息安全研究。

TP309.2

A

2095-7602(2016)10-0047-05

猜你喜歡
方法
中醫(yī)特有的急救方法
中老年保健(2021年9期)2021-08-24 03:52:04
高中數(shù)學(xué)教學(xué)改革的方法
化學(xué)反應(yīng)多變幻 “虛擬”方法幫大忙
變快的方法
兒童繪本(2020年5期)2020-04-07 17:46:30
學(xué)習(xí)方法
可能是方法不對(duì)
用對(duì)方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
最有效的簡(jiǎn)單方法
山東青年(2016年1期)2016-02-28 14:25:23
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
主站蜘蛛池模板: 亚洲精品国产精品乱码不卞 | 高清码无在线看| 亚洲经典在线中文字幕| 毛片网站观看| 美女扒开下面流白浆在线试听| 天天色综网| 午夜欧美理论2019理论| 亚洲国产综合第一精品小说| 91福利一区二区三区| 综合五月天网| 国产精品免费电影| 精品久久久无码专区中文字幕| 亚洲综合精品第一页| 欧美一区国产| 亚洲成人一区二区| 人妻出轨无码中文一区二区| 国产免费羞羞视频| 一级毛片高清| 精品国产中文一级毛片在线看 | 亚洲制服中文字幕一区二区| 这里只有精品在线播放| 国产69囗曝护士吞精在线视频| 亚洲日韩精品欧美中文字幕| 凹凸国产分类在线观看| 色综合a怡红院怡红院首页| 中文字幕首页系列人妻| 日韩 欧美 小说 综合网 另类| 成人亚洲视频| 亚洲欧洲免费视频| 亚洲经典在线中文字幕| 亚洲色偷偷偷鲁综合| 欧美日韩激情在线| 日韩一区精品视频一区二区| 亚洲首页在线观看| 免费a在线观看播放| 国产欧美日韩综合在线第一| 试看120秒男女啪啪免费| 无码高潮喷水在线观看| 国产无码精品在线播放| 亚洲精品成人片在线观看| 自拍亚洲欧美精品| 色妺妺在线视频喷水| 亚洲国产在一区二区三区| 999国内精品久久免费视频| JIZZ亚洲国产| 亚洲美女高潮久久久久久久| 在线亚洲天堂| 久久久亚洲国产美女国产盗摄| 亚洲成aⅴ人在线观看| 日本在线免费网站| 精品国产www| 五月婷婷综合在线视频| 欧洲一区二区三区无码| 亚洲最新在线| 国产午夜无码片在线观看网站 | 欧美在线一二区| 日韩欧美中文字幕在线精品| 国产成人成人一区二区| 人妻无码AⅤ中文字| 久久久噜噜噜| 久久国产拍爱| 成人国产一区二区三区| 又粗又硬又大又爽免费视频播放| 香蕉蕉亚亚洲aav综合| 色婷婷丁香| 9啪在线视频| 亚洲人成影院在线观看| 国产成人h在线观看网站站| 国产精品亚洲专区一区| AV在线麻免费观看网站| a欧美在线| 国产aaaaa一级毛片| 久久久久无码精品| 日本欧美中文字幕精品亚洲| 999福利激情视频| 国产精品女熟高潮视频| 伊人五月丁香综合AⅤ| 亚洲人成网址| 国产视频欧美| 亚洲人成网7777777国产| 91麻豆久久久| 91精品专区国产盗摄|