分为三大类
线性散列算法(签名算法) MD5 SHA1
对称性加密算法 AES DES
非对称性加密算法 RSA
1. MD5是一种被广泛使用的线性散列算法,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。
2. MD5加密之后产生的是一个固定长度(32位或16位)的数
3. MD5是可以进行反向暴力破解的。也就是用很多不同的数据进行加密后跟已有的加密数据进行对比。理论上只要数据量足够庞大MD5是可以被破解的
4. MD5考虑的是破解的成本(时间和机器性能)。假设破解当前的MD5密码需要目前计算能力最优秀的计算机工作100年才能破解完成。那么当前的MD5密码就是安全的
常用的密码验证算法,用于操作系统的登录认证 例如:49ba59abbe56e057
明文密码: 密文:
存在规律性 使用加密算法
可破解性 唯一性
对应性(撞库) 不可伪造性
不可逆性
常见的hash加密:https://www.jianshu.com/p/0d53b9b5631e
https://cmd5.com/
在线工具箱:https://tool.bugku.com/
验证hash值
Windows自带工具验证hash值
certutil /? 查看帮助
certutil -hashfile 1.jpg MD5 查看文件MD5值
作用:
1)验证文件是否损坏
2)验证文件是否被修改(后门)
案例:https://www.freebuf.com/articles/paper/147403.html
http://www.qianxin.com/other/CVE-2019-0708
RSA加密:RSA加密算法是一种非对称加密算法。在公开密钥加密和电子商业中RSA被广泛使用。(这才是正经的加密算法)
非对称加密算法:非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。
1. 使用时都是使用公匙加密使用私匙解密。公匙可以公开,私匙自己保留。
2. 算法强度复杂、安全性依赖于算法与密钥但是由于其算法复杂,而使得加密解密速度没有对称加密解密的速度快
3. 使用场景: 通过公匙加密,使用私匙解密。私匙是通过公匙计算生成的。假设ABC三方之间相互要进行加密通信。大家相互之间使用公匙进行信息加密,信息读取时使用各自对应的私匙进行信息解密
4. 公私匙可以通过http://www.qianxin.com/other/CVE-2019-0708在线生成
5. 用户输入的支付密码会通过RSA加密
DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法
DES算法的入口参数有三个:Key、Data、Mode。其中Key为7个字节共56位,是DES算法的工作密钥;Data为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。
Base64是一种用64个字符来表示任意二进制数据的方法。base64是一种编码方式而不是加密算法。只是看上去像是加密而已
原理:
1. Base64使用A--Z,a--z,0--9,+,/ 这64个字符
2. 将3个字节转换成4个字节( (3 X 8) = 24 = (4 X 6) )先读入3个字节,每读一个字节,左移8位,再右移四次,每次6位,这样就有4个字节
中国特色的弱口令生成器
指令:
-n 名字
-u 用户名
-q QQ号
-e 邮箱
-m 手机号
-b 生日:格式2001-01-01
-c 公司名
-o 导出文件
地址:https://github.com/RicterZ/genpAss
安全趣闻:https://www.freebuf.com/sectool/197414.html
密码泄露查询:https://haveibeenpwned.com/Passwords
查找爆破模块的姿态
查找关键词:login
通过搜索功能快速找到我们想要的模块,缩小范围、精确定位
查找服务名:
查找服务名 + 关键词:
查找爆破模块教程地址:https://blog.csdn.net/qq_35938621/article/details/118056559
通过“信息收集”进行针对性的密码爆破
1)SSH密码爆破
模块名:auxiliary/scanner/ssh/ssh_login
2)MySQL密码爆破
模块名:auxiliary/scanner/mysql/mysql_login
3)phpmyadmin登录验证爆破
模块名:auxiliary/scanner/http/phpmyadmin_login