Day 13 - 密码破解软件初体验

出於书本 Chapter 7. Passwords

话说...

书本在讲解各种密码破解的相关知识时,也介绍了不少密码破解的相关软件。对比网路上搜寻的结果 (目前是 2021 年 9 月),有找出几套书本有提,而且目前还在榜单上的破解软件,像是

  • Cain & Abel

    • 只能运行在 Windows,Linux/Unix 用户只能含泪向他掰掰
  • Ophcrack [1]

    • 一套基於彩虹表的密码破解软件,免费提供 Windows XP/Vista/7 的彩虹表
  • RainbowCrack [2]

    • 一样是一套基於彩虹表的密码破解软件,使用了较快速的时间空间取舍 (time-memory trade-off) 演算法加速,支援 Windows 与 Ubuntu 。
  • John the Ripper [3][4]

    • 一套可以运行在多个作业系统的密码破解软件
    • 如果有在使用 AWS 服务的话,John the Ripper 有提供预先压好的 AMI 档案,能作为密码还原以及稽核等用途。[5]

    https://ithelp.ithome.com.tw/upload/images/20210928/20141184LeIxhEqEin.png

    • 我家只有 Mac 就拿这个试看看

在 Mac 上安装 John the Ripper

如果是直接从官网下载原始码,可参照这一篇 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

Day24 Create Image Gallery in React

在React中用bootstrap card建立图片库,并用Array.filter功能,点选上面的...

Day13-D3 的 Drag 拖曳

本篇大纲:selection.call( )、drag.on( )、范例 今天要来看另一个d3有趣...

简报版-第八章-近年勒索软件加密威胁无人不知!注意基本观念「备份」一式三份

其实原本最初规画想要做Index方式的纪录,然後多增加一些没写到的面向 不过,总是计画赶不上变化 ...

Day19,ArgoCD ( 2 / 2 )

正文 今天要来Demo ArgoCD上透过Gitlab的SSO与权限控管 先创建一个namespac...

JavaScript Day18 - 阵列操作(filter、find、findIndex)

filter filter() 会建立一个新的阵列,其内容为原阵列的每一个元素经由回呼函式判断後所回...