溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Hashcat中基于規(guī)則的攻擊是怎樣的

發(fā)布時間:2022-01-06 18:32:02 來源:億速云 閱讀:187 作者:柒染 欄目:網(wǎng)絡安全

本篇文章為大家展示了Hashcat中基于規(guī)則的攻擊是怎樣的,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

在hashcat中還隱藏有一種攻擊模式,這也是hashcat中最復雜的攻擊方式,即基于規(guī)則(rule)的攻擊(-a 0 )。hashcat中的規(guī)則與字典結(jié)合就會發(fā)揮出非常驚人的作用。

什么是規(guī)則

所謂規(guī)則是一種用來產(chǎn)生候選密碼的編程語言,規(guī)則由多個具有不同功能的函數(shù)組成,與正則表達式有相似之處,但是不同于正則表達式??傊?guī)則是一種非常靈活,方便,且操作性很強的輔助工具。

在規(guī)則語法中,不同的字符或符號代表不同的功能,在寫規(guī)則時,可以根據(jù)等待破譯的密碼的特征,將這些功能進行組合。使用規(guī)則最大的好處是:我們可以根據(jù)已知的密碼特征,寫出相應的規(guī)則,這些規(guī)則可以把字典內(nèi)容處理成合適的形式。當然利用規(guī)則還可以擴充字典內(nèi)容。

常見規(guī)則舉例

注:hashcat字典中組成單詞的字母從0開始計數(shù),而且是十六進制的形式。

以下是部分常見hashcat規(guī)則函數(shù)舉例。想了解更多hashcat的規(guī)則函數(shù),請點這里。

函數(shù)
功能
規(guī)則應用舉例  輸入  輸出  
oXY  將位置X處的字符替換成Yo2KdigapisdiKapis
xNM  從位置N開始刪除M個字符x23DigAipsDips
iNX  在位置N處插入字符Xi2LdIGAPISdILGAPIS
*XY  交換XY兩處的字符*0AIloveyou!?????loveyou!?I??
yN  重復首部N個字符y48008208008800820
C  首字母小寫,其余大寫CDigapisdIGAPIS
c  首字母大寫,其余小寫cDIGPAISDigapis
t  大寫變小寫,小寫變大寫tDigApisdIGaPIS
r  單詞倒敘rDigApissipAgiD
d  重復dDigDigDig
f  回文fDigDiggiD
{  循環(huán)左移{DigApisigApisD
}  循環(huán)右移}DigApissDigApi
[  刪除第一個字符[DigApisigApis
]  刪除最后一個字符]DigApisDigApi

如何寫規(guī)則

 寫規(guī)則時,首先要用清楚自己的需求,然后根據(jù)需求撰寫規(guī)則。寫規(guī)則的時候,首先要明確自己所需要的密碼的構(gòu)成和形式,總結(jié)規(guī)律。根據(jù)密碼已知的特征撰寫規(guī)則。

Hashcat中的規(guī)則函數(shù),通常是“oXY”的形式,第一位表示函數(shù)名,第二位代表操作位置,第三表示操作。Hashcat中有自帶的規(guī)則文件,這些規(guī)則文件,看起來是一串一串無規(guī)律的字符串,但是每一段字符串都會對字典中的字符進行復雜的操作。

Hashcat中基于規(guī)則的攻擊是怎樣的下面是幾條簡單的規(guī)則,希望通過分析這幾條規(guī)則,大家可以了解如何寫出自己的規(guī)則。首先要明確,規(guī)則中的函數(shù)會按順序執(zhí)行,每個函數(shù)的作用域就是字典中的每一條字符串,函數(shù)與函數(shù)之間沒有關(guān)系,都是各自執(zhí)行自己的功能。當然,不同函數(shù)的功能可以疊加。

例:sa4 sb6 sc<

分解方法:sX

描述:1)用字符a代替字符串中所有4。  |2)用字符b代替字符串中所有6。 |3)用字符c代替字符串中所有< 。

:d[

分解方法:d 和[

描述:1)將字符串重復一遍。  |2)將重復之后的字符串的第一個字符刪除。

:i4 O12

分解方法:i4  和O12

描述:1)在位置4插入一個空格。 |2)刪除從位置1開始的2個字符;

:d O05

分解方法:d 和 o05

描述:1)將字符串重復一遍。  |2)把位置0處的字符替換成5

:'4p4

分解方法:’4  和p4

描述:1)在位置4之前,截斷單詞。  |2)在這個單詞后,將該單詞再重復4遍。

:$ O23

分解方法:$ 和O23

描述:1)在單詞末尾添加一個空格。 |2)刪除從位置2開始的3個字符。

:T6T3

分解方法:T6和T3

描述:1)改變單詞中位置6處字母的大小寫;    |2)改變單詞中位置3處字母的大小寫。

:i3.2-3

分解方法:i3 和 .2 和 -3

描述:1)在位置3插入空格;   |2)用位置2+1處的字符代替位置2處的字符。  |3)將位置3處上的字符的ASCII值減3

:$9$&$A

分解方法:$X

