密码暴力破解工具:hydra

hydra简介

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

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

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

密码暴力破解工具:hydra

hydra支持的服务

hydra安装

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

hydra参数讲解

还是通过-h参数查看帮助文档:

密码暴力破解工具:hydra

hydra -h

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

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

hydra实操演示-Windows密码破解

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

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

密码暴力破解工具:hydra

net share

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

密码暴力破解工具:hydra

打开远程连接

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

密码暴力破解工具:hydra

netstat -nao

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

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

密码暴力破解工具:hydra

ipconfig

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

密码暴力破解工具:hydra

目标主机的端口开发状态

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

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

密码暴力破解工具:hydra

Kali中自带的密码字典

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

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

hydra -l chen -P passwords_john.txt smb://192.168.218.130
密码暴力破解工具:hydra

破解结果

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

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

hydra -l chen -P passwords_john.txt rdp://192.168.218.130

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

密码暴力破解工具:hydra

执行结果

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

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

hydra实操演示-Linux ssh密码破解

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

密码暴力破解工具:hydra

目标主机的端口开发状态

直接只用这个命令:

hydra -l root -P pass.lst ssh://192.168.218.129

执行后得到结果:

密码暴力破解工具:hydra

执行结果

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

hydra实操演示-Linux ftp密码破解

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

密码暴力破解工具:hydra

目标主机的端口开发状态

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

hydra -L user.txt -P pass.txt ftp://192.168.218.129 -s 2121 -e nsr -vV

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

密码暴力破解工具:hydra

执行结果

hydra实操演示-HTTP登录

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

hydra -l admin -P passwords_john.txt -f  192.168.218.129 http-post-form "/dvwa/login.php:username=^USER^&password=^PASS^&Login=Login:Login failed"

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

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

密码暴力破解工具:hydra

执行结果

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

hydra -l admin -P passwords_john.txt -f  192.168.218.129 http-post-form "/dvwa/login.php:username=^USER^&password=^PASS^&Login=Login:S=index.php"
密码暴力破解工具:hydra

执行结果

hydra实操演示-MySQL密码破解

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

密码暴力破解工具:hydra

目标主机的端口开发状态

直接使用如下命令:

hydra -l root -P pass.txt mysql://192.168.218.129 -e nsr -vV
密码暴力破解工具:hydra

执行结果

hydra图形化界面

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

密码暴力破解工具:hydra

hydra的图形化控制台

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

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

总结

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

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

