search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

密碼破解淺析

信息安全公益宣傳,信息安全知識啟蒙。

微信群QQ群16004488

加微信群或QQ群可免費索取:學習教程

教程列表見微信公眾號底部菜單

最近恰巧剛好搞到一批hash,所以就尋思著,要不順手小結一點關於hash破解的東西,反正經常要用,就當留備忘了,順便也分享給大家,主要還是希望大家都能在實際滲透中能儘快上手用。經常滲透的朋友可能都非常清楚,由於各種各樣的途徑,我們經常會搞到各種各樣的散列[hash],比如,各類web管理用戶的密碼hash,各類系統用戶的密碼hash,各種第三方伺服器工具配置文件中的hash,各類辦公套件文件啟動密碼的加密hash等等。今天,我們就來簡要說明一下關於各類hash破解工具的使用,以備不時之需。

幾個常用的破解網站

下面是幾個相對還算好用的在線hash破解站,其實,諸如此類的站點還有非常多,不過大多都不太靠譜,後期遇到好的我會再貼上來。

這個是國內比較知名的一個在線hash破解站,雖然目前支持的散列類型還比較少,不過就成功率來講,在你自己沒有特別好的顯卡,GPU矩陣或者性能強勁的CPU的時候,它無疑是個很好的替代品,實在沒查到,起碼還可以在後台幫你跑五天,先不管能不能跑出來,總歸是個希望。

如果cmd5實在跑不出來,不妨再嘗試它,也是個比較老的在線hash破解站了,估計朋友們也都比較熟悉,這裡就不啰嗦了。

萬能的淘寶

另外,在淘寶上也有很多賣家提供這種hash爆破服務,實在不行還可以嘗試直接丟給他們跑,一般跑出來才會讓你付錢,他們可能也是在後台拿GPU矩陣跑的,需要注意的是,找個靠譜點兒的店就好了,某寶騙子多,形形色色有些東西總讓人防不勝防……

在線破解工具

kali中也自帶了一個在線的hash破解腳本'findmyhash',其實,腳本做的事情非常low,就是輪詢著把你提供的hash丟到各個hash破解站上去查詢,如果查到了就把對應的結果明文發回來,實在不行,還可以丟到谷歌上跑跑,僅此而已,可能唯一要注意的是先把kali掛上vpn,不然,有些站點可能訪問不了,說實話,基本就是個廢[除了最普通的md5,別的就算了吧],實在沒辦法,碰碰運氣還是可以的。

findmyhash md5 -h ff9830c42660c1dd1942844f8069b74a

識別hash類型

如果你實在搞不清楚某條hash的具體散列類型,不妨先用下面的腳本[kali自帶]大致識別下,可能不太准,不過粗略的看一眼還是可以的。另外,谷歌上也有很多在線的hash類型識別站,可自行去嘗試,這裡就不一一列舉了。

hash-identifier

hash暴力破解

除了在線查找的方法,剩下的方法就是自定義字典或者窮舉的方式進行暴力破解,網路上有一款爆破hash非常的強大的工具--hashcat,支持多種hash破解以及多種字典規則,利用gpu破解速度奇快。

使用hashcat之前需要什麼?

務必保證已經事先裝好對應的顯卡驅動(看官網這情況,最新版的hashcat除了增加了一些新的散列類型之外,貌似也已經不再區分AMD和英偉達顯卡了,如果你用的是舊版本的hashcat,請根據自己實際的顯卡類型來選擇對應版本的hashcat),之後再到其官方站點把hashcat down下來,注意,直接解壓即可運行,無需再額外裝任何東西,用什麼系統就運行對應系統的可執行程序即可[實際破解中,還是更推薦用linux,可能就是裝驅動稍微有點兒麻煩,不過還好啦,如果實在搞不定,在win下跑也是一樣的]。下面直接全部用kali自帶的hashcat來演示,不同類型的hashcat,單就用法來講,其實也沒啥太大區別,實際使用中建議還是自己買塊好點兒的顯卡跑,如果真有條件,GPU矩陣也是可以考慮的:https://hashcat.net/files/hashcat-3.6.0.7z

