【密碼字典生成之】密碼神器~Crunch




0x01安裝Crunch
  1. tar zxvf crunch-3.6.tgz  
  2. cd crunch-3.6  
  3. gcc -Wall -lm -pthread -std=c99 -m64 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 crunch.c -o crunch -lm  
  4. make install 

0x02使用Crunch
  1. crunch 1 8  
  2. #生成最小1位,最大8位,由26個小寫字母爲元素的所有組合  
  3. crunch 1 6 abcdefg  
  4. #生成 最小爲1,最大爲6.由abcdefg爲元素的所有組合  
  5. crunch 1 6 abcdefg\  
  6. #生成 最小爲1,最大爲6.由abcdefg和空格爲元素的所有組合(/代表空格)  
  7. crunch 1 8 -f charset.lst mixalpha-numeric-all-space -o wordlist.txt  
  8. #調用密碼庫 charset.lst, 生成最小爲1,最大爲8,元素爲密碼庫 charset.lst中 mixalpha-numeric-all-space的項目,並保存爲 wordlist.txt;其中 charset.lst在kali_linux的目錄爲 /usr/share/crunch/charset.lst, charset.lst中 mixalpha-numeric-all-space項目包含最常見的元素組合(即大小寫字母+數字+常見符號)  
  9. crunch 8 8 -f charset.lst mixalpha-numeric-all-space -o wordlist.txt -t @@dog @@@ -s cbdogaaa  
  10. #調用密碼庫 charset.lst,生成8位密碼;其中元素爲 密碼庫 charset.lst中 mixalpha-numeric-all-space的項;格式爲“兩個小寫字母+dog+三個小寫字母”,並以cbdogaaa開始枚舉(@代表小寫字母)  
  11. crunch 2 3 -f charset.lst ualpha -s BB  
  12. #調用密碼庫charset.lst,生成2位和3位密碼;其中元素爲密碼庫charset.lst中ualpha的項;並且以BB開頭  
  13. crunch 4 5 -p abc  
  14. #crunch將會生成abc, acb, bac, bca, cab, cba,雖然數字4和5這裏沒用,但必須有  
  15. crunch 4 5 -p dog cat bird  
  16. #crunch將生成以“dog”“cat”“bird”爲元素的所有密碼組合:birdcatdog,birddogcat,catbirddog, catdogbird, dogbirdcat, dogcatbird  
  17. crunch 1 5 -o START -c 6000 -z bzip2  
  18. # 生成最小爲1位,最大爲5位元素爲所有小寫字母的密碼字典,其中每一個字典文件包含6000個密碼,並將密碼文件保存爲bz2文件,文件名將以 "第一個密碼" + " - " + "最後一個密碼" + " .txt.bz2 " 保存(比如000-999.txt.bz2);下面是生成幾種格式的壓縮文件所用的時間和體積大小對比:  
  19. crunch 4 5 -b 20mib -o START  
  20. # 生成最小爲4位,最大爲5位元素爲所有小寫字母的密碼字典,並以20M進行分割;這時會生成4個文件:aaaa-gvfed.txt, gvfee-ombqy.txt, ombqz-wcydt.txt, wcydu-zzzzz.txt:其中前三個大概每個20M,最後一個10M左右(因爲總共70M)  
  21. crunch 4 4 + + 123 + -t %%@^  
  22. #生成4位密碼,其中格式爲“兩個數字”+“一個小寫字母”+“常見符號”(其中數字這裏被指定只能爲123組成的所有2位數字組合)。比如12f# 32j^ 13t$ ......  
  23. crunch 3 3 abc + 123 @#! -t @%^  
  24. #生成3位密碼,其中第一位由“a,b,c”中的一個;第二位爲“1,2,3”中的一個;第三位爲“!,@,#”中的一個。比如1a! 2a# 3b@ ......  
  25. crunch 3 3 abc + 123 @#! -t ^%@  
  26. #生成3位密碼,其中格式爲“字符+數字+字母”,這裏字符範圍爲!@# ,數字範圍爲 1 2 3 , 字母範圍爲a b c比如!1c @3b @2a ......  
  27. crunch 5 5 -t ddd@@ -p dog cat bird  
  28. #生成5個元素組成的密碼,其中前三個爲 dog cat bird任意組合,後兩個爲兩個小寫字母的任意組合。比如birddogcatuz catdogbirdab birdcatdogff ......  
  29. crunch 7 7 -t p@ss,%^ -l a@aaaaa  
  30. #生成7位密碼,格式爲“字符p@ss”+大寫字母+數字+符號 比如 p@ssZ9> ......  
  31. crunch 5 5 -@4#S2 -t @%^,% -e @8 Q2 -l @dddd -b 10KB -o START  
  32. #生成5位密碼,格式爲小寫字母+數字+符號+大寫字母+數字,並以 @4#S2開始,分割爲10k大小。。。  
  33. crunch 5 5 -d 2@ -t @@@%%  
  34. #生成5位密碼,格式爲三個字母+兩個數字,並限制每個密碼最少出現2種字母  
  35. crunch 10 10 -t @@@^%%%%^^ -d 2@ -d 3% -b 20mb -o START  
  36. #生成10位密碼,格式爲三個小寫字母+一個符號+四個數字+兩個符號,限制每個密碼至少2種字母和至少3種數字  
  37. crunch 8 8 -d 2@  
  38. #生成8位密碼,每個密碼至少出現兩種字母  
  39. crunch 4 4 -f unicode_test.lst the-greeks -t @@%% -l @xdd  
  40. #調用密碼庫 unicode_test.lst中的 the-greeks項目字符,生成4位密碼,其中格式爲兩小寫字母+兩數字,同樣kali_linux中 unicode_test.lst 在/usr/share/crunch目錄  
  41. -b #體積大小,比如後跟20mib  
  42. -c #密碼個數(行數),比如8000  
  43. -d #限制出現相同元素的個數(至少出現元素個數),-d 3就不會出現zzf ffffgggg之類的  
  44. -e #定義停止生成密碼 ,比如-e 222222:到222222停止生成密碼  
  45. -f #調用密碼庫文件,比如/usr/share/crunch/charset.lst  
  46. -i #改變輸出格式  
  47. -l #與-t搭配使用  
  48. -#與-p搭配使用  
  49. -o #保存爲  
  50. -p #定義密碼元素  
  51. -#讀取字典  
  52. -r #定義從某一個地方重新開始  
  53. -#第一個密碼,從xxx開始  
  54. -t #定義輸出格式  
  55. @代表小寫字母  
  56. ,代表大寫字母  
  57.   
  58. %代表數字  
  59.   
  60. ^代表符號  
  61. -z #打包壓縮,格式支持 gzip, bzip2, lzma, 7z  

