🍃🍃🍃🍃🍃🍃🍃🍃🍃🍃🍃🍃🍃🍃🍃🍃🍃🍃🍃🍃🍃🍃🍃🍃🍃🍃🍃🍃🍃🍃🍃🍃
1. 打开终端执行密码测试
2. 终端进行数据包抓取分析
3. 打开终端运行代码雨把仪式感拉满
正题
简介
Hydra 是一款非常强大的密码模糊测试工具,由著名的组织 THC 开发的开源工具。它的主要目的是展示安全研究人员从远程获取系统认证权限。Hydra支持多种协议的密码模糊测试。
-
• 支持多种协议
Asterisk, AFP, Cisco AAA, Cisco auth, Cisco enable, CVS, Firebird, FTP,
HTTP-FORM-GET, HTTP-FORM-POST, HTTP-GET, HTTP-HEAD, HTTP-POST, HTTP-PROXY,
HTTPS-FORM-GET, HTTPS-FORM-POST, HTTPS-GET, HTTPS-HEAD, HTTPS-POST,
HTTP-Proxy, ICQ, IMAP, IRC, LDAP, MEMCACHED, MONGODB, MS-SQL, MYSQL, NCP, NNTP, Oracle Listener,
Oracle SID, Oracle, PC-Anywhere, PCNFS, POP3, POSTGRES, Radmin, RDP, Rexec, Rlogin,
Rsh, RTSP, SAP/R3, SIP, SMB, SMTP, SMTP Enum, SNMP v1+v2+v3, SOCKS5,
SSH (v1 and v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth,
VNC and XMPP.
-
• 全平台兼容,可支持在任何系统上安装使用
参数选项
-
•
-R
恢复先前终止/崩溃的会话 -
•
-I
忽略现有的还原文件(不要等待10秒) -
•
-S
执行SSL连接 -
•
-s
PORT 如果服务在不同的默认端口上,在这里定义它 -
•
-l LOGIN
或-L FILE
使用登录名登录,或从FILE文件加载多个登录 -
•
-p PASS
或-P FILE
尝试password PASS,或从FILE加载多个密码 -
•
-x MIN:MAX:CHARSET
生成密码字典列表,输入“-x -h”获取帮助
Hydra暴力破解密码生成选项用法:
MIN 是密码中的最小字符数
MAX 是密码中的最大字符数
CHARSET 是生成中要使用的字符的规范
有效的 CHARSET值是:'a'表示小写字母;
“A”表示大写字母,“1”表示数字,以及所有其他字母,
-y 禁止使用上述字母作为占位符
例子
-x 3:5:a 生成长度为3 ~ 5的全小写密码
-x 5:8:A1 生成长度为5到8的大写字母和数字的密码
-x 1:3:/ 生成长度为1到3的密码,只包含斜杠
- x 5: / % 。-生成长度为5且只能由/%、。-组成的密码
-x 3:5:aA1 -y 生成长度为3到5的密码,其中只有a、A和1
-
•
-y
在暴力破解中禁用符号,见上文 -
•
-r
对选项-x
使用非随机洗牌方法 -
•
-e NSR
,s -
尝试使用密码登录n -
尝试一个空密码r -
反转登录并尝试将其作为密码 可以同时指定两个,-e sn -
•
-u
循环用户,而不是密码(有效!对于-x
) -
•
-C FILE
文件格式冒号分隔的 "login:pass" 格式,而不是-L/-P options
-
•
-M FILE
要攻击的服务器列表,每行一个条目,':'
指定端口 -
•
-o FILE
将测试成功找到的登录名/密码对写入 FILE,而不是终端输出 -
•
-b FORMAT
指定-o FILE的格式:text(默认),json, jsonv1
-
•
-f / -F
测试成功找到账户密码后退出停止,(-M: -f 每个主机, -F 全局通用)
-
•
-t tasks
每个目标并行连接的任务数,默认16。可以提高速度,但是过快可能会导致被识别到恶意扫描。 -
•
-T TASKS
run 任务总体上并行连接(对于-M,默认为64) -
•
-w / -W
TIME响应等待时间(32) / 每个线程连接之间的时间(0) -
•
-c TIME
所有线程每次登录尝试的等待时间(强制执行-t 1) -
•
-4 / -6
使用IPv4(默认) / IPv6地址(将always放在[]中也放在-M中) -
•
-v / -V / -d
详细模式 / 超级详细模式 / 调试模式 -
•
-O
使用旧的SSL v2和v3 -
•
-K
不会重做失败的尝试(适用于-M大规模扫描) -
•
-q
不打印有关连接错误的消息 -
•
-U
业务模块使用详情 ,例如hydra -U http-post-form
-
•
-m
特定模块的OPT选项,参见-U output -
•
-h
更多命令行选项(COMPLETE HELP) -
• 使用hydr_proxy_http或hydr_proxy环境变量进行代理设置。
E.g. % export HYDRA_PROXY=socks5://l:[email protected]:9150 (or: socks4:// connect://)
% export HYDRA_PROXY=connect_and_socks_proxylist.txt (up to 64 entries)
% export HYDRA_PROXY_HTTP=http://login:pass@proxy:8080
% export HYDRA_PROXY_HTTP=proxylist.txt (up to 64 entries)
-
• 使用示例
hydra -l user -P passlist.txt ftp://192.168.0.1
hydra -L userlist.txt -p defaultpw imap://192.168.0.1/PLAIN
hydra -C defaults.txt -6 pop3s://[2001:db8::1]:143/TLS:DIGEST-MD5
hydra -l admin -p password ftp://[192.168.0.0/24]/
hydra -L logins.txt -P pws.txt -M targets.txt ssh
最后一个示例是一个文本文件,最多包含 64 个代理(在同一个代理中)
格式定义如其他示例)。
对于所有其他服务,请使用 HYDRA_PROXY 变量进行扫描/破解。
它使用相同的语法。 例如:
HYDRA_PROXY=[连接|socks4|socks5]://[登录名:密码@]proxy_addr:proxy_port
代理文件案例:
HYDRA_PROXY=connect://proxy.anonymizer.com:8000 HYDRA_PROXY=socks4://auth:[email protected](mailto:[email protected]):1080 HYDRA_PROXY=socksproxylist.txt
````
# 常用组合
- `hydra -l <用户名列表文件> -P <密码列表文件> <目标协议>://<目标IP地址> <目标端口> <其它选项>`
- `hydra -s port -l login / -L loginfile -p pass / -P passfile -f/-F -t 8 -vV -x socks5://proxy:1080` 通用测试参数组合,根据实际情况调整
```jsx
测试ssh
hydra -l <用户名列表文件> -P <密码列表文件> ssh://<目标IP地址> -t 4 -vV
测试ftp
hydra -l <用户名列表文件> -P <密码列表文件> ftp://<目标IP地址> -t 4 -vV
测试http
hydra -l <用户名列表文件> -P <密码列表文件> http://<目标IP地址>:<目标端口>/ -t 4 -vV
测试http post
hydra -l <用户名列表文件> -P <密码列表文件> http-post-form "<登录URL>:<POST数据>:<失败消息>" -t 4 -vV
测试http 表单
hydra -L <用户名列表文件> -P <密码列表文件> <目标URL> http-post-form "<登录表单参数>:<登录表单值>:<失败消息>" -t 4 -vV
测试mysql
hydra -l <用户名列表文件> -P <密码列表文件> mysql://<目标IP地址>:<目标端口> -t 4 -vV
测试rdp
hydra -l <用户名列表文件> -P <密码列表文件> rdp://<目标IP地址> -t 4 -vV
测试telnet
hydra -l <用户名列表文件> -P <密码列表文件> telnet://<目标IP地址> -t 4 -vV
测试snmp
hydra -L <用户名列表文件> -P <密码列表文件> snmp://<目标IP地址> -t 4 -vV
测试smb
hydra -L <用户名列表文件> -P <密码列表文件> smb://<目标IP地址> -t 4 -vV
Over 。。。Over 。。。Over 。。。
Over 。。。Over 。。。
Over 。。。
原文始发于微信公众号(人遁安全):如何优雅的进行密码模糊测试-附 Hydra 完整参考手册
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论