hashcat的參數簡介

如果在kali中提示要升級到新版本[kali2.x可能會出現這樣的情況],請把系統時間修改到2010年之前即可,這裡就只說幾個最常用的選項,關於其它的各種小選項,因為自己實際中用的比較少,如果大家萬一用到,掃一眼幫助即可,篇幅原因這裡就只撿最核心的說了。

-a 指定要使用的破解模式-m 指定要破解的hash類型所對應的id[下面有一份完整的hash id對照表],幾乎現在市面上常用的一些散列類型它都支持,而且每個版本更新都會增加一些新的演算法-o 指定破解成功后的hash及所對應的明文密碼的存放位置,可以用它把破解成功的hash寫到指定的文件中--force 忽略破解過程中的警告信息,跑單條hash可能需要加上此選項--show 顯示已經破解的hash及該hash所對應的明文--increment 啟用增量破解模式,你可以利用此模式讓hashcat在指定的密碼長度範圍內執行破解過程,其實,並不建議這麼用,因為破解時間可能會比較長--increment-min 密碼最小長度,後面直接等於一個整數即可,配置increment模式一起使用--increment-max 密碼最大長度,同上--outfile-format 指定破解結果的輸出格式id,一般自己常用3--username 忽略hash文件中的指定的用戶名,在破解win和linux系統用戶密碼hash可能會用到--remove 刪除已被破解成功的hash-r 使用自定義破解規則,這個後期抽空再說吧,比較的複雜,不是一兩句話能說完的

hashcat模式介紹

0 | Straight 最簡單的純粹基於字典的爆破模式,後面可以連續跟上多個字典文件,破解的成功與否最終還是取決於字典質量,在幾乎同等的破解時間裡,是我我肯定不會先選它的,簡單跑一些弱口令什麼的,還是可以的,話說回來,如果只是跑些弱口令,大可不用hashcat,未免有些大材小用了,不是嗎 1 | Combination 一種相對智能高效的爆破模式,它的意思是這樣的,如果你事先已經明確知道密碼中可能包含哪些字元串,你可以把那些字元串事先寫到文件中,每行對應一個字元串,然後hashcat會自動根據你所提供的這些字元串,嘗試所有可能的組合進行猜解
3 | Brute-force 基於純掩碼的爆破方式,如果你有需求要大批量爆破hash,可能會用到,後面我們會用絕大部分的篇幅來說它,這裡需要稍微注意下,你給定的掩碼是多少位它就只破解多少位,比如,你給的是7位的掩碼,它就只跑7位這麼長,它可能並不是你想象的那樣,"是從1位一直跑到第7位"這樣自動輪詢,如果你想讓它自動變長跑,啟用increment模式指定密碼的最小和最大長度即可,之前理解的有點兒錯,也是看官方的wiki才知道的,汗……
6 | Hybrid Wordlist + Mask 基於字典和掩碼配合的爆破模式,它的破解過程其實也比較簡單,就是每次從前面的字典中取出一個字元串然後和後面掩碼的所有組合進行拼接,直到撞到對應的明文
7 | Hybrid Mask + Wordlist 基於掩碼和字典配合的爆破模式,跟6的過程正好相反,只不過這次它是從前面進行拼接

hasncat掩碼介紹

掩碼是個非常靈活的東西,你可以把它放到任何你想放的位置上,甚至,你願意的話,也可以把自己想跑的一些掩碼規則都事先放到一個文件中,然後以.hcmask命名,載入就可以讓hashcat自動跑了,這樣用起來比較方便,省的後期經常需要人為干預,後續會為大家簡單演示下:

l | abcdefghijklmnopqrstuvwxyz 純小寫字母u | ABCDEFGHIJKLMNOPQRSTUVWXYZ 純大寫字母d | 0123456789 純數字h | 0123456789abcdef 常見小寫子目錄和數字H | 0123456789ABCDEF 常見大寫字母和數字s | !"#$%&'*+,-./:;<=>?@[\]^_`{|}~ 特殊字元a | ?l?u?d?s 以上所有字元b | 0x00 - 0xff 可能是用來匹配像空格這種密碼的

