為了破解密碼,我們必須嘗試很多可能才能找到正確的密碼。當攻擊者使用數千或數百萬個單字或組合來破解密碼時,無法確定這數百萬個組合中的任何一個是否有效。這種不同字符組合的集合稱為wordlists
。為了破解密碼或雜湊,我們需要有一個可以破解密碼的好的wordlists
。
Wordlists
不算是工具,直接執行會顯示其具體位置/usr/share/wordlists
,裡面放了各工具的字典所在位置
wordlists ~ Contains the rockyou wordlist
/usr/share/wordlists
|--dirb
|--dirbuster
|--fasttrack.txt
|--fern-wifi
|--metasploit
|--nmap.lst
|--rockyou.txt.gz
|--wfuzz
想得到具體字典的位置的話可以輸入以下指令
ls -al /usr/share/wordlists
這樣就能看到各工具wordlists的具體位置
lrwxrwxrwx 1 root root 25 May 30 17:27 dirb -> /usr/share/dirb/wordlists
lrwxrwxrwx 1 root root 30 May 30 17:27 dirbuster -> /usr/share/dirbuster/wordlists
lrwxrwxrwx 1 root root 41 May 30 17:27 fasttrack.txt -> /usr/share/set/src/fasttrack/wordlist.txt
lrwxrwxrwx 1 root root 45 May 30 17:27 fern-wifi -> /usr/share/fern-wifi-cracker/extras/wordlists
lrwxrwxrwx 1 root root 46 May 30 17:27 metasploit -> /usr/share/metasploit-framework/data/wordlists
lrwxrwxrwx 1 root root 41 May 30 17:27 nmap.lst -> /usr/share/nmap/nselib/data/passwords.lst
-rw-r--r-- 1 root root 53357329 Jul 17 2019 rockyou.txt.gz
lrwxrwxrwx 1 root root 25 May 30 17:27 wfuzz -> /usr/share/wfuzz/wordlist
有了wordlists
這個捷徑工具,就不用特別記各個工具的字典檔位置了
CeWL
是一個密碼字典生成器,用爬蟲方式將網站出現的單字列出來並可輸出成檔案供其他工具如john
來當密碼檔使用,簡單的用法如下-d
指定深度,預設為2-m
可以限制單字的最小長度,所以這邊長度至少要到8才會被列出-w
是將單字輸出至指定檔案-e
是指定爬蟲過程也處理email,搭配--email_file
將結果輸出到檔案
最後指定一個目標網站來進行蒐集
cewl -d 1 -m 8 -w /tmp/my.lst -e --email_file /tmp/email.lst https://digi.ninja/
字典檔產生的結果/tmp/my.lst
節錄如下,而/tmp/email.lst
裡則記錄著email
ADDITIONAL
upgraded
normally
restarted
instance
expecting
disaster
disconnected
workstation
literally
affected
看到這結果,有種不是在產生密碼字典檔的感覺,反而比較像英文單字庫...,當然這是因為目標網站內容導致的,如果目標網站有著使用者清單,或是乾脆就有使用者資訊,透過這個工具還是挺方便可以產生需要的資料結果。
CeWL
還有其他用法,像是可以計算網頁單字的數量
cewl https://digi.ninja/ -c
結果如下,統計次數越高越不會考
CeWL 5.4.8 (Inclusion) Robin Wood (robin@digi.ninja) (https://digi.ninja/)
the, 4138
and, 1894
you, 1107
with, 923
this, 829
for, 739
that, 732
Share, 730
接下來介紹另一個工具Crunch
,跟前面用爬蟲去撈現成單字的做法不同,使用列舉方式,真正的無中生有去產生密碼字典,簡單的用法就是指定最小及最大的長度,例如想要產生6-8長度的字串,可以這樣做
crunch 6 8
產生的結果如下
abhdab
abhdac
abhdad
abhdae
abhdaf
而進階的用法chunch -h
並沒有多著墨,因此需要透過man chunch
來了解其他用法
cruch 4 6 0123456789
結果節錄如下
43204
43205
43206
43207
43208
-t
指定pattern@
: will insert lower case characters,
: will insert upper case characters%
: will insert numbers^
: will insert symbolscrunch 8 8 -t abcd,@%^
結果如下
abcdFr9|
abcdFr9\
abcdFr9:
abcdFr9;
abcdFr9"
abcdFr9'
abcdFr9<
-p
指定組合方式crunch 1 10 -p abc 123 XYZ
Crunch will now generate the following number of lines: 6
123XYZabc
123abcXYZ
XYZ123abc
XYZabc123
abc123XYZ
abcXYZ123
那今天就先介紹到這邊,大家晚安~