Hydra是一个简单易用的密码爆破工具,由C语言编写,支持Linux系统。相对于自己写脚本,Hydra的特点是开箱即用的多种协议、多线程的字典爆破支持,而且还自带暂停和恢复进度功能。
Kali Linux发行版自带了Hydra工具和几个简单的字典,我们可以直接使用。
Github主页:https://github.com/vanhauser-thc/thc-hydra
对于Web页面来说,一般想要爆破都没那么简单,现代的页面上通常都有图形验证码、短信验证码等安全机制,后端登陆接口可能还有限流甚至入侵检测,爆破几乎不太可能。
然而,很多人却忽视了除Web以外的一些服务,尤其是位于内网的SMB、FTP、MySQL等。很多服务使用弱口令甚至没有密码,此时我们就可以尝试跑字典进行爆破。
我们直接在终端中输入hydra
即可查看命令提示。
使用hydra -h
可以查看更加详细的命令行参数说明。
下面例子中,我们在192.168.42.18
地址的8888
端口搭建了一个FTP服务器,假设这里我们已知其用户名为root
且使用了弱口令,因此打算爆破其密码。
首先,我们需要确定我们能够建立到FTP服务器的连接,我们可以使用ftp
命令进行尝试:
为了能够进行爆破,我们还需要准备字典。用户名和密码均可以用字典指定,这里简单起见我们假设已经得知了FTP用户名为root
,密码字典直接使用Kali自带的rockyou.txt
。
注:该文件默认位于/usr/share/wordlists/rockyou.txt.gz
,我们将其用gzip -d rockyou.txt.gz
解压即可使用。
执行以下命令进行爆破:
hydra ftp://192.168.42.18:8888 -l root -P rockyou.txt
命令中,-l
指定了FTP用户名,-P
指定了密码字典。
注:用户名如果也不知道,可以用-L
指定字典,但如果完全不知道用户名纯靠盲猜,效率就比较低了。我们爆破密码时,最好是在通过其他手段知道已存在的用户名基础上进行。
由于我们的口令实在是太弱了,因此瞬间就被爆破成功,得知密码为abc123
。