口令破解
现在很多地方都以用户名(账号)和口令(密码)作为鉴权的方式,口令(密码)就意味着访问权限.例如网站后台,数据库,服务器,个人电脑,QQ,邮箱等等.
口令安全现状
- 弱口令:类似于123456,654321,admin123 等这样常见的弱密码
- 默认口令:很多应用或者系统都存在默认口令.比如phpstudy 的mysql 数据库默认账密[root/root],Tomcat 管理控制台默认账密[tomcat/tomcat]等
- 明文传输:比如HTTP|FTP|TELNET 等服务,在网络中传输的数据流都是明文的,包括口令认证信息等.这样的服务,有被嗅探的风险
暴力破解
暴力破解就是利用所有可能得字符组密码,去尝试破解.这是最原始,粗暴的破解方法,根据运算能力,如果能够承受的起时间成本的话,最终一定会爆破出密码.
字符集 | 密码位数 | 密码空间 |
---|---|---|
[0-9] | 8位 | \(10^{8}=100000000\) |
[0-9][a-z] | 8位 | \(36^{8}=2821109907456\) |
字典破解
如果能通过比较合理的条件,筛选或者过滤掉一些全字符组合的内容,就会大幅降低爆破的成本.我们把筛选出的密码组合成特定的字典.在用字典爆破密码也是可以的,但是这样做有可能会漏掉真正的密码.
- 弱口令字典:比如123456,admin 等这样的默认口令或弱口令
- 社工字典:人们在设置密码的时候,往往为了便于记忆,密码的内容和组合会与个人信息有关,比如常见的密码组合"名字+生日"
- 字符集字典:如果能确定密码的字符集合,也将大大降低爆破的成本
相关工具介绍
crunch
Crunch是一种创建密码字典工具,按照指定的规则生成密码字典,可以灵活的制定自己的字典文件.使用Crunch工具生成的密码可以输出到屏幕,保存到文件,或另一个程序.由其在渗透测试需要爆破的时候,字典的编排等直接影响到我们的爆破速度,对整个渗透测试流程起着十分重要的作用.crunch为kali自带的工具.以下命令均在kali下直接运行
#命令格式
crunch <min-len> <max-len> [<charset string>] [options]
参数说明
- min-len : 设定最小字符串长度(必选)
- max-len : 设定最大字符串长度(必选)
- charset string : 字符集
特殊字符 | 说明 |
---|---|
% | 代表数字 |
^ | 代表特殊符号 |
@ | 代表小写字母 |
, | 代表大写字母 |
- oprions : 可选参数
参数 | 说明 |
---|---|
-b | 指定文件输出的大小,避免字典文件过大 |
-c | 指定文件输出的行数,即包含密码的个数 |
-d | 限制相同元素出现的次数 |
-e | 定义停止字符,即到该字符串就停止生成 |
-f | 调用库文件(/usr/share/crunch/charset.lst) |
-i | 改变输出格式,即aaa,aab -> aaa,baa |
-l | 通常与-t联合使用,表明该字符为实义字符 |
-m | 通常与-p搭配 |
-o | 将密码保存到指定文件 |
-p | 指定元素以组合的方式进行 |
-q | 读取密码文件,即读取pass.txt |
-r | 定义重某一字符串重新开始 |
-s | 指定一个开始的字符,即从自己定义的密码xxxx开始 |
-t | 指定密码输出的格式 |
-u | 禁止打印百分比(必须为最后一个选项) |
-z | 压缩生成的字典文件,支持gzip,bzip2,lzma,7z |
- 示例命令
#生成1-8位密码字典,字符集合为小写字母,从a 开始到zzzzzzzz 结束
crunch 1 8
#生成1-6 位的密码字典,字符集合为[abcdefg],从a 开始到gggggg 结束
crunch 1 6 abcdefg
#生成指定字符串,比如生日的日期
crunch 8 8 -t 199307%% -e 19930731
#生成元素的组合,比如123.com
crunch 7 7 -t %%%.com -s 111.com -e 123.com
#以元素组合生成字典
crunch 0 0 -p ajest 1992 0701
#保存字典文件
crunch 11 11 -t 1700010%%%% -b 20kb -o START
#使用自定义字符集合生成[*.com] 字典文件
crunch 5 5 -f /usr/share/crunch/charset.lst numeric -t @.com
hydra
hydra是一个自动化的在线爆破工具,暴力破解弱密码,是一个支持众多协议的爆破工具,已经集成到KaliLinux中
#使用用户名密码手动测试一次
Hydra -l administrator -p 123 10.0.0.3 telnet
#使用指定用户名和密码字典进行暴力破解telnet
Hydra -l administrator -P ~/password.txt 10.0.0.3 telnet
#使用指定用户名和密码字典进行暴力破解rdp
Hydra -l administrator -P ~/password.txt 10.0.0.3 rdp
#使用指定用户名和密码字典进行暴力破解smb
Hydra -l administrator -P ~/password.txt 10.0.0.3 smb
#使用指定用户名和密码字典进行暴力破解ftp
Hydra -l administrator -P ~/password.txt 10.0.0.3 ftp
#使用指定用户名和密码字典进行暴力破解ssh
Hydra -l administrator -P ~/password.txt 10.0.0.3 ssh
#使用指定用户名和密码字典进行暴力破解mysql
Hydra -l administrator -P ~/password.txt 10.0.0.3 mysql
#使用指定用户名字典和密码字典进行暴力破解telnet
Hydra -L ~\username.txt -P ~/password.txt 10.0.0.3 telnet
john
ohn the Ripper免费的开源软件,是一个快速的密码破解工具,用于在已知密文的情况下尝试破解出明文的破解密码软件,支持目前大多数的加密算法,如DES,MD4,MD5等.它支持多种不同类型的系统架构,包括Unix,Linux,Windows,DOS模式,BeOS和OpenVMS,主要目的是破解不够牢固的Unix/Linux系统密码
windows账户hash值破解
- 获取到的hash值
Administrator:500:NO PASSWORD*********************:AE5017306252D85B5711427C1916D51D:::
Guest:501:NO PASSWORD*********************:NO PASSWORD*********************:::
- 破解hash值
#破解hash值
john hash.txt --format=NT --wordlist=winPass.dic
#查看破解结果
john hash.txt --show --format=NT
linux本地shadow文件破解
#破解shadow
john shadow --wordlist=linuxPass.dic --format=sha512crypt
#查看破解结果
john shadow --show
Getpass
- 一键直接获取当前 windows 系统在内存中的明文密码,支持win7,server 2008以下系统
- GetPass.rar
Pwdump
Pwdump提取sam中的HASH值并保存
最后一次更新于2020-12-11 14:49
0 条评论