比如,下面的例子:

?l?l?l?l?l?l?d?d?d?d 表示6位小寫子目錄4位數字組成的密碼,注意這裡的位置全部都是一一對應的
de?l?d?s56pos 表示由de加一位小寫字母加一位數字加一位特殊字元後面跟上56pos組成的密碼

當然,你也可以自定義字符集規則,注意,可以連續指定多個不同的規則集

-1, --custom-charset1 | CS | User-defined charset ?1 | -1?l?d?u-2, --custom-charset2 | CS | User-defined charset ?2 | -2?l?d?s-3, --custom-charset3 | CS | User-defined charset ?3 |-4, --custom-charset4 | CS | User-defined charset ?4

比如,下面的例子:

-1 ?l?s ?1?1?1?1?1 表示五位由特殊字元和小寫字母組成的密碼 -1 ?d?l -2 ?d?l?u -3 ?l?u ?1?2?3 表示密碼的第一位可能是小寫字母或者數字,第二位可能是大小寫字母或者數字,第三位可能是大或小寫字母

應用場景

不同破解模式下的具體應用場景,用的時候需要稍微注意下語句格式(暫以破解最普通的md5 hash為例)

基於純字典的爆破模式 [Straight]

hashcat --force -a0 -m 0 hash.txt /home/weak_wordlist/pass/weakpass.txt -o res.txtcat res.txt

字典與字典組合[Combination]:

我有兩個這樣的字典,字典包含如下的字元串,而我的實際密碼是』adminpass』(字典文件可同時有很多個,不過那也意味你的組合也會特別多,速度就會慢),實際破解就可以像下面就這樣寫。

catdic1.txtdic2.txt

hashcat --force -a1 -m 0 hash.txt dic1.txt dic2.txt

純掩碼的爆破模式[Brute-force]

基於純掩碼的爆破模式,其實就是嘗試逐個位破解,一般人的密碼設置習慣大都是基於大小寫字母數字這種形式的,如果hash實在比較多,可以嘗試從指定的位數開始一位位的將大小寫特殊字元輪詢這跑,可以節省一些時間。

破解九位純小寫字母組成的密碼hash,可以看到在我雙CPU雙核的虛擬機中破解這種只是兩三分鐘的事情。

hashcat --force -a 3 -m 0 hash.txt ?l?l?l?l?l?l?l?l?l

前三位小寫字母,后四位數字
hashcat --force -a 3 -m 0 hash.txt ?l?l?l?d?d?d?d

10位純數字,其實大家都很清楚,底層對數字的處理速度是最快的
hashcat --force -a 3 -m 0 hash.txt ?d?d?d?d?d?d?d?d?d?d

7位小寫字母加數字的隨機組合
hashcat --force -a 3 -m 0 hash.txt -1 ?l?d ?1?1?1?1?1?1?1

除了上面這種常規的掩碼寫法,你也可以這樣,比如,你明確的知道密碼的某一位或者幾位上可能是什麼字元,你也可以這樣寫掩碼,假設密碼明文為』loveshare』,你實際破解的掩碼就可以這樣寫,它只會去破解有掩碼的位,速度自然就非常快了。

hashcat --force -a 3 -m 0 hash.txt ?l?lve?l?la?l?l

字典加掩模式[Hybrid Wordlist + Mask]

基於字典和掩碼配合的爆破模式,把可能存在的字元串事先寫到字典中,然後hashcat在破解的時候會把後面所有的掩碼組合跟前面的字典每行中的字元串進行拼接,直到猜解出明文,下面也是一樣,只不過下面是把掩碼放在了前面字典放在了後面。其實,它想表達的意思非常簡單,比如: dic1.txt 中的內容是這樣的

admin root ....

實際的明文密碼是這樣的

adminpass123

那你實際破解的掩碼,就可以這樣寫

hashcat --force -m 0 hash.txt -a 6 dic1.txt -1 ?l ?l?1?1?1?d?d?d

其實,它實際的拼接過程就相當於下面這樣,直到最後就會撞到adminpass123

