您的位置 首页 > 德语词汇

hydra是什么意思(密码暴力破解工具)

老铁们,大家好,相信还有很多朋友对于hydra是什么意思和密码暴力破解工具的相关问题不太懂,没关系,今天就由我来为大家分享分享hydra是什么意思以及密码暴力破解工具的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!

hydra是什么意思(密码暴力破解工具)

hydra(九头蛇)是著名黑客组织thc的一款开源的暴力破解密码工具,可以说是在市面上公开的工具中功能最强大的破解工具之一。

kali是默认安装了hydra的,hydra几乎支持所有协议的在线破解。hydra在网络安全渗透过程中是一款必备的测试工具。

hydra支持的服务有:POP3,SMB,RDP,SSH,FTP,POP3,Telnet,MYSQ......

一般都是预装在kali中的,这里就不介绍安装方法了。

我只使用过一些常用参数,有些没用过的也只能将帮助文档里的英文进行翻译。所以英文词汇量足够的,可以直接看帮助文档,直接跳过这里的参数讲解,看后面的实操演示。

-R:继续上一次中止/崩溃的任务。\n-I:(这个是i的大写)忽略已经修复的文件。\n-S:指定爆破密码时采用SSL连接。\n-s:指定端口,适用于攻击目标端口非默认的情况。例如:http服务使用非80端口。\n-l:(这个是L的小写)指定要爆破账户名,适合在知道用户名爆破密码时使用。\n-L:指定账户名的字典文件。\n-p:(小写)指定单个密码,适合在知道密码爆破用户名时使用。\n-P:(大写)指定账户密码的字典文件。\n-x:这个参数主要是在没有合适的密码字典文件时,让hydra通过传入的参数暴力破解密码用的,用的比较少。\n-y:在暴力破解时禁止使用指定的符号。\n-r:在暴力破解时不适用随机生成字符串的方式。\n-e:可传项nsr,n:空密码试探,s:使用指定用户和密码相同,r:账户密码反转(比如账户root,密码toor)。\n-u:账户名循环使用,需要和-x一起使用才有效果。\n-C:当用户名与密码存储到一个文件时使用此参数,注意,文件(字典)存储的格式必须为“用户名:密码”的格式。\n-M:指定多个攻击目标,此参数为存储攻击目标的文件的路径(建议为绝对路径)。注意:列表文件存储格式必须为“地址:端口”\n-o:将找到用户密码对写入文件中而不是输出到控制台。\n-b:指定-o参数输出文档的格式。\n-f:只要爆破成功一个账户就停止该主机的爆破,需要和-M一起使用。\n-F:只要爆破成功一个账户就停止爆破,需要和-M一起使用。\n-t:指定爆破时的任务数量(可以理解为线程数),默认为16\n-T:指定爆破时的任务数量,默认64,需要和-M一起使用。\n-w:每次请求等待响应的时间。\n-W:每个线程两次请求之间的等待间隔。\n-c:每次线程尝试登录的等待时间。\n-4:使用IPv4的地址。\n-6:使用IPv6的地址。\n-v:详情模式。\n-V:显示每次请求的账户名和密码。\n-d:debug调试模式。\n-O:使用SSL的v2活着v3。\n-K:不做失败的重复请求,适用于-M批量扫描。\n-q:不打印连接错误的信息。\n-U:显示服务端的详细信息。\n-m:需要和-U一起适用,用于指定模块的特定选项hydra实操演示-Windows密码破解

先检查一下目标主机的账户,并设置一个密码,没有密码也不是不可以,但是就显得后面破解的动作没有意义了。

这里是要利用共享文件夹的smb协议访问,所以也检查一下是否进行了共享:

为了看到渗透的效果,这里提前将目标的远程桌面打开:

检查一下远程连接打开后对应端口是否打开:

除了3389是远程桌面用的端口,还有445、139都是smb协议会用到的端口。

目标主机的ip地址是192.168.218.131,公网中找目标主机的话,可以用扫描工具随机找,这里就直接在目标主机上查看就行:

用攻击机扫描一下目标主机开放的端口:

看到这几个端口被开放了,就表示攻击目标已经准备好了。

