日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

初探密码破解工具JTR

發布時間:2023/12/8 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 初探密码破解工具JTR 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JTR是John The Ripper的縮寫本身是用來專門破解linux系統用戶hash的,但現在已經不再那么局限了,它同樣也提供了非常多的散列類型,雖然,跟hashcat在某些方面確實還差了一個量級,但它也有自己很獨到的地方,多用你就知道了,廢話不多說,咱們開始吧

如何安裝JTR

windows下提供了編譯好的exe工具,但是實際破解的話還是推薦Linux版的,下面就簡單介紹一下在Linux下的安裝方法。

系統環境:在Ubuntu16.04.2 LTS

軟件版本:John The Ripper 1.8

像類似的hash破解工具,不用多說,單獨找個顯卡或者CPU性能好點的機器是必須的,要不,意義何在呢,編譯安裝的過程就非常簡單了,如下[如果實在嫌手敲的累,自己放腳本里跑跑就好了]

wget http://www.openwall.com/john/j/john-1.8.0.tar.xz tar xvfJ john-1.8.0.tar.xz cd john-1.8.0/src make 選擇對應的系統平臺進行編譯 make clean linux-x86-64 echo $? cd ../run/ ./john --test 測試當前系統的破解速度 echo $?

安裝完以后,看到如下的情況,基本就算安裝成功了

一些小建議

1 下面是john 默認破解規則的配置文件(可自行設置每種模式下的具體破解規則,一般沒有極特殊的需求,我們是很少改配置的,有興趣可以仔細閱讀該文件):

cat john.conf

2 john在運行期間會在當前目錄產生一個john.pot文件,用來緩存破解時的數據,主要是用來記錄破解進度什么的,如果你每次想從頭開始破解,直接把這個文件手工刪除,然后重新跑即可

rm -fr john.pot

常用參數解釋

--single 簡單破解模式,也是默認的執行模式,就是根據用戶和家目錄名進行一些簡單的變形猜解 --incremental ? 逐個遍歷模式[其實跟hashcat的increment模式是一樣的],直到嘗試完所有可能的組合 --wordlist ? ? ?純字典模式,后面跟上字典的路徑即可 --external ? ? ?擴展[自定義]破解規則模式,今天先不講,有閑工夫會專門說 --restore 從上次的破解進度接著執行破解過程,它會把破解的過程存到john.pot文件中,下次破解會先讀取該文件,如果不想讓它從這兒讀取,而是從頭跑,直接把它刪掉就好了 --show 顯示已經破解出來的hash及所對應的明文密碼 --users 只破解指定用戶的hash,可以是用戶名或者對應的uid --groups 只破解指定用戶組的hash,可以是組名或者對應的gid --shells 只破解指定shell的hash,可以用逗號分隔多個shell程序 --format 指定要破解的hash所對應的加密類型,可以不用手工指定,john會自動識別 --stdout 從標準重定中接收指定字符

關于不同破解模式的官方介紹,如下,沒事兒還是建議多看看官方文檔,對你肯定會有很大的幫助:http://www.openwall.com/john/doc/MODES.shtml

Incremental模式詳解

關于Incremental模式的一些默認破解規則,最大跑8位,為了節省時間,建議挨個字符集嘗試,特別不建議一上來就給個特別大的范圍,比如,all,機器性能不是太好的話,可能要跑很久:

破解模式的具體方法破解的密碼長度所包含的字符
Incremental:all0-8All 95 printable ASCII characters
Incremental:all150-5All 95 printable ASCII characters
Incremental:all66All 95 printable ASCII characters
Incremental:all77All 95 printable ASCII characters
Incremental:all88All 95 printable ASCII characters
Incremental:alpha1-8A-Z 純大寫字母
Incremental:digits1-80-9 純數字
Incremental:lanman0-7A-Z, 0-9, and some special characters 大寫字母,數字加一些特殊字符

測試舉例

暫以破解linux系統用戶密碼hash為例,我們需要先合并下linux系統中的用戶/組和密碼及hash的配置文件(實際中,你可以想辦法直接把目標的賬戶hash文件先down下來,然后再在本地合并,另外,在john中有個比較好的地方,如果實在不知道某條hash的具體散列類型,直接在john后跟上要破解的hash即可,它會自動去識別出類型,然后先嘗試簡單模式,如果簡單模式破不出來,會自動再用incremental):

./unshadow /etc/passwd /etc/shadow > user_hash.txtcat user_hash.txt./unshadow /etc/group /etc/gshadow >> group_hash.txtcat group_hash.txt

實際測試用戶

klion:x:1002:1002::/home/klion: sec:x:1003:1003::/home/sec: master:x:1004:1004::/home/master: webadmin:x:1005:1005::/home/webadmin: httpd:x:1006:1006::/home/httpd: elk:x:1007:1007::/home/elk:/usr/sbin/noglogin

破解過程

破解linux系統用戶的密碼hash[新一點的發行版默認基本都是基于'sha512crypt'加密的],實際破解中,最好指定用戶名,shell類型,以節省時間,接下來的演示中,為了能盡快演示給大家看到實際的破解效果,會盡量選擇字典模式,實際破解中,按照下面的爆破順序來就好了: 首先,使用默認的爆模式,它會先嘗試single模式,然后再嘗試incremental模式,直到把所有的規則都跑完,很顯然,如果用戶比較多,這樣耗時必然就會很長,可以看到,由于我的密碼設的都比較簡單,所以瞬間就出來了,實際中可沒那么輕松:

