1. <tr id="tw6y6"></tr>
    2. <p id="tw6y6"></p>
      <object id="tw6y6"><strong id="tw6y6"><address id="tw6y6"></address></strong></object>
      潮州新聞網潮州論壇為您提供潮州市新聞,潮州天氣預報, 潮州招聘等信息。本站內容包括潮州民生新聞,潮州招聘信息,潮州市廣告等!

      潮州新聞網

      當前位置:主頁 > 推薦文章 > 我是如何破解1億2200萬SHA1和Md5哈希密碼的-網絡&#12539;安全技

      我是如何破解1億2200萬SHA1和Md5哈希密碼的-網絡&#12539;安全技

      時間:1970-01-01 08:00 來源:未知 作者:admin 點擊:
      這是關于我如何破解密碼的哈希值1億2200萬* John the Ripper和oclHashcat-plus故事. 這是幾個月前,當我看到一條推特:從korelogic約含共1億4600萬個密碼的密碼哈希表的torrent文件。這個非常大的數量的密碼哈希起初讓我很沮喪,因為我自己只有一臺經典配置
      這是關于我如何破解密碼的哈希值1億2200萬* John the Ripper和oclHashcat-plus故事.

      這是幾個月前,當我看到一條推特:從korelogic約含共1億4600萬個密碼的密碼哈希表的torrent文件。這個非常大的數量的密碼哈希起初讓我很沮喪,因為我自己只有一臺經典配置的AMD Phenom II 4核3.2 MHz的電腦,外加一個ATI/AMD 5770顯卡。但我真的很想給嘗試一下,因為該領域的密碼破解讓我著迷。

      在這漫長的旅程中我用的密碼破解工具是John the Ripper和oclHashcat-puls。這篇文章是關于破解korelogic提供的MD5哈希值,但同樣的策略也適用于SHA1哈希破解。

      更新:

      08/29/2012 –新的例子在John the Ripper部分: "在dict2hash.pl腳本的幫助下破解雙MD5密碼值"

      08/29/2012 – 所有的都進行過排序和整理新的版本下載。

      處理哈希值:

      首先,所有的korelogic torrent文件必須被解壓縮,它包含一個命名為“校驗”文件夾。讓我們檢查這個文件夾的內容…

      
      
      1. root@m3g9tr0n:~/hashes$ ls 
      2.  
      3. longer_salts raw-md5.hashes.txt salted_with_md5 SHA1 vBulletin-v3.8.4 

      從現在起我們集中在raw-md5.hashes.txt文件列表,這個文件是4.3GB,通過wc工具可以看出它包括139444502行。

      
      
      1. root@m3g9tr0n:~/hashes$ wc -l raw-md5.hashes.txt 
      2.  
      3. 139444502 raw-md5.hashes.txt 

      正如你可以假設,無論是John the Ripper和oclHashcat-plus都無法加載該文件,因為它太大了。出于這個原因,我們需要分割該文件。在Linux下,我們有一個很好的工具稱為split 做這件工作得很好:

      
      
      1. root@m3g9tr0n:~$ split --help 
      2.  
      3. Usage: split [OPTION]... [INPUT [PREFIX]] 
      4.  
      5. Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default 
      6.  
      7. size is 1000 lines, and default PREFIX is `x'. With no INPUT, or when INPUT 
      8.  
      9. is -, read standard input. 
      10.  
      11. Mandatory arguments to long options are mandatory for short options too. 
      12.  
      13. -a, --suffix-length=N use suffixes of length N (default 2) 
      14.  
      15. -b, --bytes=SIZE put SIZE bytes per output file 
      16.  
      17. -C, --line-bytes=SIZE put at most SIZE bytes of lines per output file 
      18.  
      19. -d, --numeric-suffixes use numeric suffixes instead of alphabetic 
      20.  
      21. -l, --lines=NUMBER put NUMBER lines per output file 
      22.  
      23. --verbose print a diagnostic just before each 
      24.  
      25. output file is opened 
      26.  
      27. --help display this help and exit 
      28.  
      29. --version output version information and exit 
      30.  
      31. SIZE may be (or may be an integer optionally followed by) one of following: 
      32.  
      33. KB 1000, K 1024, MB 1000*1000, M 1024*1024, and so on for G, T, P, E, Z, Y. 
      34.  
      35. We can use the --lines=NUMBER parameter to split our raw-md5.hashes.txt file. 

      我們可以使用“--lines=NUMBER”參數來分割我們的原始md5.hashes.txt文件。

      
      
      1. root@m3g9tr0n:~/hashes$ split -l 3000000 raw-md5.hashes.txt part 

      請注意,考慮到每個MD5哈希是32字節長,我們還可以基于MB來進行文件分割。

      使用oclHashcat-plus來破解密碼

      我開始玩oclHashcat-plus,因為它包含了-remove選項,一旦被破解它從hashfile刪除破解成功的哈希值,這是真的很方便。oclHashcat-plus唯一的限制,是它對密碼長度的限制。換句話說,它僅能夠破解密碼最多15個字符。我使用oclHashcat-plus規則是base64.rule,passwordspro.rule,T0XlC.rule在某些情況下d3ad0ne.rule。這些規則可以直接從oclHashcat-plus中找到。

      暴力破解技術是不是我的第一選擇。我用的字典是從g0tm1lk的BlogSpot下載的(http://blog.g0tmi1k.com/2011/06/dictionaries-wordlists/?redirect)。在g0tmi1k的文章其他外部鏈接中你會發現更多的字典。破解過程中最大的一部分是通過使用這些字典與上述規則進行。讓我們來看看一些例子

      使用單一規則:

      
      
      1. ./oclHashcat-plus64.bin -m 0 ~/hashes/md5_1 ~/Wordlists/d3ad0ne.dic -r rules/best64.rule -o Ultimate_Crack/eNtr0pY_1 --remove 

      使用組合規則:

      
      
      1. ./oclHashcat-plus64.bin -m 0 ~/hashes/md5_1 ~/Wordlists/d3ad0ne.dic -r rules/best64.rule r rules/passwordspro.rule -o Ultimate_Crack/eNtr0pY_1 --remove 

      使用掩碼進行暴力破解攻擊(可以指定任何你想要的字符集):

      
      
      1. ./oclHashcat-plus64.bin -a 3 -1 ?l?d?u?s -m 0 ~/hashes/md5_1 ?1?1?1?1?1?1?1?1 -o Ultimate_Crack/eNtr0pY_1 --remove 

      組合破解:

      
      
      1. ./oclHashcat-plus64.bin -a 1 -m 0 ~/hashes/md5_1 ~/Wordlists/d3ad0ne.dic ~/Wordlists/list -o Ultimate_Crack/eNtr0pY_1 --remove 

      使用規則進行組合破解:

      
      
      1. ./oclHashcat-plus64.bin -a 1 -m 0 ~/hashes/md5_1 ~/Wordlists/d3ad0ne.dic ~/Wordlists/list -r rules/passwordspro.rule -o Ultimate_Crack/eNtr0pY_1 --remove 

      排列組合破解:

      
      
      1. ./oclHashcat-plus64.bin -a 4 -m 0 ~/hashes/md5_1 ~/Wordlists/d3ad0ne.dic -o Ultimate_Crack/eNtr0pY_1 --remove 

      排列組合規則破解:

      
      
      1. ./oclHashcat-plus64.bin -a 4 -m 0 ~/hashes/md5_1 ~/Wordlists/d3ad0ne.dic -r rules/best64.rule -o Ultimate_Crack/eNtr0pY_1 --remove 

      在某些情況下,我使用了混合 + 掩碼攻擊技術:

      
      
      1. ./oclHashcat-plus64.bin -a 6 -1 ?l?d -m 0 ~/hashes/md5_1 ~/Wordlists/d3ad0ne.dic ?1?1 -o Ultimate_Crack/eNtr0pY_1 --remove 

      混合掩碼規則破解:

      
      
      1. ./oclHashcat-plus64.bin -a 6 -1 ?l?d -m 0 ~/hashes/md5_1 ~/Wordlists/d3ad0ne.dic ?1?1 -r rules/best64.rule -o Ultimate_Crack/eNtr0pY_1 --remove 

      在這一點上,我沒有用最后兩個方法,因為他們是非常耗時的。我寧愿為John the Ripper 找到一個更好的KoreLogic的規則,將John the Ripper 的輸出管道到oclHashcat-plus。正如我所說,oclHashcat-plus能夠破解的密碼最多15個字符。出于這個原因,我不得不通過“--stdout”選項限定每一次所產生的單詞長度。如果你擁有一個非?焖俚腉PU可以跳過下面的例子。

      
      
      1. ./john --wordlist=~/Wordlists/all.lst -rules:KoreLogicRulesPrependYears --stdout=10 | ./oclHashcat-plus64.bin -m 0 ~/hashes/md5_1 -o Ultimate_Crack/eNtr0pY_1 --remove 

      當然你也可以使用來自Korelogic創建的其他前置的規則,像KoreLogicRulesPrependNumNum,甚至更好的創建自己的規則!是時候從破解密碼的單詞表中生成字典來破解剩余哈希值了。從eNtr0pY_1,使用以下命令我刪除了MD5哈希值。

      cut -b34- eNtr0pY_1 > eNtr0pY_1.dic

      通過使用上述制造的字典,大量MD5哈希值被這種指紋攻擊破解。你可以閱讀更多關于馬丁博斯@purehate這種攻擊,我向你保證,這個技術是非常成功的!

      當然,你也可以使用hashcat-utils中的二進制文件以及每一個管道到oclHashcat-plus的輸出。

      
      
      1. root@m3g9tr0n:~/oclHashcat-plus-0.08/hashcat-utils$ ls 
      2.  
      3. combinator.bin expander.bin gate.bin len.bin mp32.bin permute.bin prepare.bin req.bin splitlen.bin 

      使用John the Ripper破解密碼

      測試完所有我收集的字典以及幾天后,是時候轉移到john the Ripper來破解密碼哈希值的剩余部分...

      我用的Magnum-ripper編譯OpenCL支持ATI / AMD顯卡,因為我想用“--format=raw-md5-opencl參數”。相比“--format=raw-md5”,這是更快的方式為它使用你的CPU和GPU。

      與john the Ripper中使用的規則是:

      
      
      1. wordlist 
      2.  
      3. Single 
      4.  
      5. NT 
      6.  
      7. Extra 
      8.  
      9. KoreLogicRulesAppendNumbersandSpecials_Simple 
      10.  
      11. KoreLogicRulesAppend6Num 
      12.  
      13. KoreLogicRulesPrependAndAppendSpecial 
      14.  
      15. KoreLogicRulesAppendNumNum_AddSpecialEverywhere 
      16.  
      17. KoreLogicRulesAppendNumNumNum_AddSpecialEverywhere 
      18.  
      19. KoreLogicRulesL33t. 

      您可以下載這些規則,并將其添加到您的john.conf文件中:

      http://paste2.org/p/2048517

      http://paste2.org/p/2048512

      現在,讓我們看到john the Ripper的一些例子...

      使用--rules=Single:

      ./john --format=raw-md5-opencl --wordlist=../../Wordlists/all.lst --rules:Single ~/hashes/md5_1

      哈希破解結果存儲在默認文件john.pot中。您可以使用cat,more,head和tail檢查它的內容。

      root@m3g9tr0n:~/Tools/Password_Cracking/magnum-jumbo-OpenCL/run$ tail -n 9 john.pot

      $MD5$0fad81e7a61b47d387dde893fcf8e88a:anacarolinagu

      $MD5$0f82fc9a81f5db07eb9289767390fd2b:fabulousfoodsu

      $MD5$0e22933267b2e7df062703c4e5842029:fabuloustravelu

      $MD5$0d40086a54fefe993c9816d1441672ac:modularhomeu

      $MD5$0ed8181fc4d18e260dd8e36633124bfd:greenshoppingu

      $MD5$0d6e8da4017ec5c384ac5536087da44d:lawofattractionu

      $MD5$0eb916d3c6a66a32cedd4acc6edb1dbb:hotreportu

      $MD5$0e241f99b5c13d56686ec618ab54d5fa:flightsandholidaysu

      $MD5$0f3c99478362aae389d2cbf716394269:stthomasmoresu

      To generate a wordlist from the john.pot file, you can use the following command.

      要從john.pot文件生成從一個字典,可以使用下面的命令。

      cut -d: -f 2- john.pot | sort -u > cracked.dic

      生成的字典可以與上述規則相結合來破解哈希值。

      當我使用oclHashcat-plus破解MD5哈希值時,我觀察到,一些生成的密碼被拒絕。這是因為oclHashcat-plus有一個關于字符串長度的限制。出于這個原因,我管道hashcat的結果輸出到john the Ripper,并且在john the Ripper中更好的使用hashcat規則。

      ./hashcat-cli64.bin --stdout ~/Wordlists/d3ad0ne.dic -r rules/best64.rule | ./john --format=raw-md5-opencl --stdin ~/hashes/md5_1

      嘗試所有字典與上述規則相結合后,是時候使用john the Ripper進行暴力破解破解。不幸的是,john the Ripper暴力破解攻擊時不使用掩碼攻擊以產生密碼。我們有基于包含在破解的密碼來創建我們自己的字符集john.pot。

      ./john --make-charset=eNtr0pY.chr

      Loaded 7948325 plaintexts

      Generating charsets... 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 DONE

      Generating cracking order... DONE

      Successfully written charset file: eNtr0pY.chr (95 characters)

      你們中許多人會想知道“DONE 31”......這僅僅是因為我編譯john the Ripper用31個字符長度。默認情況下,john the Ripper被編譯為8個字符長度的支持,所以最好通過修改頭文件params.h中的以下行來改變,它位于john the Ripper的scr文件夾中。

      #define CHARSET_MIN ' '

      #define CHARSET_MAX 0x7E

      #define CHARSET_SIZE (CHARSET_MAX - CHARSET_MIN + 1)

      #define CHARSET_LENGTH 8 //更改為31或者你期待的值

      最后,在john.conf中你必須包括您所創建的字符集,以如本例中規定:

      # Incremental modes

      [Incremental:eNtr0pY]

      File = $JOHN/eNtr0pY.chr

      MinLen = 0

      MaxLen = 31

      CharCount = 95

      Now it is time to use bruteforce attacks with our own charstet!

      現在是時候用我們自己的字符串來進行暴力破解攻擊!

      ./john --format=raw-md5-opencl --incremental=eNtr0pY ~/hashes/md5_1

      相關標簽:MD5解密(2)cmd5(1)hash解密(1)sha1解密(1)sha1破解(1)

        91无码人妻精品