赞
踩
Hydra,也称九头蛇,是一款非常强大的暴力破解工具(密码能否被破解关键在于字典是否足够强大),支持多种服务协议的账号和密码进行爆破,包括Web登录、数据库、SSH、FTP等服务,支持Linux、Windows、Mac平台安装。
该工具支持以下协议的爆破:
AFP,Cisco AAA,Cisco身份验证,Cisco启用,CVS,Firebird,FTP,HTTP-FORM-GET,HTTP-FORM-POST,HTTP-GET,HTTP-HEAD,HTTP-PROXY,HTTPS-FORM- GET,HTTPS-FORM-POST,HTTPS-GET,HTTPS-HEAD,HTTP-Proxy,ICQ,IMAP,IRC,LDAP,MS-SQL,MYSQL,NCP,NNTP,Oracle Listener,Oracle SID,Oracle,PC-Anywhere, PCNFS,POP3,POSTGRES,RDP,Rexec,Rlogin,Rsh,SAP / R3,SIP,SMB,SMTP,SMTP枚举,SNMP,SOCKS5,SSH(v1和v2),Subversion,Teamspeak(TS2),Telnet,VMware-Auth ,VNC和XMPP。
Hydra在kali中自带,这里介绍windows下的安装方法。
zip下载地址:https://gitcode.com/maaaaz/thc-hydra-windows/tree/master
下载完成后解压:
再将thc-hydra-windows-master路径添加到系统变量path中
接着在当前目录中进入cmd:
输入:
hydra -h
若出现正常回显,则说明安装成功。
Hydra是一个命令行工具,所有的操作都是通过命令和参数实现的,见下表:
选项 | 说明 |
---|---|
-R | 继续上一次破解 |
-I | 忽略现有还原文件(不等待10秒) |
-s PORT | 指定端口(无-s则表示指定默认端口) |
-l LOGIN | 指定破解登录用户名 |
-L FILE | 使用文件指定多个用户名 |
-p PASS | 指定密码 |
-P FILE | 指定密码字典 |
-x MIN:MAX:CHARSET | 密码暴力生成 |
-y | 禁止在暴力破解中使用符号 |
-r | 对选项-x使用非随机方法 |
-e nsr | n:空密码试探,s:使用指定用户和密码试探。 |
-u | 循环用户 |
-C FILE | 冒号分隔用户名密码:“login:pass” 格式 |
-M FILE | 要攻击的服务器列表,每行一个条目,’:'指定端口 |
-o FILE | 将找到的登录/密码写入文件(保存执行结果) |
-b FORMAT | 指定-o输出格式,默认text,可选json, jsonv1 |
-f / -F | 找到用户名/密码后中止破解,-f:每个主机,-F:所有 |
-t TASKS | 每个主机并行线程数,默认16 |
-T TASKS | 所有并行线程数,默认64 |
-w / -W TIME | 最大等待响应时间 |
-c TIME | 所有进程每次尝试登录等待时间 |
-4 / -6 | IPv4(默认)/IPv6地址 |
-v / -V / -d | 详细日志模式/每次尝试仅显示用户名密码/调试模式 |
-k | 不重做失败的尝试(适用于-M批量扫描) |
-q | 不要打印错误连接消息 |
-U | 服务模块详细使用信息 |
-vV | 显示执行细节 |
也可以通过hydra-h获得:
该实例与burp爆破本质相同
Kali搭建一个ftp服务器,登录账号为admin,密码为123,准备一个密码字典passwd.txt:
在知道用户名为admin后,即可使用hydra进行破解:
hydra -l admin -P Desktop/passwd.txt ftp://127.0.0.1
回显如下,由于字典中存在与admin对应的密码,故破解成功:
如果不知道用户名及密码,则两者均使用字典爆破,每遍历一次用户名,密码字典都会被全部遍历:
hydra -L ./username.txt -P ./password.txt -t 2 -f ftp://127.0.0.1
宿主机本地搭建一个mysql服务器,登录账号为root,密码为root:
Kali准备一个密码字典passwd.txt:
在知道用户名为admin后,即可在Kali使用hydra进行破解(确保两者可以ping通):
hydra -l root -P Desktop/passwd.txt 192.168.xxx.xxx mysql
本案例仅供讲解需要,在真实环境中将 192.168.xxx.xxx 替换为目标IP即可。
如果不知道用户名及密码,则两者均使用字典爆破,每遍历一次用户名,密码字典都会被全部遍历:
hydra -L ./user.txt -P ./password.txt -t 2 -f 192.168.xx.xx mysql
同理可对smb服务进行破解,给出实例如下图:
对http服务进行破解,给出实例如下图:
hydra -l 账号 -P 字典 -vV -f 域名 http-post-form "/admin/index.php:user=^USER^&ps=^PASS^&action=login:login-error"
表单的URL是 /admin/index.php,并且有两个字段:user 和 ps。^USER^
和^PASS^
是Hydra的占位符,用于在破解时替换为用户名和密码字典中的值。最后,:login-error 是登录失败的响应,用于判断是否成功破解密码。
在这个例子中,^USER^
恒为admin,^PASS^
不断遍历。
在POC的构造中,参数需要通过抓包得知
举例如下:
该网址的接口为logincheck.asp,表单提交参数为muser及passwd。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。