本文概述
- 1.生成JohnTheRipper二进制文件
- 2.生成PDF哈希文件
- 3.蛮力与约翰
在本文中, 我们将向你介绍如何使用JohnTheRipper的强力攻击来破解带有密码的PDF。
1.生成JohnTheRipper二进制文件 我们将需要使用JohnTheRipper的Jumbo版本。这是《开膛手约翰》的社区增强版” 巨型” 版本。它具有用户社区提供的大量代码, 文档和数据。这不是开膛手约翰的官方代码。将新代码添加到巨型代码非常容易:质量要求低。这意味着你获得的许多功能不够” 成熟” , 或者对于正式的JtR而言是不合适的, 这又意味着该代码中的错误是可以预期的。
使用以下命令从Github的存储库中获取JohnTheRipper的源代码(” bleinging-jumbo” 分支(默认值基于1.8.0-Jumbo-1))(或下载包含内容的zip并解压缩到一些目录):
git clone https://github.com/magnumripper/JohnTheRipper.git
这将在当前目录中创建一个目录, 即JohnTheRipper。你可以在官方网站上阅读有关JohnTheRipper项目的” Jumbo” 版本的更多信息, 或在此处访问Github上的非正式代码存储库。使用以下命令切换到JohnTheRipper的src目录:
cd ./JohnTheRipper/src
使用以下命令继续从存储库下载软件包列表:
sudo apt-get update
并安装libssl:
sudo apt-get install libssl-dev
该库要求在你的系统中安装libssl(openssl), 因此如果你没有该库, 则可以使用前面的命令来完成此要求。克隆存储库后, 继续进入包含JohnTheRipper源代码的源目录:
cd ./JohnTheRipper/src
在此目录中, 我们将按照以下说明进行构建:
./configure &
&
make
此版本的Jumbo具有支持非常常见链的autoconf, 可让你在类Unix系统上编译源代码。构建过程完成后, 切换到JohnTheRipper目录内的运行目录:
cd ..cd ./run
在此目录中, 你可以找到(在构建之后)库必须提供的所有工具(包括john本身), 你可以列出要比较的目录:
ls
你将在此目录中看到JohnTheRipper的所有工具:
文章图片
现在你拥有继续使用的工具, 让我们开始进行暴力攻击。
2.生成PDF哈希文件 如本文开头所述, JohnTheRipper本身与PDF无关, 但与密码和安全性有关。这就是为什么你需要使用pdf2john.pl工具(从源代码编译后在运行目录中提供)创建PDF的哈希文件的原因。此工具使你可以通过此perl脚本获取文件的哈希(读取元信息), 可以使用以下命令将其提取到新文件中:
pdf2john.pl /root/Desktop/pdf_protected.pdf >
/root/Desktop/pdf.hash
此命令将在定义的目录中创建一个.hash文件。这是我们将用于JohnTheRipper工具的文件:
文章图片
pdf.hash文件包含如下文本:
/root/Desktop/pdf_protected.pdf:$pdf$4*4*128*-4*1*16*d22933dd530666ced293ccf5f860214f*32*ab12d2e30eae3d43d69ac57efc2918c128bf4e5e4e758a4164004e56fffa0108*32*07419b7fe590bdc9926bb9750adeedb8c07b5407d9b5314c012d16e25e9e7f20
现在我们有了哈希文件, 我们可以使用john CLI工具进行暴力破解。
3.蛮力与约翰 现在我们有了要解锁的带有密码的PDF的.hash文件, 我们只需要将该文件作为参数传递给JohnTheRipper的CLI工具(在运行目录中):
john protected_pdf.hash
这将使用UTF-8作为默认输入编码, 并且将开始使用库的默认单词列表来猜测PDF文件的密码。如果找到, 它将显示密码和受保护的PDF的路径:
文章图片
如果你在猜测密码后尝试在同一文件上运行命令, 则会看到以下消息:” 未加载密码哈希” , “ 未加载密码哈希” 或” 没有密码哈希可破解(请参阅FAQ) )” 。破解后的密码将被打印到终端上, 并保存在名为$ JOHN / john.pot的文件中(在文档和John的配置文件中, ” $ JOHN” 指的是John的” 主目录” ;它的真实目录取决于有关如何安装John的信息)。 $ JOHN / john.pot文件还用于不加载下次运行John时已经破解的密码哈希。
如果是这样, 你将可以使用– show标志再次看到同一文件的密码:
john --show /root/Desktop/pdf.hash
【如何在Kali Linux中使用John the Ripper使用蛮力破解PDF密码】因此将显示密码(在我们的示例中为54321):
文章图片
使用自定义单词列表
如果你不想使用JohnTheRipper的默认password.lst文件, 只需使用– wordlist参数指定新文件的路径:
john --wordlist=password.lst protected_pdf.hash
作为最终建议, 该工具可以破解许多文件, 因此你可能需要阅读该库的文档。其余文档位于单独的文件中, 在此处按建议的阅读顺序列出:
- 安装-安装说明
- 选项-命令行选项和其他实用程序
- 示例-使用示例-强烈建议
- 模式-破解模式:它们是什么
- 常见问题解答-常见问题
- 错误-已知错误列表
- 动态-如何在JtR中使用动态格式
- 动态编译器格式-使用动态编译器构建的已知哈希格式列表
- DYNAMIC_SCRIPTING-如何建立/优化使用动态格式
- README.bash-completion-如何为JtR启用bash完成
- 联系人(*)-如何联系作者或以其他方式获得支持
- 配置(*)-如何自定义
- EXTERNAL(*)-定义外部模式
- 规则(*)-单词表规则语法
- 变更(*)-变更记录
- 学分(*)-学分
- 许可-版权和许可条款
- COPYING-GNU GPL第2版, 如上面的LICENSE所引用
骇客骇客!
推荐阅读
- 如何在Electron Framework中更改窗口缩放级别
- 如何在Kali Linux中使用Nmap枚举Web服务器目录
- 如何使用Kali Linux进行中间人(MITM)攻击
- 如何在Kali Linux上安装Spotify
- 如何在Kali Linux中使用Nikto2扫描Web服务器漏洞
- 如何在Kali Linux中使用SlowHTTPTest(测试服务器Slowloris保护)执行DoS攻击”Slow HTTP”
- 使用Android O的画中画功能
- 回到Android中的后备堆栈中的不同Activity
- 在Android中启动服务