Jay jay
文章28
标签2
分类0
hydra暴力破解工具使用

hydra暴力破解工具使用

hydra简介

hydra是著名黑客组织thc的一款开源暴力破解密码工具,功能非常强大,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 #taskes同时运行的线程数默认16
-w #time 设置最大超时时间单位s默认30s
-v/V #显示详细过程
server #目标ip
service #指定服务名

使用方法:hydra <参数><地址><服务名>

暴破ssh

hydra -L user.txt -P pass.txt -t 5 -vV -e ns -f IP地址 ssh

我们使用win7做演示首先我们需要打开win7的ssh服务,首先从官网下载openssh软件包https://github.com/PowerShell/Win32-OpenSSH/releases然后解压添加环境变量
配置环境变量
成功安装
测试安装是否成功
然后配置服务端进入解压目录
安装sshd服务
powershell.exe -Executionpolicy Bypass -File install-sshd.ps1
开放22号端口如果关闭了防火前可以不执行
netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22
配置开机自启动sshd服务
sc config ssht start= auto
开启服务
net start sshd
启动sshd服务
默认的sshd配置文件在c:\programdata\ssh目录下(为隐藏目录)
配置文件目录
修改配置文件
端口号:Port 22
密钥访问:PubkeyAuthentication yes
密码访问:PasswordAuthentication no
空密码:PermitEmptyPasswords no
我们把空密码连接打开重启服务尝试本地连接和远程连接发现无法连接
尝试
这里只需要禁用以下选项即可
禁用
就可以进行本地和远程空密码连接了
测试
正式进行暴破
暴破
在这里我们需要注意登录ssh的账户是电脑中的账户,电脑中的账户密码修改则登录密码也修改,通过使用ssh 用户名@地址 -p 服务端端口号指定用户登录

另一种登录方式创建密钥登录更安全在客户端生成密钥将公钥传输给服务器然后连接。
生成密钥

# -t type,指定要生成的密钥类型,有rsa1(SSH1),dsa(SSH2),ecdsa(SSH2),rsa(SSH2)等类型,较为常用的是rsa类型
# -C comment,提供一个新的注释
# -f filename,指定生成的密钥文件名字
ssh-keygen -t rsa -C "注释" -f "id_rsa(密钥文件名)"

创建密钥

将公钥上传到服务端
将公钥内容拼接到对应用户目录下的authorized_keys文件内,文件不存在时手动创建cat id_rsa.pub >> .ssh/authorized_keys·并赋予权限,设置服务端配置文件允许密钥连接登录

linux文件路径:/etc/ssh/sshd_config
windows路径:c:\programdata\ssh
# 允许使用 RSA 密钥校验登录
RSAAuthentication yes
PubkeyAuthentication yes
# 禁止登录 root,本人由于是在本地虚拟机测试玩的,为了方便,全开了
PermitRootLogin yes
# 是否允许密码登录
PasswordAuthentication yes

客户端登录方式:

  1. 在命令行中指定私钥:ssh 用户名@地址 -i ~/.ssh/id_rsa_server

  2. 使用ssh-agent代理

# 先添加私钥
$ ssh-add ~/.ssh/id_rsa_server
# 查看添加的私钥
$ ssh-add -l
# 使用 ssh-agent 代理,ssh-agent 会在 ssh-add 列表中寻找到合适的私钥
$ ssh root@192.168.56.102
  1. 在ssh配置中指定私钥文件
$ vim ~/.ssh/config

Host gateway # 主机别名,使用 ssh gateway 命令可以直接登录该主机
Protocol 2 # SSH 协议版本
HostName example.com # 主机地址,支持IP或域名
Port 22 # SSH 服务端口号
User ubuntu # 登录用户名,会被 ssh root@gateway 覆盖,除非使用 ssh gateway
IdentityFile ~/.ssh/id_rsa # 使用的私钥文件

暴破ftp 端口号21和20

hydra ip ftp -L 用户名 -P密码字典 -e ns -vV

win7打开ftp服务
打开ftp
然后创建ftp用户和密码,计算机右键管理项在本地用户和组下的分栏右键点击用户,选择新建用户,在文字栏输入用户名和密码,确认后点击页面下方的创建。
创建ftp用户
然后在C盘创建ftp上传和下载目录
创建目录
配置ftp服务器,创建上传和下载服务
创建上传服务器:
打开iis
打开iis
创建ftp上传服务器
ftp上传服务器
创建ftp下载服务器
ftp下载服务器
我们测试一下出现如下错误,如果无法访问到这里是防火墙规则的原因我们就简单关闭防火墙
登录报错
解决方法修改我们创建的ftp用户的全名和重命名
解决报错
成功访问
服务成功搭建
我们用kali连接一下
连接成功
我们使用hydra暴破ftp服务
成功暴破
防火墙开启ftp服务
netsh advfirewall firewall add rule name=ftp dir=in action=allow protocol=TCP localport=21
这里也可以使用phpstudy直接一键启动搭建ftp服务
启动
连接

爆破远程连接3389端口

利用hydra暴破3389远程连接使用的rdp协议命令
hydra -L user.txt -P pass.txt -t 5 -e n -vV 192.168.23.128(地址) rdp(协议)
win7远程连接其他电脑命令mstsc
远程连接
win7配置远程桌面连接命令sysdm.cpl打开配置
配置远程连接
配置允许空密码登录设置secpol.msc安全选项配置
所选项禁用
我们可以使用rdesktop远程连接windows电脑
kali远程连接
远程连接
正式暴破
暴破
可以看到成功了,这里是用电脑中已存在的账号登录。

暴破smb服务

首先打开控制面板打开网络共享服务进行配置
打开smb服务
smb服务的端口号137、138、139、445可能打开
我们来使用hydra进行暴破
成功
然后就可以使用net use映射c盘进行利用

暴破telnet服务

首先win7打开telnet服务win+R输入optionalfeatures打开telnet服务
打开服务
启动服务services.msc
启动
暴破用户名和密码默认win7登录的用户名和密码
成功
可以进行telnet连接利用

暴破数据库以mysql为例其他数据库可以更换数据库名字

首先开启允许数据库远程连接
开启允许远程
设置防火墙允许3306通过
netsh advfirewall firewall add rule name=mysql dir=in action=allow protocol=TCP localport=3306
设置防火墙
尝试暴破
成功
成功暴破进行远程连接
mysql -h 192.168.23.128 -P 3306 -u root -proot
远程连接mysql

暴破pop3邮箱协议

hydra -l 用户名 -P 密码字典.txt my.pop3.mail pop3

解决字典问题

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 #目录列表

字典生成工具crunch

生成字典的基本指令:
crunch 最小位数 最大位数 指定生成范围
输出到特定文件位置:
crunch 3 4 100 >>指定的文件

生成字典

总结

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。

主要看字典是否强大和后续的利用。

本文作者:Jay jay
本文链接:https://yyj-xx.github.io/2023/04/14/hydra%E6%9A%B4%E5%8A%9B%E7%A0%B4%E8%A7%A3%E5%B7%A5%E5%85%B7%E4%BD%BF%E7%94%A8/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可