渗透测试工具——密码攻击工具

caocao1年前教程201

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 曹操wifi

各位好 又见面了 我是曹操 今天给大家带来一篇新的教程

希望各位细心学习 低调用网

kali密码爆破工具

密码存储的基本方法

明文存储:将用户密钥以普通文本的方式保存在数据库字段中,对用户来说很方便,但这种方法的安全性最低,因为所有的密钥保存为普通文本(明文),如果数据库受到黑客攻击(被"脱库"),黑客将很容易获得用户的密钥。

加密存储:一般常用的是对称加密方法,该方法使用系统密钥对所有用户密钥进行加密。这种方法的关键在于系统密钥的安全性,如果系统密钥泄露,所有用户的密钥将变得不安全。

Hash存储:利用单向散列(杂凑)函数对用户密钥进行运算得到Hash值(指纹)并存储在数据库中。与第二种方法相比,这种方法的好处是不需要存储和保护系统密钥,且攻击者无法通过Hash值逆向计算出用户密钥的明文。

因此,目前最常用的密码存储方法为Hash存储。

Hash函数H(x)的特性

常用的Hash函数(算法)

密码攻击的概念

在已经获取目标密钥Hash值或加密后的密文的情况下,利用某种方式还原出目标密钥的明文过程。

密码攻击的一般方法

  1. 暴力攻击(Brute Force Attack)
  2. 字典攻击(Dictionary Attack)
  3. 彩虹表攻击(Rainbow Table Attack)

用于抵抗字典及彩虹表攻击的方法之一是哈希加盐法(HASH+SALT)。

kali密码爆破工具
hashcat -a0 -m 0 e10adc3949ba59abbe56e057f20f883e /usr/share/john/password.lst 

Hashcat简介

在Kali中启动Hashcat

Hashcat常用参数命令功能

  • -a:指定破解模式
  • -m:指定Hash类型(默认MD5)
  • -0:将输出结果储存到指定的文件
  • --force:忽略警告信息
  • --show:仅显示已经破解的Hash及其对应的明文
  • --increment:启用增量破解模式,可以利用此模式让Hashcat在指定的密码长度范围内执行破解过程
  • --increment-min:密码最小长度,配合increment模式一起使用
  • --increment-max:密码最大长度,同上
  • --outfile-format:指定破解结果的输出格式id,默认是3
  • --username:忽略hash文件中的指定的用户名,在破解Linux系统用户密码hash可能会用到
  • --remove:删除已被破解成功的hash
  • -r:使用自定义破解规则

Hashcat的破解模式(用-a参数指定)命令功能

  • -a 0:Straight(字典破解)
  • -a 1:Combination(组合破解)
  • -a 3:Brute-force(掩码暴力破解)
  • -a 6:Hybrid Wordlist + Mask(字典 +掩码破解)
  • -a 7:Hybrid Mask + Wordlist(掩码+字典破解)

Hashcat的Hash类型(用-m参数指定)命令类型

  • -m 900:MD4
  • -m 0:MD5
  • -m 100:SHA1
  • -m 1300:SHA2-224
  • -m 1400:SHA2-256
  • -m 10800:SHA2-384
  • -m 1700:SHA2-512
  • -m 10:MD5($ pass.$salt)
  • -m 20:MD5($salt.$pass)
  • -m 3800:MD5($salt.$pass.$salt)
  • -m 3000:LM
  • -m 1000:NTLM