描述:1)在字符串末尾添加一個9。 |2)在字符串末尾添加一個&符號。  |3)在字符串末尾添加一個10(hashcat規(guī)則采用16進制)

:c^!x04

分解方法:c  和 ^X  和  xYN

描述:1)首字母大寫,其余小寫。  |2)在字符串首部添加字符!。 |3)從位置0開始刪除4個字符。

:@)sf*40R9

分解方法:@)和 sf  和   *40  和  R9

描述:1)清除所有“)”符號。   |2)用空格代替f 。  |3)交換位置4處與位置0處的字符。 |4)對位置9處的字符進行按位循環(huán)右移。

基于規(guī)則的攻擊

-r/--rules-file

Hashcat中的“-r/--rules-file”命令可以調(diào)用規(guī)則,hashcat自帶的規(guī)則文件在rules文件下。在直接攻擊模式(-a 0)下,我們可以調(diào)用規(guī)則,結(jié)合字典,進行密碼爆破。這樣就擴大了字典的范圍,在一定程度上提高了密碼破譯的成功率。

Hashcat中基于規(guī)則的攻擊是怎樣的新版的hashcat可以同時調(diào)用多個規(guī)則文件進行攻擊,這些規(guī)則文件中的規(guī)則彼此組合,形成新的規(guī)則。假設,一個規(guī)則文件有100條規(guī)則,兩個同等規(guī)模的規(guī)則文件組合就會產(chǎn)生100*100=10000條新的規(guī)則。這些規(guī)則可以極大的擴大字典的范圍。

Hashcat中基于規(guī)則的攻擊是怎樣的

通常是不同文件中的規(guī)則,按順序彼此結(jié)合形成新規(guī)則,并作用于字典文件。

Hashcat中基于規(guī)則的攻擊是怎樣的

分析:

1.rule中的規(guī)則是“c”;2.rule中的規(guī)則是"T3"和"t"。執(zhí)行多個規(guī)則文件時,不同文件中的規(guī)則互相組合。

組合出的第一條規(guī)則:c T3。1)字典中的內(nèi)容首字母大寫,其余小寫;  |2)在改變位置3處的字母的大小寫。

組合出的第二條規(guī)則:c t。1) 字典中的內(nèi)容首字母大寫,其余小寫;  |2)改變單詞中所有字母的大小寫。

生成隨機規(guī)則

Hashcat可以自行生成規(guī)則進行密碼爆破,當我們用自己寫的規(guī)則和hashcat自帶的規(guī)則文件還沒有爆破出密碼是,可以嘗試生成隨機規(guī)則進行密碼爆破。hashcat可以利用我們設定的參數(shù)生成隨機規(guī)則。由于是隨機規(guī)則而且可以大規(guī)模生成,所以可能產(chǎn)生意想不到的結(jié)果。

Hashcat中生成隨機規(guī)則有 3條參數(shù):

-g/--generate-rules=X:生成X條規(guī)則。

--generate-rules-func-min=X:每條規(guī)則最少有X個函數(shù)

--generate-rules-func-max=X:每條規(guī)則中最多有X個函數(shù)

例如,不適用規(guī)則文件,而是使用隨機生成的規(guī)則處理字典。

Hashcat中基于規(guī)則的攻擊是怎樣的

除了指定規(guī)則的數(shù)量,這一指定每條規(guī)則中的函數(shù)數(shù)量,下面這條命令指定,每條規(guī)則中最多具有6個函數(shù)。

Hashcat中基于規(guī)則的攻擊是怎樣的

在實際使用中,我們使用的規(guī)則文件通常會根據(jù)人類自己設定密碼的習慣做設置。符合人類設置密碼習慣的排在前面,不符合的排在后面。所以在實際應用中,如果一個規(guī)則和字典運行幾個小時還沒有結(jié)果時,大家可以終端運行,換一個字典和規(guī)則繼續(xù)運行。密碼是人類生成的,所以規(guī)則一定要符合人類的習慣。

規(guī)則文件導出

當我們生成的隨機規(guī)則恰好產(chǎn)生作用時,可以把這些規(guī)則導出成一個規(guī)則文件,這樣下次進行密碼爆破可以繼續(xù)使用這些規(guī)則。

--debug-mode:定義調(diào)試模式(僅用于規(guī)則)

--debug-file:將調(diào)試的規(guī)則輸出到文件

利用debug命令可以在自動生成的規(guī)則中,將有效的規(guī)則提取出來,組成一個規(guī)則文件,以便下次進行爆破時使用。

Hashcat中基于規(guī)則的攻擊是怎樣的

由于debug只會提取有效的規(guī)則,所以生成的規(guī)則文件中可能會有重復的規(guī)則。

Hashcat中基于規(guī)則的攻擊是怎樣的

hashcat規(guī)則攻擊比較復雜,所以單獨算作一篇文章,其實hashcat基于規(guī)則的攻擊應該是字節(jié)攻擊模式(-a 0)的一部分。規(guī)則只有跟字典結(jié)合才能發(fā)揮作用,對字典的選擇和對規(guī)則的選擇一樣重要。

上述內(nèi)容就是Hashcat中基于規(guī)則的攻擊是怎樣的,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI