在线密码破解
- hydra
- medusa
离线密码破解
身份认证
- 禁止明文传输密码
- 每次认证使用hash算法加密密码传输(hash算法加密容易,解密困难)
- 服务器端用户数据库应加盐保存
破解思路
- 嗅探获取密码hash
- 利用漏洞登陆服务器,从数据库获取密码hash
- 识别hash类型
- 长度、字符集
- 利用离线破解工具碰撞密码hash
优势
- 离线不会触发密码锁定机制
- 不会产生大量登陆失败日志引起管理员注意
HASH识别工具
hash-identifier
hashid
可能识别错误或无法识别
Windows Hash获取工具
- 利用漏洞:pwdump、fgdump、mimikatz、wce
- 物理接触:samdump2
- 在物理机上插入U盘,启动kaliLive虚拟机
- 挂载windows硬盘
mount /dev/sda1 /mnt
- 到sam数据库目录下
cd /mnt/Windows/System32/config
- 执行samdump2
samdump2 SYSTEM SAM -o sam.hash
离线密码破解–Hashcat
- 开源多线程密码破解工具
- 支持80多种算法的破解
hashcat -h
- 六种模式
- -0 Straight:字典破解
- -1 Combination:将字典中密码进行组合
- -2 Toggle case:尝试字典中所有密码的大小写字母组合
- -3 Brute force:指定字符集(或全部字符集)所有组合
- -4 Permutation:字典中密码的全部字符置换组合(比如123:123 321 132 213 231)
- -5 Table-lookup:程序为字典中所有密码自动生成掩码
- 支持掩码方式的密码字典
oclhashcat
- 号称世界上最快,基于GPU的密码破解软件
- 免费开源、支持多平台、支持分布式、150+hash算法
- 硬件支持
- 虚拟机中无法使用
- 支持CUDA技术的Nvidia显卡
- 支持OpenCl技术的AMD显卡
- 安装相应的驱动
- 限制
- 最大密码长度55字符
- 使用Unicode的最大密码长度27字符
oclHashcat64 -m 0 hash.txt -a ?a?a?a?a?a?a
- -?l =abcdefghijklmnopqrstuvwxyz
- -?u =ABCDEFGHIJKLMNOPQRSTUVWXYZ
- -?d =0123456789
- -?s =!”#$%&’()’;:,>?<\等
- -a =?l?u?d?s
- -b =0x00-0xff
RainbowCrack
- 基于时间记忆权衡技术生成彩虹表
- 也可以直接去网站下载彩虹表
- 提前计算密码的Hash值,通过比对hash值破解密码
- 计算hash的速度很慢,修改版支持CUDA、GPU
- KALI中包含的RainbowCrack工具
- rtgen:预计算、生成彩虹表,耗时的阶段
- rtsort:对rtgen生成顿彩虹表进行排序
- rcrack:查找彩虹表破解密码
- 以上命令必须顺序使用
- 彩虹表
- 密码明文、hash值、hash算法、字符集、明文长度范围
John
- 破解linux和windows密码
- johney图形化的john
Ophcrack
- 基于彩虹表的LM、NTLM密码破解软件