Kali中密码暴力破解工具hydra的使用
前言
hydra是著名黑客组织thc的一款开源的暴力破解密码工具,功能非常强大,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 #指定服务名
OPT #可选项
使用方法:hydra <参数> <IP地址> <服务名>
操作演示
这里我为了演示写了两个弱口令文本,在真实环境中需要用到强大得字典。
破解ssh
hydra -L user.txt -P pass.txt -t 2 -vV -e ns 192.168.124.10 ssh
破解ftp
hydra ip ftp -l 用户名 -P 密码字典 -e ns -vV
破解teamspeak
hydra -l 用户名 -P 密码字典 -s 端口号 -vV ip teamspeak
破解pop3 hydra -l muts -P pass.txt my.pop3.mail pop3
这里就不依次说明了。
上文说到,破解的关键在于密码字典得强大与否。所以我们在破解过程中就需要思考,如何获取强大的字典呢。在Kali中内置了很多字典,路径如下:
cd /usr/share/wordlists/
输入ls
查看所有字典,这里详细举例两个目录的
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 #目录列表
需要破解什么就使用什么字典。 光有这些还不够,有时候我们需要特定的字典,比如发现可以暴力破解四位数验证码,这就需要我们生成特定的字典。这样我们就要需要kali下的另一款工具了。
字典生成工具crunch
基本指令
crunch 最小位数 最大位数 指定生成范围
例如,我要生成由三位数和四位数生成的字典,且都有6789组成,如下图
我们还可以将生成的字典输出到特定文件中,格式如下
crunch 3 4 6789 >>/home/kali/Desktop/pass.txt
就分享到这里了。大家有什么小技巧可以留言。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 支付业务优化else if 代码
- 在UBUNTU虚拟机上安装R软件包
- R语言逻辑回归和泊松回归模型对发生交通事故概率建模
- 万恶的NPE差点让我半个月工资没了
- R语言非参数模型厘定保险费率:局部回归、广义相加模型GAM、样条回归
- 大白话java多线程,高手勿入
- R语言小数定律的保险业应用:泊松分布模拟索赔次数
- R语言中自编基尼系数的CART回归决策树的实现
- ArrayList的删除姿势你都掌握了吗
- sas神经网络:构建人工神经网络模型来识别垃圾邮件
- R语言多分类logistic逻辑回归模型在混合分布模拟单个风险损失值评估的应用
- 10分钟带你入门git到github
- 微服务[学成在线] day18:基于oauth2实现RBAC认证授权、微服务间认证实现
- 【TBase开源版测评】分布式事务全局一致性
- R语言进阶之主成分分析