5、密码攻击工具——Hydra与Crunch

一、密码存储的基本方式

  1. 明文存储:将用户密码以普通文本的方式保存在数据库字段中。
    在这里插入图片描述
  2. 加密存储:一般常用的是对称加密方法,该方法使用系统密钥对所有用户密钥进行加密。这种方法的关键在于系统密钥的安全性,如果系统密钥泄露,所有用户的密钥将变得不安全。
  3. hash存储:利用单项散列(杂凑)函数对用户密钥进行运算得到hash值(指纹)并存储在数据库中。与加密存储相比,这种方法的好处在于不需要存储和保护系统密钥,且攻击者无法通过hash值逆向计算出用户密钥的明文。目前最常用的密码存储方式就是hash存储。
    在这里插入图片描述

常用的Hash算法:

  • MD5
  • SHA系列(主要包括SHA-1、SHA-224、SHA-256、SHA-384和SHA-512)

二、密码攻击概述

(1)密码攻击概念
在已经获取目标密钥hash值或加密后的密文的情形下,利用某种方式还原出明文的过程。
(2)密码攻击的一般方法

  1. 暴力攻击
    尝试对所有可能的密钥组合进行相同的hash运算,并将计算结果与目标密钥的hash值进行对比,对比结果一致则破解成功。

  2. 字典攻击
    提前构架一个"明文- > 密文"对应关系的一个大型数据库(字典),破解时通过密文直接反查明文。
    在这里插入图片描述

  3. 彩虹表攻击
    在字典法的基础上改进,以时间换空间。常用的彩虹表

(3)哈希加盐法——抵抗字典和彩虹表攻击

字典和彩虹表之所有有效,是因为每一个密钥都是通过同样的方式来进行hash运算。如果两个用户使用同样得密钥,那么他们的密钥hash值也一定相同。

哈希加盐法的思想:每次给密钥一个随机的前缀或后缀,然后进行hash运算。这个随机的前缀或者后缀称为"盐"(salt)。通过加盐,相同的密钥每次hash的结果都是完全不一样的字符串。
在这里插入图片描述

三、hashcat

hashcat支持的散列算法有Microsoft LM哈希、MD4、MD5、SHA系列、Unix加密格式、Mysql和Cisco PIX等。

常用参数选项:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

注意:

  • 若对已经破解的密码进行再次破解,则会显示"ALL hashes found in profile", 可直接在原命令末尾加上--show 参数直接显示已经破解的原文。
  • hashcat.potfile文件中记录了近期hashcat破解的所有hash值和密码明文的对应关系,其所在路径为~/.hashcat/hashcat.potfile

四、Hydra的基本使用

Hydra(九头蛇)是一个相当强大的暴力密码破解工具。该工具支持几乎所有协议的在线密码破解,如FTP、HTTP、HTTPS、MySQL、MS SQL、Oracle、Cisco、IMAP和VNC等。Hydra能够在Linux、Windows、Cygwin、Solaris11、FreeBSD8.1、OpenBSD、OSX、QNX/Blackberry上测试和编译。

4.1 常用参数选项:

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

4.2 利用Hydra进行密码攻击的一般步骤

  1. 选择目标:输入目标地址,可选:单独IP、CIDR、文档中的列表;
  2. 选择协议:输入要爆破的协议,如ftp://等,需要开始之前探测服务;
  3. 检查参数。

4.3 Hydra实例1——爆破FTP服务器登陆密码(已知用户名)

Hydra命令:hydra -l li -P /usr/password.txt ftp://[靶机IP]

-l:使用登录名进行登录;
-P:使用密码字典进行破解。

破解结果:用户名li的密码为45。
在这里插入图片描述

4.4 Hydra实例2——爆破FTP服务器的用户名和密码

命令:hydra -L /usr/username.txt -P /usr/password.txt ftp://192.168.40.144

在这里插入图片描述
或者hydra -C /usr/u_and_p.txt ftp://192.168.40.144

-C:当用户名和密码存储在一个文件时使用此参数。

在这里插入图片描述

五、Crunch

Crunch是一种创建密码字典的工具,按照指定的规则生成密码字典,可以灵活的制定自己的字典文件。使用Crunch工具生成的密码可以输出到屏幕、保存到文件或另一个程序。

5.1 Crunch命令格式

crunch <min-len> <max-len> [<charset string>] [options]
  • min-len(必选):表示最小长度字符串。
  • max-len(必选):表示最大长度字符串。
  • charset string (可选):字符集设置,默认是小写字符集。
  • options(可选):选项参数

常用选项参数:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.2 Crunch实例

命令如下:crunch 2 2 -f /usr/share/crunch/charset.lst numeric -o /usr/password.txt

-f /usr/share/crunch/charset.lst从/usr/share/crunch/charset.lst指定字符集。

在这里插入图片描述

说明:关于字符集的名称与格式,可参考/usr/share/crunch/charset.lst文件内容:
在这里插入图片描述

六、漏洞扫描工具

AWVS、Nikto、OWASP ZAP

七、webshell管理工具

菜刀、蚁剑、Weevely

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值