暴力破解练习
1、漏洞简介
暴力破解也可称为穷举法、枚举法,是一种针对于密码的破译方法,将密码进行逐个尝试直到找出真正的密码为止。一个 6 位并且全部由数字组成的密码,可能有 100 万种组合,也就是说最多需要尝试 100 万次才能找到正确的密码。 理论上来说,只要字典足够庞大,枚举总是能够成功的,也就是说任何密码都能被破解,只是时间的问题;为了加快破解的效率,攻击者会利用计算机来缩短破解的时间。
2、漏洞演示
(1)hydra 工具在线破解密码
1)Hydra 破解 windows 远程桌面密码
Windows 远程桌面使用的 rdp 协议,默认端口是 3389
打开kali(用root用户!!!不然无法成功)
把密码本放到/root下,测试时确保密码本里有这个密码,以下同理
hydra -l test -P a.txt -t 4 rdp://10.20.0.94
2)Hydra 工具破解 ssh 协议密码
ssh协议,远程登陆,22端口,linux专属协议
开一台linux机器,比如centos,账户:root 密码:123456
hydra -l root -P a.txt -t 4 ssh://10.20.0.250
-t #通过-t 参数来指定线程数默认是 16 会造成服务器拒绝连接。切记不能太快。
3)Hydra 工具破解 mysql 服务密码
Mysql数据库管理系统,默认端口3306
需开启root远程登陆权限
grant all on *.* to root@'%' identified by 'root';
hydra -l root -P a.txt -t 4 mysql://10.20.0.5
超级弱口令检查工具
Burpsuite
抓取数据包
选择爆破区域
防御方法
人:增强密码安全性
- 提升密码长度和复杂度
- 在不同的地方使用不同的密码
- 避免使用字典单词、数字组合、相邻键盘组合、重复的字符串
- 避免使用名字或者非机密的个人信息(电话号码、出生日期等)作为密码。
- 定期修改密码
系统:做好密码防暴破设计
- 锁定策略:输错密码到一定次数就锁定一段时间
- 验证码技术:要求用户完成简单的任务才能登录到系统
- 密码复杂度限制:强制用户设置长而复杂的密码,并强制定期更改密码
- 多因素认证:结合两种或以上不同的认证因素对用户进行认证