本文链接:https://www.dzdvip.com/35847.html 版权声明:本文内容均来源于互联网。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 395045033@qq.com,一经查实,本站将立刻删除。
(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022年7月25日 22:09
下一篇 2022年7月25日 22:56

相关推荐

  • 微信3.6.0内测版上线,新增6项新功能

    微信PC版的新版本发布节奏相较于手机端还是比较慢的。自1月24日发布了windows微信3.5.0版本之后,微信官方团队终于在最近推出了Windows微信3.6.0测试版。 与上一个版本相比,微信3.6.0测试版还是有许多变化的,其中在该版本的升级日志中明确指出了可添加微信好友、可通过截图识别二维码或小程序码、可识别图片中的多个二维码或小程序码。 除此之外,在其他功能上也有一些变化。接下来小雨为大家盘点一下,本次微信3.6.0测试版为大家带来的新功能和新的变化。 1、快速设置开机时自动启动微信 在安装微信3.6.0内测版之后,在第一个界面中的“开始使用”按钮下方增加了一个“开机时自动启动微信”的选项,选中之后就可以在今后启动电脑的同时打开微信。 2、支持查找微信号并添加好友长期以来电脑版微信的功能主要集中于原生发消息,在好友管理方面并没有太大的权限。 在本次微信3.6.0测试版中上线了通过微信号主动添加好友的功能,让微信电脑版使用更加方便。 3、支持截图识别二维码和小程序码 电脑版微信对于二维码和小程序码的识别功能也是非常薄弱的。在本次微信3.6.0测试版中上线了一个功能,当用户发送截图时,只要包含了二维码或小程序码,就可以在截图工具条中选择“识别图中二维码”的选项来实现快速扫码的效果,非常方便。 4、可同时识别图片中的多个二维码或小程序码 微信手机端已经上线了同时识别多个二维码或小程序码的功能,本次微信官方团队也将这个功能引入到了微信3.6.0内测版中,允许用户在识别包含多个二维码的图片时进行选择。 5、支持发送图片时添加留言功能 与旧版本相比,本次微信3.6.0内测版在“以拖放的方式”向好友发送图片的时候添加了一个留言的功能。这样一来图片和文字就能够同时发送出去,在一定程度上避免了对方收到图片和解释性的文字存在时间差的问题。 6、视频号功能升级 在升级到最新的微信3.6.0内测版之后,支持视频号主播与观众进行连麦的操作。 同时,还支持将喜欢的视频号以快捷方式的形式添加到桌面上,后续就可以非常方便地打开视频号了。小雨感觉这样一来就让上班摸鱼变得更加方便了。 以上就是本次Windows微信3.6.0内测版为大家带来的一些功能和新的变化,总体还是非常实用的。 目前这个版本还需要内测权限,需要通过微信的官方渠道进行申请之后才能使用,否则的话就会提示没有权限而无法使用。

    2022年3月18日
    30
  • 发达国家标准(一个国家的发达程度看什么指标)

    发达国家的定义标准是较高的人均GDP和社会发展水平。发达国家是指经济和社会发展水准较高,人民生活水准较高的国家,又称高经济开发国家。发达国家的普遍特征是较高的人类发展指数、人均国民生产总值、工业化水准和生活品质。 生产力水平高度发达:国民生产总值和人均国内生产总值比较高,产业结构先进,在国民经济结构中第三产业所占比重一般大于60%。 经济运行机制成熟:市场机制和市场体系健全,经济发展很有优势,并有比较完善的宏观经济调控体系。 发达国家,又称“已开发国家和先进国家”,通常情况下,发达国家拥有很高经济和社会发展水平,其国民的生活水准非常高,所以发达国家通特征有:较高的人类发展指数、较高的人均GDP、高度工业化和生活品质。 因此依照这些标准可知,发达国家的门槛很高,不是哪个国家随便就能够达到的,而且现今世界各国中成为发达国家其实都是一种运气,天时地利人和都要具备,有很多国家一旦失去最好的发展机遇,基本上就和发达国家无缘了。 而且对于发达国家,很多人有一个错误的认识,那就是高收入国家就是发达国家,其实高收入不是一定是发达国家,但发达国家一定是高收入国家,发达国家基本上伴随着高收入和高度工业化水平。 所以很多靠这资源暴富的国家,即使拥有很高的国民收入,依然不算发达国家,比如中东石油富国科威特和卡塔尔,人均GDP都超过很多发达国家收入(其中科威特人均GDP2.9万美元,卡塔尔人均GDP6.3万美元),依然不被列入发达国家行列。因为这资源富国的工业化水平不行,有的甚至没有自己的工业。 目前来看,发达国家基本上扎堆欧美国家,也就是所谓的“西方国家阵营”,如美国、法国、英国、德国、加拿大、意大利和澳大利亚等国,这些国家基本上都是老牌的资本主义国家,早已经完成了资本原始积累,成为最早一批发达国家。然而自从二战后,后进的发达国家基本上没有几个,而偌大的亚洲也只有四个发达国家,分别是日本、韩国、新加坡和以色列。 然而在“大正”看来,后进的发达国家最为标准的是韩国,一个国家能够发展到韩国这种程度,就是发达国家。韩国有很强的电子和汽车工业,在世界上都是能够数的着的,人均GDP超过3万美元,在发达国家中也是中上水平,2018年,韩国GDP总量达到1.66万亿美元,排名世界第11位,非常厉害,这是后进国家的标杆。 不过这个标准在人均GDP上有点高,如果一个国家能够达到韩国工业化程度,人均GDP能够…

    2022年8月15日
    77
  • 竞品分析:关于猫眼和淘票票的购票流程深度对比分析

    猫淘背后都有足够的资本力量和用户规模,一家独大的局面短时间内难以形成,此时淘票票争抢市场份额、重回第一的意义几何?“对一些阶段的互联网公司来说,最核心的东西不是盈利,而是净现金流和用户规模。现金流代表运营质量,规模代表平台质量,如果这两个指标非常好,意味着平台极具竞争力。”阿里影业高级副总裁、淘票票总裁李捷如是回应毒眸提出的问题。

    2021年4月27日
    29
  • 如何选择老域名快速增加收录

    如何选择老域名快速增加收录?在选择老域名的情况下,其对于网站的排名和日后的网站优化是否会有帮助呢?对于网站建设的过程中,每个人都有不同的看法。

    2021年5月23日
    13
  • 交换机和路由器的区别(交换机和路由器有哪些区别)

    很多人也会像我一样认为这两个网络设备是用来上网的没什么稀奇的,至于这两个网络设备到底是是没关系,具体有什么区别,就不清楚是怎么回事了我们需要仔细的了解才行。那么现在的交换机和路由器的具体区别到底到底是怎么样的呢,本着分享精神,知识是力量的源泉,这里整理了关于交换机和路由器的区别的一些内容和大家分享一下。 交换机和路由器的区别 交换机和路由器的区别第一条 路由器可以给你的局域网自动分配IP,虚拟拨号,就像一个交通警察,指挥着你的电脑该往哪走,你自己不用操心那么多了。交换机只是用来分配网络数据的。 交换机和路由器区别第二条 路由器在网络层,路由器根据IP地址寻址,路由器可以处理TCP/IP协议,交换机不可以。交换机在中继层,交换机根据MAC地址寻址。 交换机和路由器的区别 交换机和路由器区别第三条 路由器可以把一个IP分配给很多个主机使用,这些主机对外只表现出一个IP。交换机可以把很多主机连起来,这些主机对外各有各的IP。 交换机和路由器区别第四条 路由器提供防火墙的服务,交换机不能提供该功能。集线器、交换机都是做端口扩展的,就是扩大局域网(通常都是以太网)的接入点,也就是能让局域网可以连进来更多的电脑。 路由器是用来做网间连接,也就是用来连接不同的网络。 交换机和路由器区别第五条 我们来举个例子:路由器相当于邮局,把信投递到收件人地址,它的任务就完成了。但是信邮到了你们宿舍楼,而这个地址不是你一个人专享的,所以楼管王大爷还要负责把信给到你手里,他不会关心收件人地址,只看收件人姓名,然后打个内线电话叫你来取信。如果没有邮局,你没法向世界各地的漂亮妹子们发信,也没法从楼外的漂亮妹子那里收信。但是因为楼管王大爷的存在,你仍然可以通过他与同宿舍楼的好基友书信往来。所有邮局构成的系统,就是“广域网”,而你的宿舍楼,就是“局域网”,构建局域网是不需要路由器的。 交换机和路由器的区别 三层的交换机和路由器的区别是怎么样的 虽然他们都具有路由功能。但是三层交换机的主要功能仍是数据交换,它的路由功能通常比较简单,因为它所面对的主要是简单的局域网连接,路由路径远没有路由器那么复杂,它用在局域网中的主要用途还是提供快速数据交换功能,满足局域网数据交换频繁的应用特点。 路由器的主要功能还是路由功能,它的路由功能更多的体现在不同类型网络之间的互联上,如局域网与广域网之间的连接、不同协议的网络之…

    2021年12月21日
    11
  • 高级产品经理都在用的项目管理流程

    在日常工作中,做好项目管理对于提高工作效率有着很大的帮助。如何规范项目管理流程,确保流程有序地进行并如期完成呢?作者给我们分享了几个重点。 一、文档制定目的 本文档的制定,主要是为了规范公司不同项目组之间,产品、设计、研发、测试等童鞋的工作标准和协作流程。通过实施完整的产品研发管理流程,做到在重点环节都有相应的工作文档产出及任务记录作为项目进展的沉淀,尽量减少人为因素对整个项目的干扰和影响。 二、整体项目开发流程 互联网产品整体研发管理流程如下图所示,具体包含6个环节: 需求管理阶段:包含需求的采集、分析和筛选,主要由产品经理进行日常的产品/用户需求收集,并制定相关的版本迭代计划; 产品设计阶段:包含产品方案的设计和产品需求评审,主要由产品经理输出PRD文档,并组织相关同事进行需求评审会议; UI 设计阶段:包含UI设计稿的整理和输出,主要由UI设计师操刀完成设计稿,并组织相关同事进行UI设计稿的评审会议; 产品研发阶段:包含架构设计、代码设计、代码实现等,主要由前、后端工程师完成产品架构、页面及逻辑的相关开发; 产品测试阶段:包含功能性测试和性能测试等,主要由测试工程师撰写测试用例,并在测试完成后输出测试报告; 产品上线阶段:包含灰度发布和全量发布,主要是项目负责人来确定具体的发布时间和发布渠道。 三、项目管理工具 1. TAPD协作工具 公司的项目管理工具,使用腾讯开发的TAPD敏捷协作平台。 TAPD强大的项目管理和协作功能,包含故事墙、迭代、看板、缺陷管理、在线文档等(具体功能及作用可查看TAPD帮助手册:https://www.tapd.cn/help)可以方便地支持互联网产品的整个项目开发流程,尤其是对于敏捷开发的项目团队来说,更是一款不错的支持产品快速迭代的工具。 实施之前,需要由项目负责人在TAPD内创建一个项目,并邀请自己的项目组成员进入到这个项目,这样就可以开始自己项目的团队协作之旅了。 2. 每日项目站会 项目站会对于敏捷开发的互联网团队来说是非常有必要的一种会议,可以在每天上午10点进行召开,时间不宜过长,通常在15-20分钟以内结束,会议的主要内容就是项目参与人阐述各自完成的任务,包括: 昨天都做了什么; 今天打算做什么; 遇到什么问题和挑战。 会议过程中,项目负责人可以结合进度及任务优先级,对项目成员的任务做相关调整;项目站会结束后,项目…

    2021年6月16日
    63