./john --user=klion,sec,1004,webadmin,httpd,1007 user_hash.txt

粗暴簡單的爆破模式 [single],只爆破指定用戶的hash(如果不手工指定hash類型,john會自動幫你識別,并提示你):

./john --single --user=klion,sec,1004,webadmin,httpd,1007 user_hash.txt

基于純字典的爆破模式[wordlist,顧名思義,你需要事先精心準備好一個高質量字典,字典不用過大,可以多在質量上做些文章]:

john --wordlist=./weakpass.txt --users=elk,root user_hash.txt

只破解特定shell類型的用戶hash,如果用戶實在比較多,我們只需要破解那些可以登錄到系統中的用戶就好了,偽用戶可以暫時不用管:

./john --wordlist=./weakpass.txt --shells=/usr/sbin/noglogin user_hash.txt

逐個遍歷的爆破模式,這里暫以純數字為例[incremental 實際破解速度可能會比較的慢,畢竟是一位位的猜解,組合比較多]:

./john --incremental:digits --users=webadmin user_hash.txt

顯示已經破解出的hash:

./john --user=klion,sec,1004,webadmin,httpd,1007 user_hash.txt --show

破解實戰

實際破解中推薦的爆破順序,為了盡量節省爆破時間,可以自行嘗試:

single模式 -> wordlist模式 -> incremental模式 -> 默認模式

破解最普通的md5

john --wordlist=weakpass.txt --format=Raw-MD5 hash.txt

破解 ntlm

可能是編譯的時候,沒把有些庫加進去,導致john不支持NT2類型的hash,所以后面的掩飾就直接用win版的john代替了(實際測試的hash為2008r2系統用戶的hash):

john --list=formats 查看john所支持的所有散列類型 john --wordlist=weakpass.txt --format=NT2 hash.txt

破解mssql 2012系列數據庫用戶hash

john --wordlist=weakpass.txt --format=mssql12 hash.txt

破解mysql 系列數據庫用戶hash

john --wordlist=weakpass.txt --format=mysql-sha1 hash.txt

破解oracle 11g 數據庫用戶hash

john --wordlist=weakpass.txt --format=oracle11 hash.txt

破解 postgresql 數據庫用戶hash

如果特意指定散列類型貌似不太好使,讓它自動識別就好了,不知道今天什么情況,之前在centos7中用一直都沒問題的呀

john --wordlist=weakpass.txt ?hash.txt

破解office 系列加密后的hash(2016)

"c:\Program Files\python27\python.exe" office2john.py sec.docx >> office_hash.txt type office_hash.txt john --wordlist=weakpass.txt --format=office office_hash.txt

破解drupal7 用戶密碼hash

john --wordlist=weakpass.txt --format=drupal7 hash.txt

破解rar系列密碼hash(rar和rar5的hash提取破解方法幾乎是一模一樣的)

rar2john.exe sec.rar > rar_hash.txt type rar_hash.txt john --wordlist=weakpass.txt --format=rar rar_hash.txt

rar2john.exe sec.rar > rar5_hash.txt type rar5_hash.txt john --wordlist=weakpass.txt --format=rar5 rar5_hash.txt

破解zip密碼hash

zip2john.exe sec.zip > zip_hash.txt type zip_hash.txt john --wordlist=weakpass.txt --format=PKZIP zip_hash.txt

破解7z密碼hash

可能提取腳本的問題,暫時沒空管它,不過還有7z2hashcat.pl的腳本(運行時候可能需要你自己裝一些perl模塊)可以直接轉成hashcat識別的格式,大家可以試試

"c:\Program Files\python27\python.exe" 7z2john.py sec.7z john --wordlist=weakpass.txt --format=7z 7hash.txt

破解pdf密碼hash

可能又是腳本的問題,哪天閑下來了統一搞下吧,看樣子,腳本估計沒幾個能用的

"c:\Program Files\python27\python.exe" security-geek-2016-A.pdf > pdf_hash.txt type pdf_hash.txt john.exe pdf_hash.txt

這里跟pgsql一樣,不用特意指定類型,暫時還不知道是什么毛病

破解wpa/wpa2hash

直接從標準輸出中讀取密碼然后挨個嘗試

john --stdout --incremental:all | aircrack-ng -b 目標ap的mac -w - wpa2*.cap

參考連接

https://countuponsecurity.files.wordpress.com/2016/09/jtr-cheat-sheet.pdf

http://msu-nftc.org/courses/intro/material/9 Password Cracking/Tools/John the Ripper.pdf

總結

作為john的入門使用,到這里基本就差不多了,確實非常簡單,里面所支持的散列類型這里就不一一演示了,破解方式幾乎都是一樣的,關鍵是知道各種爆破模式的工作細節和各類hash的提取方法,這才是今天要關注的重點,關于自定義規則后續有空會再單獨說明,它比hashcat唯一好一點的是,如果你不指定目標的hash類型它會自動匹配,但實際破解中跟hashcat還是有著比較大差距的[就免費版來說],估計專業版應該會好很多吧,反正我自己沒用過

總結

以上是生活随笔為你收集整理的初探密码破解工具JTR的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。