一、密码存储与密码攻击概述
1、密码存储
(1)、明文存储
(2)、加密存储
(3)、Hash存储
2、密码攻击
(1)、暴力攻击
(2)、字典攻击
字典攻击是暴力攻击的一种,在所有的可能密钥抽取一些成为字典
(3)、彩虹表攻击(List of Rainbow Tables)
(4)、哈希加盐法——用于抵抗字典以及彩虹表攻击的方法
二、Hashcat的使用
1、什么是Hashcat
windows操作系统主要的散列算法是:LM哈希、NTLM哈希
2、Hashcat的使用
(1)、常用选项参数
(2)、Hashcat的掩码字符集
(2)、Hashcat实例
启动hashcat
实例一、字典破解(-a 0)
我自己准备了一个简单的字典 路径是:/root/password.txt
使用单个字典对MD5进行破解
hashcat -a 0 -m 0 e10adc3949ba59abbe56e057f20f883e /root/password.txt
实例二、组合破解
使用两个字典对一个经过SHA-1运算过后的Hash值进行破解
hashcat -a 1 -m 100 7ce0359f12857f2a90c7de465f40a95f01cb5da9 /root/user.txt /root/password.txt
实例三、掩码暴力破解
利用永恒之蓝漏洞(ms17-010)对靶机的administrator用户密码进行破解
(1)、先利用漏洞入侵靶机
设置参数、然后进行攻击,攻击成功后会看到meterpreter
然后在meterpreter提示符下输入hashdump
然后退入msf
注:如果已经破解的密码再破解一次会出现All hashes found in potfile!
hashcat.potfile文件中记录了近期hashcat所破解的Hash值和对应的明文
路径为:/root/.hashcat/ hashcat.potfile
查看隐藏文件夹
使用hashcat的关键点在于有一本强大的字典,那么怎么构造字典呢?使用Crunch
三、Crunch的使用
1、什么是Crunch
2、Crunch的命令格式
选项参数:
3、例子
实例一、生成以元素123为组合元素,字符长为6,并输出到/usr/number.txt
crunch 6 6 123 -o /usr/passwd.txt
实例二、生成第一位为数字、第二位为小写字母、第三位为特殊字符、第四位为大写字母,长度为4的字典,并输出到/usr/pass.txt
crunch 4 4 -t %@^, -o /usr/pass.txt
实例三、以mixalpha-numeric模块为字符集,以3a2b为开始字符,生成长度为4的字典,并输出到/usr/w.txt
crunch 4 4 -s 3a2b -f /usr/share/crunch/charset.lst mixalpha-numeric -o /usr/w.txt
实例四、读取/usr/b.txt中的每一行,作为基本字符生成字典,并输出到/usr/c.txt
crunch 1 1 -q /usr/b.txt -o /usr/c.txt
四、Hydra的使用
1、什么是Hydra
hydra-gtk是图形化界面
2、Hydra的选项
-h:显示帮助信息
-p(小写)指的是单个密码,-P(大写)指的是多个密码
3、Hydra支持破解的协议类型
4、使用Hydra进心密码攻击的一般步骤
5、例子
在靶机上搭建FTP,对FTP进行爆破登录
1、已知用户名
简单创建一个密码字典
2、不知道用户名跟密码
建立一个用户字典和密码字典
3、当用户名跟密码保存在同一个文档,使用-C
创建一个包含用户名跟密码的文档
这篇文章就写到这里了!!