网络安全 / A LEAF IN THE GARDEN

hydra

网络安全 · web / tools。来自 Daily Learning 的学习笔记。

简介

多协议网络登录暴力破解工具,可向目标服务器高速发送用户名/密码组合,支持并行连接(多线程)。

用法

支持三种写法

# 新式 
hydra <proto>://<target>:<port>/<module> 
# 旧式
hydra [-s <port>] <target> <proto> [<module>]
# 文件式
hydra -M <file> <proto>

参数

凭据指定

  • -M <file>: 目标主机文件(每行一个)

  • -l <login>: 单个用户名

  • -L <file>: 用户名字典文件(每行一个)

  • -p <password>: 单个密码

  • -P <file>: 密码字典文件(每行一个)

  • -C <file>: 组合字典文件(每行一个,格式为 name:pass)

  • -e <nsr>: 内置尝试规则

    • n: 尝试空密码
    • s: 尝试用户名作为密码
    • r: 尝试用户名反转作为密码
  • -x <min>:<max>:<charset>: 暴力生成密码

    表示字符集
    a小写字母
    A大写字母
    1数字
    其他字符直接添加

性能控制

  • -t <tasks>: 并行连接数(默认16)

  • -c <sec>: 每次尝试的间隔秒数

输出控制

  • -o <file>: 输出到文件

  • -b <format>: 输出格式(txt, json, jsonv1)

  • -f: 找到一个凭据就停止

  • -F: 找到一个凭据就停止爆破该主机(仅在 -M 模式下有效)

  • -v: 显示详细信息

  • -V: 显示每个 name:pass 对

网路连接

  • -s <port>: 指定端口

  • -S: 使用 SSL/TLS 连接

  • -w <sec>: 连接超时秒数(默认 32 秒)

  • -W <sec>: 连接等待秒数

  • -4/6: 使用 IPv4/IPv6

其他

  • -d: 调试模式

  • -R: 恢复上次中断的会话

  • -m <option>: 给模块传递额外参数

  • -u: 对于一个密码先尝试所有的用户名,默认相反

模块

HTTP

  • http-get: GET 请求,url 带参

  • http-post-form: POST 请求

    <path>:<param>=<value>:<string>
    参值占位符说明
    ^USER^用户名占位符
    ^PASS^密码占位符
    字符串说明
    <str>录失败的字符串
    F=<str>登录失败的字符串
    S=<str>登录成功的字符串
    C=<url>指定不同页面 URL 标记