Purple Rain攻擊——躺著也能破解哈希?

大家好,今天教給大家一個破解哈希的方法。

山窮水盡

在滲透測試時,你是否面臨著這樣的窘境:

你看了翻遍各種筆記並逐一嘗試了一番,沒用!

你分析了密碼策略和當前破解的結果,依然沒用!

你甚至一頁頁翻閱哈希破解手冊,還是沒用!

它成功的引起了你的興趣,可是你突然發現自己並沒有什麼方法可以解決這隻攔路虎!更重要的是,你沒有太多的時間!

柳暗花明

是時候嘗試一波「Purple Rain攻擊」了!這是一個完美的即時攻擊,它可以一直運行,且僅僅受限於你提供的字典大小。

Purple Rain攻擊能幹什麼?

它會給你帶來永遠想不出來的密碼模式和規則集。它非常適用於將可用的模式和密碼鏈接在一起,如果只使用簡單的字典,就可以在24小時內輕鬆地破解75%的LinkedIn數據集。

這會有幾個問題,比如是否所有的模式和密碼都是有效的?當然不是!

我們會不會花了很長時間卻拿不到關鍵的哈希結果?答案是肯定的。

但想像一下,在長時間的攻擊過程中,某一天夢想中的哈希突然在控制台上現身,這是多麼美妙的一個場景。

那時,你肯定會回頭瀏覽這篇文章,由衷感嘆這種攻擊的巧妙性,感謝這些工具開發者的天才思想。

Purple Rain

為什麼叫這個名字?

我們玩了一個文字遊戲,因為在攻擊過程中用到了PRINCEprocessor Hashcat工具,再與Prince的著名歌曲《Purple rain》相結合,最終取了這個名字。

在本文中,我們會假設你正在破解諸如NTLM這樣的哈希,並且已經枚舉完7個字元以內的所有密碼(所以我們只需要命令PRINCE生成超過8個字元的密碼)。

最後,你還需要一套破解平台,可以選擇Budget Cracking Rig或者Portable Cracking Rig

資源:

Hashcat

PRINCEprocessor Hashcat 工具

字典列表

Purple Rain攻擊命令:

shuf dict.txt | pp64.bin --pw-min = 8 | hashcat -a 0 -m #type -w 4 -O hashes.txt -g 300000

隨機生成

Purple Rain攻擊的靈感來源於PRINCE(可傳性無限鏈式元素)攻擊和隨機規則生成,網上有兩篇很好的文章,我建議大家可以看一下:

Matt Weir關於PRINCEPROCESSOR及其功能的文章:

github.com/evilmog/evil

@evilmog寫的有關「raking」(隨機密碼候選生成)技術的書面報告:

github.com/evilmog/evil

與此同時,建立你自己的環境,以使用hashcat 中的隨機規則生成結果。

簡而言之,PRINCE可以根據輸入的字典集,通過隨機組合產生輸入詞鏈表。加上Hashcat的隨機規則生成選項-g,可以增強PRINCE密碼候選生成結果。

選擇字典

你可以通過兩種方法為Purple Rain攻擊選擇輸入詞典:目標詞表或通用詞表。

如果你已經根據你的目標創建了自定義字典,那麼你可以從「目標」字典開始。如果沒有,那麼你可以繼續使用像rockyou.txt數據集一樣好的「通用」字典。

我不建議你使用一個非常大的字典,比如使用PRINCE(500 MB+)。你可以直接使用最常用的1000萬個密碼集(只有3.8MB),也可以參考weakpass.com,根據實際需要選擇合適的詞典。

最後,先把shuffle命令shuf發送到你的字典上,再將其傳送到PRINCEprocessor上。這種方式將確保你每次開始Purple Rain攻擊時,PRINCEprocessor不會創建相同的詞鏈。

你只需多次嘗試以下命令並比較輸出便可明白我在說什麼:

pp64.bin --pw-min=8 < dict.txt | head -20

shuf dict.txt | pp64.bin --pw-min=8 | head -20

當選擇規則的時候,我建議先從Hashcat包含的dive.rule開始。這至少將已知的密碼變化與PRINCEprocessor隨機生成的密碼候選組合在一起,而且由於dive.rule按概率順序排序,所以你可能很快就能獲得密碼。

接下來,你要設置規則數為50000-1000000的Hashcat隨機規則生成選項。我會建議你每次使用300000個,這在命令行中是-g 300000。

