出於书本 Chapter 7. Passwords
书本在讲解各种密码破解的相关知识时,也介绍了不少密码破解的相关软件。对比网路上搜寻的结果 (目前是 2021 年 9 月),有找出几套书本有提,而且目前还在榜单上的破解软件,像是
Cain & Abel
Ophcrack [1]
Windows XP/Vista/7
的彩虹表RainbowCrack [2]
John the Ripper [3][4]
如果是直接从官网下载原始码,可参照这一篇 https://www.bytebang.at/Blog/Crack+(ZIP)+passwords+with+John+the+Ripper 安装 John the Ripper ,Mac 上也可以透过 brew install 安装 John the Ripper,使用以下指令来安装号称是加强版的 john-jumbo
brew install john-jumbo
这边直接来试试看传闻中的字典欓破解,首先参考 [6] 的指令产生字典欓
john --wordlist=dictfile -stdout -rule
例如我在参数 wordlist 指定的档案 dictfile
里打 password
,产生出来的规则就多达 49 种。( 虽然整个印出来有点骗篇幅嫌疑,但我觉得蛮有趣的,混出来的字典欓都是头尾加上数字或符号、不然就是小写字母换个顺序排列 )
password
Password
passwords
password1
Password1
drowssap
1password
PASSWORD
password2
password!
password3
password7
password9
password5
password4
password8
password6
password0
password.
password?
psswrd
drowssaP
Drowssap
passworD
2password
4password
Password2
Password!
Password3
Password9
Password5
Password7
Password4
Password6
Password8
Password.
Password?
Password0
3password
7password
9password
5password
6password
8password
Passwords
passworded
passwording
Passworded
Passwording
因为前面的文章有谈到要避免使用形状类似於英文字母的数字来代替字元,这次在 dictfile 里打一个形状与 password
87% 像的 pa55w0rd
,产生出来的规则只有 4 种 QQ ,也许就是因为这样普遍密码都建议要英文字母与数字混合 ?。
pa55w0rd
Pa55w0rd
PA55W0RD
p55w0rd
接下来来试试使用 john the ripper 破解 zip 档案的密码,我用下面的 zip 指令先压缩一个密码为 password
且档案名称为 test.zip
的档案,因为字典欓里。
所以来试看看暴力破解法
# 做一个有密码保护的 zip 档案
zip -re test.zip source_file.jpg
# 先用 john 指令处理 zip file,以我的电脑为例
/usr/local/Cellar/john-jumbo/1.9.0/share/john/zip2john test.zip > test.john
# 再使用下列指令进行破解,因为密码难度太低了所以一下就跑完了
john --incremental test.john
# 使用下列指令显示破解结果
john --show test.john
# 如果破解成功会显示
1 password hash cracked, 0 left
我再做一个密码为 pa55w0rd
的档案试试暴力法破解,CPU 立刻就起飞了...
夜深了该睡了,明天进入书本的第三部分 - 网路安全!
[1] Ophcrack install
[2] Project Rainbowcrack
[3] John the Ripper
[4] 密码忘记了!用 john the ripper 暴力破解
[5] kali 使用 john 产生字典档加上 xtest 攻击 eap md5 协议中的密码
[6] Openwall Password Recovery and Password Security Auditing Bundle
<<: Material UI in React [ Day 27 ] Styles API (part 2)
>>: [Day 14] - 『转职工作的Lessons learned』 - Docker Build Issue
在React中用bootstrap card建立图片库,并用Array.filter功能,点选上面的...
本篇大纲:selection.call( )、drag.on( )、范例 今天要来看另一个d3有趣...
其实原本最初规画想要做Index方式的纪录,然後多增加一些没写到的面向 不过,总是计画赶不上变化 ...
正文 今天要来Demo ArgoCD上透过Gitlab的SSO与权限控管 先创建一个namespac...
filter filter() 会建立一个新的阵列,其内容为原阵列的每一个元素经由回呼函式判断後所回...