0x03參數介紹
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
crunch <min-len> <max-len> [<charset string>] [options]
參數解釋
min-len    開始的最小長度字符串(這個選項是必須的)
max-len    結束的最大長度字符串(這個選項是必須的)
charset string    要生成密碼包含的字符集(小寫字符、大寫字符、數字、符號),這個選項是可選的,如果你不寫這個選項,將使用默認字符集(默認爲小寫字符)。如果你想生成的密碼包含空格字符,你可以使用\來代替,
如:123abc\
你可以把帶有空格的字符集放在雙引號“”中,如“123abc ”
OPTIONS
-b     按指定的大小單位分割字典文件成若干個指定的大小的字典,避免一個字典文件過大,如:
./crunch 4 5 -b 20mib -o START 按每個文件20mib分割字典文件。
說明:單位有 kb, mb, gb, kib, mib, gib ,前三個單位是以1000單位計算的,後三個是以1024計算的。
注意數字和單位之間沒有空格,例如:500mb 是正確的, 500 mb 格式是不對的(中間有空格),-b參數必須和-o START結合使用
-c    指定要寫入字典文件中的行數,只在有 -o START參數時才生效,單個字典超過指定的行數會被分割成兩個或多個字典文件。例如: -c 5000
-d    限制同一字符連續出現的數量, -d 2 表示限制一個字符最多連續出現2次如 aabd,ccda。aaab就表示超過了2個字符連續的限制了。
-e    定義到那個字符串就停止生成密碼,例如: -e  999999 就表示在生成密碼到99999時就停止生成密碼
-f    調用密碼庫文件,例如:/usr/share/crunch/charset.lst
-i    改變輸出格式,例如: 原本輸入爲aaa,aab,aac,aad再使用了-i之後,就會變成aaa,baa,caa,daa的格式了
-l    When you use the -t option this option tells crunch which symbols should be treated as literals.   This  will  allow you  to  use  the  placeholders  as  letters  in the pattern.  The -l option should be the same length as the -t option.  See example 15.
-m    與-p搭配使用
-o    輸出生成的密碼到指定的文件,如: -o  lybbnwordlist.txt
-p    定義密碼元素
-q    讀取密碼元素
-r     定義從某一個地方重新開始
-s     第一個密碼,從自己定義的密碼xxx開始
-t    定義密碼輸出格式
        @代表插入小寫字母
        ,代表插入大寫字母    
        %代表插入數字
        ^代表插入符號
-u    The -u option disables the printpercentage thread.  This should be the last option.
-z    壓縮生成的字典文件,有效的參數是gzip, bzip2, lzma, and 7z,其中gzip壓縮最快,bzip2壓縮速度比gzip慢單壓縮效率比gzip好,7z壓縮速度最慢,但是壓縮效率最高。







發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章