天天看點

【密碼字典生成之】密碼神器~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# [email protected] ......  
  25. crunch 3 3 abc + 123 @#! -t ^%@  
  26. #生成3位密碼,其中格式為“字元+數字+字母”,這裡字元範圍為!@# ,數字範圍為 1 2 3 , 字母範圍為a b c比如!1c @3b @2a ......  
  27. crunch 5 5 -t [email protected]@ -p dog cat bird  
  28. #生成5個元素組成的密碼,其中前三個為 dog cat bird任意組合,後兩個為兩個小寫字母的任意組合。比如birddogcatuz catdogbirdab birdcatdogff ......  
  29. crunch 7 7 -t p@ss,%^ -l a@aaaaa  
  30. #生成7位密碼,格式為“字元[email protected]”+大寫字母+數字+符号 比如 [email protected]> ......  
  31. crunch 5 5 -s @4#S2 -t @%^,% -e @8 Q2 -l @dddd -b 10KB -o START  
  32. #生成5位密碼,格式為小寫字母+數字+符号+大寫字母+數字,并以 @4#S2開始,分割為10k大小。。。  
  33. crunch 5 5 -d [email protected] -t @@@%%  
  34. #生成5位密碼,格式為三個字母+兩個數字,并限制每個密碼最少出現2種字母  
  35. crunch 10 10 -t @@@^%%%%^^ -d [email protected] -d 3% -b 20mb -o START  
  36. #生成10位密碼,格式為三個小寫字母+一個符号+四個數字+兩個符号,限制每個密碼至少2種字母和至少3種數字  
  37. crunch 8 8 -d [email protected]  
  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. -m #與-p搭配使用  
  49. -o #儲存為  
  50. -p #定義密碼元素  
  51. -q #讀取字典  
  52. -r #定義從某一個地方重新開始  
  53. -s #第一個密碼,從xxx開始  
  54. -t #定義輸出格式  
  55. @代表小寫字母  
  56. ,代表大寫字母  
  57. %代表數字  
  58. ^代表符号  
  59. -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壓縮速度最慢,但是壓縮效率最高。

繼續閱讀