注意,你嘗試生成的隨機規則集越大,Hashcat啟動的時間就越長,因為Hashcat每次都在動態生成這些規則。

命令結構

讓我們來談談完整的Purple Rain攻擊命令結構:

shuf dict.txt | pp64.bin --pw-min = 8 | hashcat -a 0 -m #type -w 4 -O hashes.txt -g 300000

shuf:在進入PRINCEPROCESSOR之前,隨機化我們的字典

dict.txt:你選擇的字典文件

pp64.bin: Hashcat的 PRINCEPROCESSOR 工具

--pw-min = 8:命令PRINCE生成最小長度為8的字元密碼

hashcat -a 0:直接啟動Hashcat以獲取stdin輸入

-m #type:指定哈希模式編號,例如-m 1000是NTLM

-w 4:命令Hashcat使用最高的工作負載設置

hashes.txt:你的文件包含的待破解哈希

-g 300000:命令Hashcat生成300,000個隨機規則

我們建議限制運行時間為1到24小時,然後重新啟動相同的攻擊。

收集成功的隨機規則:

--debug-mode = 1 --debug-file = success_purplerain.rules

高級命令語法

你是否想隨機選擇你的字典?那麼指向你的字典:

ls dict / | sort -R | shufdict /`tail -1` | pp64.bin --pw-min = 8 | hashcat -a 0 -m #type -w 4 -O hashes.txt -g 300000

想要在多個詞典中隨機化以增加多樣性?

cat dict1.txt dict2.txt | shuf | pp64.bin --pw-min = 8 | hashcat -a 0 -m #type -w 4 -O hashes.txt -g 300000

高級選項

在PRINCEprocessor中,我們可以使用--elem-cnt-min--elem-cnt-max選項,從輸入字典中增加詞鏈的數量。

在Hashcat隨機生成規則中,我們可以使用--generate-rules-func-min--generate-rules-func-max選項,增加或減少規則函數的數量。

運行測試

這裡有一些簡單的步驟來運行一個簡易的Purple Rain攻擊測試。

首先讓我們隨機化,從rockyou字典中取出前三萬個密碼:

shuf rockyou.txt | head -30000 > test_rockyou.txt

然後,我們將test_rockyou.txt文件進行md5編碼(這將需要時間):

while read line; do echo -n $line | md5sum; done < test_rockyou.txt | awk -F " " {print$1} > hashes.txt

接下來我們將創建一個小字典來運行我們的新測試哈希:

hashcat -a 3 -i?a?a --stdout >> test_dict.txt

另外,我們從網上抓取谷歌最常用的20,000個英語單詞字典並添加它:

cat google-20k.txt >> test_dict.txt

現在先用dive.rule運行Purple Rain攻擊1小時:

shuf test_dict.txt | pp64.bin | hashcat -a 0 -m 0 -w 4 -O hashes.txt -r dive.rule

你可以看到它在Hashcat中生成的候選密碼。

現在我們將讓Purple Rain攻擊以20萬隨機生成的規則運行8小時:

shuf test_dict.txt | pp64.bin | hashcat -a 0 -m 0 -w 4 -O hashes.txt -g 200000

通過8小時的運行時間,你可以了解到這種方法不需要過多人工參與,可以持續、自主完成攻擊過程。你會看到你根本無法想到的一些密碼組合。請記住一點:不確定的輸出結果是你最好的朋友。

當然,在破解過程中,差之毫厘則失之千里,我們不能放棄絲毫的可能性。

更多精彩

挖礦,泄密,微軟成幫凶,惡意軟體Zyklon捲土重來mp.weixin.qq.com圖標間諜軟體Skygofree潛伏4年,你的秘密還在嗎?mp.weixin.qq.com圖標內含POC | 又一個漏洞可以遠程控制你的電腦!mp.weixin.qq.com圖標佛系工具:如果我應該被知道,那就會被知道mp.weixin.qq.com圖標QQ圖片未加密,可被黑客替換成支付寶付款碼!mp.weixin.qq.com圖標

*IDEA值得分享 | 轉載註明出處

weixin.qq.com/r/00jcxCr (二維碼自動識別)

推薦閱讀:

滲透,挖洞,後門,0day,肉雞等等這些詞都是和哪個方向有關的,我想入門卻不知從何學起…?
想學習黑客方面的知識,有哪些書值得推薦?
阿里月餅門事件的技術原理?
敲代碼的,如何轉行挖掘漏洞?
如何進行系統的黑客學習?

TAG:软件破解 | 黑客Hacker | 科技 |