admin?l?1?1?1?d?d?dpass?l?1?1?1?d?d?d...

下面是多字典實例

hashcat --force -m 0 hash.txt -a 6 dic1.txt dic2.txt -1 ?l ?l?1?1?1?d?d?d

掩碼和字典配合的爆破模式 [Hybrid Mask + Wordlist]

hashcat --force -m 0 hash.txt -1 ?l?d ?1?1?1?1 -a 7 dic1.txt dic2.txt

基於increment的自動變長模式

基於increment的自動變長模式,下面的意思就表示自動破解4到8位由小寫子目錄和數字組成的密碼hash:

hashcat --force -a 3 -m 0 hash.txt --increment --increment-min=4 --increment-max=8 -1 ?l?d

實例講解

下面是一些我們可能會經常碰到的散列掩碼爆破實例,自己機器性能不是太好,為了節省時間,所以實際設置的密碼都非常簡單,大多是9位以內的小寫字母加數字。

破解最普通的md5 hash

破解最普通的md5 hash[可能也是大家用的最多的散列(本身並非加密演算法,大多是用來做hash校驗用的),除了常規網站後台管理密碼,另外,很多常見伺服器端工具的默認加密都是基於此類型,如:filezilla,等等……],下面表示破解8位由小寫字母數字組成的密碼:

hashcat --force -a 3 -m 0 hash.txt -1 ?l?d ?1?1?1?1?1?1?1?1

破解 sha系列 hash

絕大多數linux發行版的默認用戶密碼加密類型都是基於sha系列的變種

純sha1,五位小寫字母
hashcat --force -a 3 -m 100 hash.txt ?l?l?l?l?l

純sha224,五位小寫字母hashcat --force -a 3 -m 1300 hash.txt ?l?l?l?l?l

純sha256,五位小寫字母
hashcat --force -a 3 -m 1400 hash.txt ?l?l?l?l?l

純sha384,五位小寫字母
hashcat --force -a 3 -m 10800 hash.txt ?l?l?l?l?l

純sha512,五位小寫字母[速度稍慢]
hashcat --force -a 3 -m 1700 hash.txt ?l?l?l?l?l

破解 linux 系統用戶密碼hash

可能稍微有些慢,相比之下用john(這也是一款比較好用的hash破解工具,後續我們還會單獨說)跑,效果可能會更好一些。

hashcat --force -a 3 -m 1800 hash.txt ?l?l?l?l?l

破解 win 2008 系統用戶的 ntlm hash

實際破解中只需要破解ntlm部分的值即可,m的值就不用了,另外,還有域中的各類證書散列類型破解基本都是如此,這裡就不一一舉例了。

hashcat --force hash.txt -m 1000 -a 6 dic1.txt ?s?s?s?d?d?d

破解 mysql 4/5.x 資料庫用戶hash

記得實際破解的時候把hash開頭的*去掉,要不然可能識別不出來

select * from mysql.user\G;hashcat --force hash.txt -m 300 -a 3 ?l?l?l?l

破解 mssql系列[2005/2008/2012] 資料庫用戶hashSELECT name, password_hash FROM master.sys.sql_logins hashcat --force hash.txt -m 132 -a 3 ?l?l?l?l?l?d?d?d

破解 pgsql 資料庫用戶hash

實是md5的變種,跑的時候記得把hash開頭的md5去掉,不過自己在實際跑的過程中,暫時還有些問題,如果用普通的md5來跑,跑出來的明文和我實際的密碼還有一些出入。

SELECT usename, passwd FROM pg_shadow; hashcat --force hash.txt -m 12 -a 3 ?l?l?l?l?l?d?d?d

破解 oracle 11g 資料庫用戶hash

得倒數第20個字元加':',要把鹽區分出來

ELECT name,spare4 FROM sys.user$; S:EC9E3B871377F217DCFA18F1B84F2F2EACFF9299:AB4B59A17C93F8CB4840 hashcat --force hash.txt -m 112 -a 3 ?l?l?l?l?l

破解 wpa/wpa2 握手包中的無線密碼hash

可能需要你自己先把握手包用wpaclean整理一下,再用aircrack輸出成hashcat認識的散列格式,非常實用。

