安全圈 | 专注于最新网络信息安全讯息新闻

首页

關於密碼字典那些事

作者 eppolito 时间 2020-03-01
all

關於密碼你知道多少?密碼也就是口令,通常作為身份驗證的一部分來使用,也就是說如果密碼被人盜取或者破解,那麼攻擊者就可以使用你的身份來做很多事情,這是你所不能接受的。在互聯網上幾乎每個人都有自己的密碼,通常在多個網站登錄都使用同一個密碼,由於經常使用,所以密碼也經常是容易記憶的,既然容易記憶那就很可能存在一定的規律,所以今天的主要內容就是關於密碼組成的那些事,看看大家的常用密碼是否中槍。

弱口令

弱口令的存在,一個很重要的原因是方便記憶,很簡單不需要專門去記憶就完全可以記得住。還有一點是福斯的用戶不明白密碼的重要性,抱著別人又不會專門來搞我的想法,即使被提醒修改密碼也不會去修改。

針對這個的破解是最簡單的,網絡上出現了很多次的密碼洩漏事件,其中有很多的明文密碼被洩漏,經過排序計算重複,排在前面的就屬於弱口令的行當,只需要選取其中的top100,說不定就能破解出很多用戶的口令。在離線破解hash的時候,可以把網絡上公開的密碼字典全部收集起來,去重之後加入破解即可。

關於弱口令,freebuf上有一個文章專門做了描述:

http://www.freebuf.com/articles/web/42120.html可以點擊原文連接查看這個文章

密碼分解的幾種管道

除開弱口令之後,我們來重點分析一下,其他比較複雜的密碼組成。通常由於數位一共有10個,所以使用純數位作為密碼的通常都可以視為弱口令,經過牌類組合之後,十比特的數位密碼使用hashcat可以輕鬆跑完。所以純數位密碼不在我們的討論範圍之內。

字元和數位組合

關於這個組合,我們來看幾個常見密碼:

password123、passw0rd、0password0、123456admin、a123456a

這種密碼的組合管道也就大概這麼幾種:數位在字串後面、數位在字串中間、數位在字串兩邊、數位在字串前邊,字串在數位串兩邊等等。

對於這些密碼如何生成相應的字典來破解呢?

數位在字串後面

對於密碼:password123,我們可以分解為兩個部分,一個是常用字串一個是常用數位串。知道這個之後我們就可以通過網絡上洩漏的密碼字典進行分解,選取其中比較常見的字串以及常見的數位串,然後將選取出來的兩個字典進行組合,這樣針對這種類型的密碼就可以破解出一大部分。這種管道同樣可以使用的像123456admin(數位在字串前邊)也可以使用。像0password0(數位在字串兩邊)、a123456a(字串在數位串兩邊)由於是三個部分的組合,所以使用上面講述的方法,最後三個字典檔案進行組合,結果非常大,破解時間需求很大,而且密碼破解率也不高,所以這種密碼就可以使用後面提供的方法。

數位在字串中間

對於密碼:passw0rd,這個密碼的存在通常是人們為了好記,在自己想到一個比較熟悉的字串後,將其中的字母與數位進行了替換,例如:o換為0、B換為8、e換為3、i換為1等等。所以對於這種密碼的破解,就需要瞭解用戶的心思,將常用的替換字母做一下總結,整理一個常用字串清單,對其中的字元一一替換生成字典,這樣,這種管道的密碼就可以在猜到使用的字元串之後輕鬆破解。

數位在字串兩邊、字串在數位串兩邊

對於密碼組合比較複製的密碼,通過收集常用字串和常用數位串然後組合的管道不太現實,所以推薦一種方法,不僅僅適用於這種,幾乎可以適用於所有類型的密碼組合。

字元、數位、特殊字元

在前文的基礎上,加上特殊字元後,組合管道多了一種,在破解難度上新增了n多倍,所以使用猜測組合的管道已經不太適用,所以這種密碼的破解管道也要使用後面要講的密碼分解管道,使得密碼破解更加簡單便捷。

最終密碼分解管道

對於所有的密碼組合,在我們的能力範圍之內,能够把小於十二比特的密碼破解出來就已經很不錯了,就別說大於十二比特的密碼,所以我們討論的範圍就是小於十二比特密碼的密碼破解。

首先拿到幾個密碼,如:admin123!@#、[email protected]#pass、[email protected]等,如何使用一種管道適用多種密碼的分解?我的做法是:

總結一份全網公開的密碼字典

使用腳本選取所有密碼的前面的五到八位,分別存入t5.txt、t6.txt、t7.txt、t8.txt

使用腳本選取所有密碼的後面的五到八位,分別存入e5.txt、e6.txt、e7.txt、e8.txt

對所有檔案進行排序並且計算其重複數,如果密碼字典過大可以選擇性的選取重複數大於等於幾的密碼進行使用

最後使用前*後的管道組合密碼,形成密碼字典進行破解

推薦hash破解工具

其實hashcat自帶的使用的mask的管道破解八位以內的密碼還是可以的,破解八位以上的就需要字典與mask、mask與mask、字典與字典的組合才能完成任務。工具如何使用,就是大家的事情了,密碼字典如何收集也是大家的事情了,之前有比特同學已經發了一個關於hashcat的文章:《密碼破解那些事》。大家有什麼經驗和建議,請大家不吝賜教。