暴力破解密码工具Hydra

1、介绍

注:本文只从学习角度讨论工具,禁止用做非法用途,若产生后果与本人无关

弱口令应该是渗透过程中最常见也是最容易突破的入口,尽管现在弱口令越来越被重视,但仍有一些地方存在弱口令,特别是在内网。所以暴力破解密码的工具尤为重要。此外,定制化的字典同样需要利用暴力破解密码工具使用,有关定制化字典的内容,可以看我之前的这篇文章。

https://www.onctf.com/posts/7f4903a6.html

通常爆破web页面的密码都是用burp,但burp不能爆ssh之类的密码,所以有局限性,而hydra几乎支持所有协议的密码破解,通用性更高,一个工具解决所有的爆破需求,熟练之后会非常方便。

2、安装方法

安装这个没什么难度,不在这里赘述了,mac端也可以直接安装

3、参数说明

一张思维导图说明常用参数

4、使用方法

1)破解ssh

这是hydra最常用的用法

1
hydra -L users.txt -P password.txt -V -e nsr 192.168.31.219 ssh

详细分析一下各参数(参考前面的参数说明)

-L就是指定一个用户字典,如果小写l就是指定某一个用户名

-P就是指定一个密码字典,如果小写p就是指定某一个密码

-V是显示枚举过程

-e nsr需要详细讲一下,见如下所述

在参数说明里介绍了-e <ns>但是大部分人看了肯定是模凌两可,借此机会详细讲解一下

其实这个参数的本质就是多加了几个密码,n代表密码为空,s代表密码=用户名,r代表密码=用户名的反转

我利用一个例子演示一下

1
hydra -l flag4 -P /Users/long/Desktop/112.txt -V -e nsr 192.168.31.219 ssh

这个112.txt字典里只有”12345”,”33333”,”orange”这三个密码,但爆破的时候还有三个密码在前面,可以看到第一行密码=账号,第二行密码为空,第三行密码=用户名的反转

2)破解ftp

1
hydra -L 用户名字典 -P 密码字典 -e nsr 192.168.1.1 ftp

3)破解get型web登录

1
hydra -L 用户名字典 -P 密码字典 -e ns 192.168.1.1 http-get /admin/index.php

4)破解post型web登录

注:目前大部分的登录都是post型,但我们通常用burp爆破会更方便一点,这里还是详细也讲解一下。

以下是DC4靶场一个web页面登录爆破

1
hydra -l admin -P /Users/long/Desktop/112.txt 192.168.31.36 http-post-form "/login.php:username=^USER^&password=^PASS^:S=logout"

解释一下各参数

前面几个参数不用解释了,看到http-post-form这里,就是指定爆破类型是post,接着双引号里面的内容是被两个冒号分割开来的,我们一个个看

/login.php

username=^USER^&password=^PASS^

S=logout

第一个指定登陆页面的路径

第二个指定页面上用户名和密码这两个输入框的name属性,^USER^和^PASS^是固定写法,意思是把字典里面的账号密码填在这个位置

第三个中的S代表是登录成功页面显示的内容,如果不加S就是登录失败页面显示的内容

第二和第三个不太好理解,我截两张图就方便理解了

这是登录页面的源码,可以看到input输入框的name属性为username和password

这是成功登录后显示的页面,可以看到页面上有logout字样。

其实正常来说我们只能看到登录失败的页面内容,如果登录成功了,那还爆破密码干什么,除非就是有普通用户的账户,可以看到登录成功页面的样子。所以大多数情况下,我们这个参数写的还是登录失败页面的内容,如下:

1
hydra -l 用户名 -P 密码字典 192.168.31.36 http-post-form "/login.php:username=^USER^&password=^PASS^&submit=login:sorry password"

可以看到这里的最后一个冒号后面没有S=,而是直接跟着登录失败页面的内容,而且再注意一点,前面多了一个submit=login,这个其实就是看post请求里怎么写的,因为请求里有这个参数,所以我们就得加上。

5)破解mysql

1
hydra -l root -P pass.txt mysql://192.168.1.1 -e nsr

6)破解https

1
hydra -m /index.php -l 用户名 -P 密码字典.txt 192.168.1.1 https

7)破解teamspeak(语音通讯工具)

1
hydra -l 用户名 -P 密码字典 -s 端口号 -V 192.168.1.1 teamspeak

8)破解cisco

1
hydra -P 密码字典 192.168.1.1 cisco

9)破解smb

1
hydra -L 用户名字典 -P 密码字典 192.168.1.1 smb

10)破解http-proxy协议

1
hydra -l admin -P 字典.txt http-proxy://192.168.1.1

11)破解rdp(windows远程登录)

1
hydra 192.168.1.1 rdp -l administrator -P 密码字典.txt -V

12)破解pop3邮箱

1
hydra -l 用户名 -P 密码字典.txt my.pop3.mail pop3