hashcat -a 3 -m 2500 wpahash.hccap ?l?l?l?l?l?l?l?l

破解 wordpress 4.x 用戶密碼hash

實際測試版本 4.7.4--具體加密方式在wp-includes\class-phpass.php 文件中的HashPassword函數中

hashcat --force hash.txt -m 400 -a 3 ?l?l?l?d?d?d

破解 joomla < 2.5.18 用戶密碼hash

實際測試版本 joomla 2.5.1--具體加密方式在 libraries\joomla\user\helper.php 文件中的genRandomPassword和getCryptedPassword函數中

hashcat --force hash.txt -m 11 -a 3 ?l?l?l?l?l

破解 joomla > 2.5.18 用戶密碼hash

跟上面wp的散列類型其實是一樣的,但自己實際跑的時候hash卻沒有識別出來,暫時還沒找到問題的根源,如果有成功的朋友,麻煩也告訴我一下] [實際測試版本joomla 3.7]:具體加密方式在 libraries\joomla\user\helper.php 文件中的genRandomPassword和getCryptedPassword函數中

hashcat --force hash.txt -m 400 -a 3 ?l?l?l?l?l

破解drupal 7.x 用戶密碼hash

實際測試版本7.5.4--具體加密方式在 includes\password.inc 文件中的_password_crypt函數中

hashcat --force -m 7900 hash.txt -a 3 ?l?l?l?l?l

破解discuz 3.x 用戶密碼hash

實際測試版本discuz x3.2,暫時還有些問題,具體加密方式在 uc_client\model\user.php 文件中的add_user函數中

hashcat --force -m 2611 hash.txt -a 3 ?l?l?l?l?l

破解phpbb3 用戶密碼hash

實際測試版本 phpbb3.2,暫時還有些問題

hashcat --force -m 400 hash.txt -a 3 ?l?l?l?l?l?d?d?d

破解 htpasswd 密碼hash

hashcat --force -m 1500 hash.txt -a 3 ?d?d?d?d?d?d

破解Adobe PDF 11文件密碼hash

後面針對這種包公套件的加密破解,都需要自己先把hash提取出來,在john基本都有對應的hash提取腳本,可直接用,後續我們再說,下面幾種類型的破解有幾個還有一些問題,不過,我們後面用john來搞就好了。

hashcat --force -m 10700 hash.txt -a 3 ?d?d?d?d?d?d

破解 Office 2013 文件密碼hash

hashcat --force -m 9600 hash.txt -a 3 ?d?d?d?d?d?d

破解 RAR5壓縮文件密碼hash

hashcat --force -m 13000 hash.txt -a 3 ?d?d?d?d?d?d

破解 7-Zip壓縮文件密碼hash

hashcat --force -m 11600 hash.txt -a 3 ?d?d?d?d?d?d

破解 WinZip壓縮文件密碼hash

hashcat --force -m 13600 hash.txt -a 3 ?d?d?d?d?d?d

破解grub 2.x hash

hashcat --force -m 7200 hash.txt -a 3 ?d?d?d?d?d?d

破解 TrueCrypt 密碼hash

曾經還算是個比較強的磁碟加密工具,自己也一直在用,只不過後來發生了一段故事,導致它官方自爆不再安全,也是尷尬。

hashcat --force -m 62XY hash.txt -a 3 ?d?d?d?d?d?d

破解 Skype 密碼hash [需要自己從對應的xml文件把hash提取出來,很抱歉,我沒成功]:

hashcat --force -m 23 hash.txt -a 3 ?d?d?d?d?d?d

實際破解中自己的一些建議