接下来就是要准备一些字典文件了,可以从Kali中找现成的来用:

但是我准备的机器密码是自己随意设置的,应该不会出现在Kali中的密码字典中,这里就手动添加一下。

之后就可以用hydra尝试破解密码了,命令如下:

hydra-lchen-Ppasswords_john.txtsmb://192.168.218.130

破解结果

这里准备的目标机器管理员账户是chen,一般品牌机可以使用一些默认的管理员账户,例如administrator、admin。

前面利用的是smb协议,利用rdp协议也是一样的,只要将命令中的协议换一下:

hydra-lchen-Ppasswords_john.txtrdp://192.168.218.130

执行之后没有获取到密码:

从返回的结果中可以看到出现了一些错误。主要是freerdp模块无法和目标主机建立连接导致的,这个无法连接不是账户名密码不对,就是单纯的无法连接,连密码都还没校验。

遇到这种情况要耐心分析原因,不要轻易判定字典中没有正确的密码,可以尝试根据报错信息找找对应的帖子,或者换一个爆破工具。我这里选择躺平,因为无法在Kali使用xfreerdp命令连接上Windows的远程桌面,不清楚是freerdp工具有问题,还是目标Windows有什么策略限制了。

准备一个Linux的目标机器,检查一下ssh的端口是否打开:

hydra-lroot-Ppass.lstssh://192.168.218.129

执行后得到结果:

现在应该比较少了,但是平时最好都加个参数-ensr,会尝试空密码、账户密码相同、账户密码反转,这些都是很低级的失误,但是开发有时候就喜欢犯低级错误。

先查看一下有没有ftp相关的端口被打开:

这里我们选择攻击2121端口,命令如下:

hydra-Luser.txt-Ppass.txtftp://192.168.218.129-s2121-ensr-vV

需要准备用户名字典和密码字典,按照比较常用的账户密码就行,太多了就比较浪费时间。

找一个不需要验证码的登录接口,使用hydra进行爆破,命令如下:

hydra-ladmin-Ppasswords_john.txt-f192.168.218.129http-post-form"/dvwa/login.php:username=^USER^&password=^PASS^&Login=Login:Loginfailed"

稍微解释一下,参数-f的作用是找到一个有效账户后停止爆破。参数http-post-form表示请求方式和传参类型,现在应该不会有get请求进行登录的,如果真遇到这类奇葩了,可以使用http-get作为参数。

后面一长串字符串第一个英文冒号前面是请求的地址,两个冒号之间的是post的body数据,username和password这两个参数名可以通过页面上提交请求看F12中的network记录,也可以直接看页面的源码中对参数的定义。至于^USER^和^PASS^是固定写法,就是从前面命令中传入的用户名和密码。最后第二个冒号之后的内容表示有这个字符串就是登录失败。

这里要提一下,命令中第二个冒号之后跟的默认是失败的依据,但是也可以通过S指定成功的依据,例如

hydra-ladmin-Ppasswords_john.txt-f192.168.218.129http-post-form"/dvwa/login.php:username=^USER^&password=^PASS^&Login=Login:S=index.php"

执行结果

还是先检查有没有将MySQL的端口打开:

hydra-lroot-Ppass.txtmysql://192.168.218.129-ensr-vV

执行结果

可以通过命令xhydra打开hydra的图形化控制台:

如果对hydra的参数有一定了解,基本都能将控制台上的选项和参数对应起来。

这里就不对图形化控制台进行演示了,效果其实和命令行是完全一致的。

hydra的功能非常强大,而且相对以前的版本,现在的hydra稳定性已经有了较明显的提升。但是要想用hydra做好爆破工作,还是要多熟悉各个参数的作用,要积累各种爆破场景的经验。

提醒一下,密码爆破的核心其实是字典,hydra这类工具只是起到检验字典内容的作用。

hydra是什么意思和密码暴力破解工具的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!

本站涵盖的内容、图片、视频等数据,部分未能与原作者取得联系。若涉及版权问题,请及时通知我们并提供相关证明材料,我们将及时予以删除!谢谢大家的理解与支持!

Copyright © 2023