Hydra概述

在这里插入图片描述
Hydra是一款由著名的黑客组织THC开发的开源暴力破解工具,支持大部分协议的在线密码破解,是网络安全·渗透测试必备的一款工具。
安装方法:Kali中自带hydra,直接搜索关键字即可。
在这里插入图片描述

参数详解

在Kali的命令行中输入hydra -h即可查看hydra 的所有参数
在这里插入图片描述
在这里插入图片描述

具体的参数含义见下表:

参数名 参数含义
-l : 指定破解的用户,对特定用户破解
-L 指定用户名字典
-p 小写,指定密码破解,少用,一般是采用密码字典
-P 大写,指定密码字典
-R 继续从上一次进度接着破解
-S 大写,采用SSL链接
-s 小写,可通过这个参数指定非默认端口
-e 可选选项,n:空密码试探,s:使用指定用户和密码试探
-t 同时运行的线程数,默认为16
-C 使用冒号分割格式,例如“登录名:密码”来代替 -L/-P 参数
-M 指定目标列表文件一行一条
-o 指定结果输出文件
-f 在使用-M参数以后,找到第一对登录名或者密码的时候中止破解
-w 设置最大超时的时间,单位秒,默认是30s
-v / -V 显示详细过程
server 目标ip
service 指定服务名,支持的服务和协议

使用方法

在hydra的帮助命令中官方我们提供了一些示例如下

1
2
3
4
5
6
 hydra -l user -P passlist.txt ftp://192.168.0.1
hydra -L userlist.txt -p defaultpw imap://192.168.0.1/PLAIN
hydra -C defaults.txt -6 pop3s://[2001:db8::1]:143/TLS:DIGEST-MD5
hydra -l admin -p password ftp://[192.168.0.0/24]/
hydra -L logins.txt -P pws.txt -M targets.txt ssh
12345

这些命令基本用法用起来大体上很类似,我们以第一个命令为例,大体上可以分成三部分,即用户名,密码,和协议
hydra -l user -P passlist.txt ftp://192.168.0.1

我们以一台OWASP机器作为被攻击的机器来演示破解常见的几种协议方式
OWASP环境搭建传送门: OWASP Broken Web Apps渗透测试环境搭建和安装教程

破解SSH

我们使用如下命令

1
2
3
4
5
6
hydra -L user.txt -P passwd.txt -o ssh.txt -vV -t ip  ssh -s 22   
-L 指定用户字典文件
-P 指定密码字典文件
-o 把成功的输出到ssh.txt文件
-vV 显示详细信息
-s 指定其他端口 如果要修改默认22端口,可以使用 -s 参数

首先在/test文件夹下新建一个名为userlist.txt的文件,并往里面输入一些测试数据
在这里插入图片描述
在/test文件夹下新建一个名为passwdlist.txt的文件,并往里面输入一些测试数据
在这里插入图片描述
输入以下命令开始破解

1
2
hydra -L /test/userlist.txt -P passwdlist.text -vV  -o ssh.txt -t 5 
192.168.0.129 ssh

在这里插入图片描述
在这里插入图片描述

从输出的结果可以看到有1组值成功破解
在这里插入图片描述
从前面的打印也可以看到该组值是root owaspbwa
在这里插入图片描述
也可以通过查看保存的目录文件来找到破解得到的用户名
在这里插入图片描述

字典推荐

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 #漏洞测试

image-20230523114310050

image-20230523114324268

image-20230523114334303

修改MySQL数据库最大连接数的两种方法

在一个Web项目用到了Lucene,每次MySQL导入新的数据库测试数据时候需要重置Lucene时会报”too many connections”错误。

  • 原因:MySQL默认最大连接数是100,当超过100连接时就会出错。

  • 解决方案一:在Navicat for MySQL中执行“set Global max_connections = 1000”。

但方案一的修改只是暂时的,每次重启数据库最大连接数仍然会恢复为100,这样每次都要执行一次。

  • 解决方案二:修改MySQL配置文件,my.ini或者my.conf,将max_connections=100修改为*max_connections=1000,重启MySQL即可。*

在Navicat for MySQL中执行”select @@basedir as basePath from dual“,得到MySQL安装路径,找到配置文件修改即可。