關於在實際破解中自己的一些建議,暫以大批量hash爆破為例[事先沒有任何密碼規律可循,只能盲測的那種情況。

1、首先,弱口令字典先走一遍再說。

2、其次,跑掩碼,把所有想跑的掩碼全部事先放到.hcmask文件中,然後載入它自動跑,上面已有介紹。

3、如果只是針對單條hash,在上述方法都跑不出來的情況下,可以去仔細分析下目標的密碼設置規律,再嘗試組合,可能效率會高一點,但那也只是可能。

4、最後,如果你自己真的有能力,可以想辦法把它做成分散式快速hash破解產品[密碼機],然後拿到市面上去賣,也是完全可行的,畢竟已經有很多成功的案例,只不過你可能更多應該考慮下怎麼比別人做的效率更高,更易用,不然,很難有市場。

密碼安全個人建議

1、密碼要保持足夠的隨機性,絕不要讓別人輕易分析出的你密碼設置習慣和規律,有很多的字典生成工具中的演算法就是根據這個來的,不然,很快就會被別人撞到密碼。

2、密碼字元要足夠混亂,嚴禁將單純的大小寫字母,數字,作為密碼,在保證密碼隨機性的前提下,密碼中最好同時包含有數字,大小寫字母,特殊字元。

3、保證必要的密碼長度,,推薦至少15位以上,我們也看到了,對於那種8,9位的純字母數字的密碼,在hashcat面前基本是不堪一擊的,當然啦,等量子或者光子計算機技術成熟以後,估計現有的各種加密演算法,基本要淪陷一大半了,另外,看到很多說密碼要經常改,其實,個人認為在你密碼沒有任何泄露而且足夠複雜的前提下,根本沒有必要經常改,不過,這也是建立在你沒有被人搞進去的大前提下的,密碼即使再複雜,如果一下被人抓到了明文,也就是個擺設了,個人一直都認為安全本來就是一個多維度的東西,滲透者需要的有時只是一個有突破性的點,而防禦者卻要防禦所有可能被攻破的維度,所以,一個優秀的防禦者,在此之前也一定是一個優秀滲透者。

4、嚴禁一個密碼同時用於n個賬號登陸,不然,別人只需要拿著這一個密碼就可以到你經常去的其它網站上把你的私人信息翻個頂兒朝天了,想必很多人為了圖方便[起碼在很久很久以前,自己也這樣做過],可能都會這樣做,很顯然這是一種非常傻叉的行為,比如,專門針對此的"撞庫攻擊",其實,說到這類還想再多提一點信息搜集里的東西,"水坑攻擊",其實,就是搜集的社交關係網,然後,在你經常去的一些偏門的站點上等著你,要麼社工,要直接把那個站搞下來。

5、嚴禁把密碼隨意泄露給別人,這年頭,社工幾乎是無處不在的。

6、認清釣魚站,看清楚再敲,不然,賬號密碼就被丟到別人的機器上了。

7、嚴禁把明文密碼直接寫到文件保存到系統里,基於等於給別人留了個後門,一條命令就什麼都有了。

密碼字典

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

弱口令

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

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


可以點擊原文連接查看這個文章

密碼分解的幾種方式

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

字元和數字組合

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

password123、passw0rd、0password0、123456admin、a123456a

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

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

數字在字元串後面

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

數字在字元串中間

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

數字在字元串兩邊、字元串在數字串兩邊

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

字元、數字、特殊字元

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

最終密碼分解方式

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

首先拿到幾個密碼,如:admin123!@#、123@#pass、1S@d5da3等,如何使用一種方式適用多種密碼的分解?我的做法是:

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

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

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

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

  • 最後使用前*后的方式組合密碼,形成密碼字典進行破解

推薦hash破解工具

其實hashcat自帶的使用的mask的方式破解八位以內的密碼還是可以的,破解八位以上的就需要字典與mask、mask與mask、字典與字典的組合才能完成任務。

總結

我們是在講滲透,而非專門研究加密解密和工具自身的破解演算法上,並不是為了專門研究密碼學,對於滲透者來說,我們只是想利用手裡現有的各種憑證,來繼續下一步的滲透動作。僅此而已。所以,大可不用在這些工具上浪費太多的時間,能快速上手,並且能跑出來自己想要的東西才是主要目的,與其花那麼長的時間在這種工具上,不如花更多的時間好好想想該如何'搞'到這些hash才是正途,搞到hash起碼還能說明你離目標又近了一步,連hash到搞不到才是真正的尷尬,不忘初心,方得永生!

下面閱讀原文有啥



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