Hashcat的掩码字符集命令功能

  • 小写字母(abcdefghijklmnopqrstuvwxyz)
  • 大写字母(ABCDEFGHIJKLMNOPQRSTUVWXYZ)
  • 十进制数字(0123456789)
  • 十六进制数字,字母小写(0123456789abcdef)
  • 十六进制数字,字母大写(0123456789ABCDEF)
  • 特殊字符(!"#$%&'()*+.-./:;?@[]^_’{|}~)
  • 相当于?I?u?d?s,即键盘上所有可见的字符
  • 0x00 - 0xff

Hashcat掩码运用实例

  • 八位数字密码
  • 八位未知密码
  • 前四位为大写字母,后四位为数字
  • 前三个字符未知,中间为admin,后三位未知
  • 6-8位数字密码(--increment --increment-min 6 --increment-max)
  • 6-8位数字+小写字母密码(--increment --increment-min 6 --increment-max)

Hashcat使用实例——字典破解(-a 0) 使用单个字典对一个经过MD5算法运算过后的Hash值进行破解。

kali密码爆破工具kali密码爆破工具kali密码爆破工具

Hashcat使用实例掩码暴力破解(-a 3) 步骤1:利用漏洞ms17 010攻击靶机并进入meterpreter模块。详细教程在渗透测试工具——Metasploit_.SYS.的博客-CSDN博客。

hashdump
hashcat -a 3 -m 1000 75f1d23f3a2527c6bfaada3e93b32a8b ?d?d?d

步骤2:在meterpreter提示符中输入以下命令获取系统账号密码的Hash值。

步骤7:连续输入两次exit退出meterpreter和msf,在终端下输入以下命令,利用Hashcat对获取的Hash值进行暴力破解。

kali密码爆破工具kali密码爆破工具kali密码爆破工具

其中,-m 1000表示Hash类型为NTLM,掩码?d?d?d表示破解的对象为3位十进制数字。

提示:使用Hashcat进行密码攻击的关键,Hydra的使用,Kali中的Hydra。

hydra -l admin -P /usr/share/john/password.lst  ftp://192.168.147.132

Hydra常用功能选项(参数)说明

  • -h:显示帮助信息
  • -I:指定单个用户名,适合在知道用户名的情况下爆破密码时使用
  • -L:指定多个用户名,参数值为存储用户名的文件(字典)的路径(建议为绝对路径)
  • -p:指定单个密码,适合在知道密码的情况下爆破用户名时使用
  • -P:指定多个密码,参数值为存储密码的文件(字典)的路径(建议为绝对路径)
  • -C:当用户名和密码存储到一个文件时使用此参数。注意:文件(字典)存储的格式必须为"用户名:密码"的格式
  • -M:指定多个攻击目标,此参数为存储攻击目标的文件路径(建议为绝对路径)。注意:列表文件存储格式必须为"地址:端口"
  • -S:指定端口,适用于攻击目标端口非默认的情况,例如http服务使用非80端口
  • -t:指定爆破时的任务数量(可以理解为线程数),默认为16
  • v/-V:显示爆破的详细信息
  • -o:将破解成功的结果输出到文件中

Hydra支持破解的协议类型

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

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

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

kali密码爆破工具
hydra -L /usr/share/wordlists/rockyou.txt.gz  -P /usr/share/john/password.lst  ftp://192.168.147.132
kali密码爆破工具
hydra -L /root/password.txt -P /root/password.txt rdp://192.168.147.132 
kali密码爆破工具kali密码爆破工具

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

Hydra使用实例——爆破远程桌面服务的用户名和密码

图形化的Hydra——Hydra-gtk

Crunch的使用,Kali中的Crunch

crunch  < max-len> [] [options]
crunch 6 6 123 -o /root/number.txt

Crunch命令格式

命令参数说明参数功能

  • min-len(必选):字符串的最小长度
  • max-len(必选):字符串的最大长度
  • charset string(可选):字符集设置,默认是小写字符集
  • options(可选):选项参数

Crunch常用选项参数

选项功能

  • -b:指定文件输出的大小,避免字典文件过大
  • -C:指定文件输出的行数,即包含密码的个数
  • -d:限制相同元素出现的次数
  • -e:定义停止字符,即到该字符串就停止生成
  • -i:改变输出格式,即aaa,aab -> aaa,baa
  • -o:将密码保存到指定文件
  • -p:指定元素以组合的方式进行
  • -q:读取密码文件,即读取pass.txt
  • -s:指定起始字符串
  • -t:指定密码输出的格式(%代表数字,^代表特殊符号,@代表小写字符,,代表大写字符)
  • -f:调用库文件/usr/share/crunch/charset.Ist

Crunch使用实例

生成长度为6、以123元素为组合的字典集,并输出到/root/number.txt

kali密码爆破工具kali密码爆破工具
crunch 4 4 -t %^@, -o /root/pass.txt
kali密码爆破工具kali密码爆破工具
crunch 4 4 -f /usr/share/crunch/charset.lst mixalpha-numeric -o /root/w.txt -s 3a2b

生成长度为4的字典集,第一位为数字,第二位为特殊字符,第三位是小写字符,第四位是大写字符,并输出到/root/pass.txt

以charset.Ist密码库的mixalpha-numeric模块为字符集,以3a2b为开始字符,生成长度为4的字典集,输出到/root/w.txt

kali密码爆破工具kali密码爆破工具

相关文章

在你开始使用 Kali Linux 之前必须知道的事情

在你开始使用 Kali Linux 之前必须知道的事情

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 曹操wifi 各位好 又见面了 我是曹操 今天给大家带来一篇新的教程 希望各位细心学习 低调用网 译者:MjSeven K...

kali安装中文输入法(以谷歌输入法为例)

kali安装中文输入法(以谷歌输入法为例)

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 曹操wifi 各位好 又见面了 我是曹操 今天给大家带来一篇新的教程 希望各位细心学习 低调用网 vi /etc/a...

Beini使用教程

Beini使用教程

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 曹操wifi 各位好 又见面了 我是曹操 今天给大家带来一篇新的教程 希望各位细心学习 低调用网 Beini是一款基于T...

kali传输文件到win 7,利用python搭建简单的web服务器传输文件

kali传输文件到win 7,利用python搭建简单的web服务器传输文件

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 曹操wifi 各位好 又见面了 我是曹操 今天给大家带来一篇新的教程 希望各位细心学习 低调用网 python -m We...