本篇文章給大家分享的是有關(guān)如何分析Hashcat中的組合模式,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序定制開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了靜寧免費建站歡迎大家使用!
在實際中,有時候,我們會碰到這樣的問題,比如說口令是abcdabcd這種模式,而我們的字典中又沒有abcdabcd,如果去生成,則會占用巨大的空間,能不能有辦法通過abcd來產(chǎn)生abcdabcd呢?在hashcat中,當然是可以實現(xiàn)的,我們將先講述這種模式,即字典組合攻擊模式(參數(shù)表示為-a 1)。
首先,我們通過簡單一個實例,來描述一下-a 1的含義,然后帶你一步一步到該模式的復(fù)雜應(yīng)用。
hashcat –a 1 –m 0 mima.txt –o outfile dic.txt dic.txt
本命令的含義是使用dic.txt這個字典,進行組合后對mima.txt進行破譯,如果dic.txt是由如下圖所示的字典
則該命令組合后的形成的新的對mima.txt進行破譯的字典為:
即將dic.txt中的每一行與自身進行了組合,形成了新的字典。
前面介紹的是相同的字典進行的組合,如果是不同的字典的話,hashcat同樣也支持,使用命令如下所示
表示dic1.txt中所有的行與dic2.txt中所有的行進行組合,形成的字典對mima.txt進行的解算。
組合模式在什么情況下使用呢?組合模式一般在用戶口令明顯分為兩段式的情況,如:abcd1234、asdfasdf、aaa19770101、……等情況,口令明顯表現(xiàn)為前一段和后一段。
(1)組合模式下,目前hashcat只能支持兩個字典(或者相同字典2次)進行組合,不能支持多個字典(3個以上字典)或者同一字典3次以上的組合攻擊。
也就是說下面的命令是錯誤的:
hashcat –a 1 –m 0 mima.txt –ooutfile dic.txt dic.txt
hashcat –a 1 –m 0 mima.txt –ooutfile dic1.txt dic2.txt dic3.txt
(2)組合模式下,對目錄也是不支持的(在前文中,-a 0這個模式下,是支持整個目錄的),也就數(shù)說以下兩種情況也是不行的。
hashcat –a 1 –m 0 mima.txt –ooutfile /dic/
hashcat –a 1 –m 0 mima.txt –ooutfile /dic/*.txt
(3)時效性問題
在使用組合模式時,如果字典很大,比如說兩個字典為10,000,000,則組合的空間為100,000,000,000,000,相當于10,000,000個字典(每個字典有10,000,000條)的攻擊,則空間就太大了,而且可能還會出現(xiàn)大量的重復(fù),雖然覆蓋率增加了,但時效性就不高了。
暴力破解,顧名思義,就是對指定的明文空間,進行暴力窮盡,是一種沒有辦法的辦法(因為你沒有辦法縮小窮盡空間)。
在正式講述暴力破解之前,我們先來說一下窮盡空間。以常見的小寫字母+數(shù)字為例,如果口令長度為4,則其空間為36**4=1679616,好像不大,一會就出來了;如果口令長度為8,則其空間為36**8=2821109907456,如果解算時效為1000,000,000(10億次/s),則解算時間大約為2820秒,大約47分鐘,好像還可以承受;如果口令長度為10,則其空間為36**10=3656158440062976,如果解算時效為1000,000,000(10億次/s),則解算時間超過了1000小時,那就沒有辦法接受了。
hashcat中暴力破解模式(參數(shù)表示為-a 3)有很多不同的種類,下面,我們就一一進行講述。
hashcat中,內(nèi)置了8種默認字符集,分別是l(小寫字母 26個)、u(大寫字母 26個)、d(數(shù)字 10個)、h(小寫16進制字符)、H(大寫16進制字符)、s(特殊字符 31)、a(l,u,d,s的合集 95全字符)以及b(二進制的0x00-0xFF)。如下圖所示
舉例
(1)如果窮盡小寫字母6位空間使用命令如下:
(2)如果窮盡全字符8位空間使用命令如下:
(3)如果窮盡范圍為4-6位的全數(shù)字空間,則命令如下:
在這里,增加了一個參數(shù)--inrcement --increment-min 4 --inrcement --increment-max 6表示窮盡長度的最小值和最大值。
這里的組合模式是窮盡模式下的組織模式,不是(-a 1)的模式。
直接舉例進行說明:
(1)一個口令窮盡范圍,推測口令長度為6,第一位是全字符集、第二位是小寫字母、第三位是大寫字母、第四、五、六位為全字符集,則命令可以使用如下模式:
(2)下面再給出幾種組合模式,
之一:如果一個口令的范圍為大小寫+數(shù)字,長度為6,則命令如下:
這里使用-1 ?l?u?d表示大小寫字母+數(shù)字。
之二:如果窮盡范圍為6位,第一、四位為大小寫+數(shù)字,第二位為大小寫,第三、五位為大寫+數(shù)字,第六位為數(shù)字,則命令如下:
當然,也可以指定最小長度和最大長度,如下圖所示
前面,我們介紹了hashcat內(nèi)置了8種字符集,但是如果用戶所需要字符集不在這8種之內(nèi)呢?怎么辦?沒有關(guān)系,hashcat還為大家準備了豐富的自定義的暴力攻擊模式。
使用hashcat –h命令,可以看到定義了如下的使用模式
下面,我們通過一個個的實例來進行講解:
(1)如果口令長度為8位,每一位由“0123456789aqwcfhj,.<>=-_+”組成,則可以使用如下的命令。
也可以把這些字符寫成文件,如char.txt,使用下面的命令。
(2)如果口令長度為8位,第一、三、六位在“43545yt”中,第二、四位在“345dfv-=_+”中,第五、七位在“9vjnbbf-brg”中,第八位在“345fkfggh”中,則可以使用如下的命令。
當然也可以將這些字符寫成不同的文件,如char1.txt、………,使用如下的命令。
注:有些符號在命令行中會有特殊含義,所以當字符集中有特殊符號時,最好把這些符號寫成文件形式。
(3)在(2)的基礎(chǔ)上,增加最小長度和最大長度,如4-8位。則可以使用如下的命令。
在前面的文章中,我們介紹了部分參數(shù)的使用,今天,我們接著往下介紹一些常用的參數(shù)。今天重點介紹屏幕顯示參數(shù)
前一篇文章中介紹過文件輸出相關(guān)的命令(-o/--outfile-format),通過這些命令可以把hashcat密碼破譯的結(jié)果以某種格式輸出到文件。但是在hashcat運行過程中,我們看不到hashcat破譯了哪些密碼。如果在hashcat工作中,我們可以直接把hashcat破譯出的密碼,打印到屏幕,就會更加直觀方便。hashcat中正好有幾個參數(shù),可以把hashcat運行結(jié)果輸出到屏幕。
Show命令會把pot文件中緩存的已經(jīng)破譯的hash和密碼輸出到屏幕窗口。
left命令會把hashcat沒有破譯的hash值,輸出到屏幕
stdout命令不會進行密碼破譯,但是它會打印用于密碼破譯的字典中的內(nèi)容。
Hashcat的命令眾多,不同的參數(shù)的差異非常大,想要充分發(fā)揮hashcat的功能和作用,建議大家多用不同的命令進行嘗試,從而熟悉hashcat不同命令的組合方法。對于hashcat參數(shù)的功能,大家可以借鑒hashcat聯(lián)機幫助(-h)。下一篇文章會繼續(xù)介紹hashcat字典+掩碼模式。
以上就是如何分析Hashcat中的組合模式,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。