pdfcrack
我之前分享过这里。现在很无聊,pdfcrack
破解密码需要很长时间。
但是如果我可以使用一个单词表来帮助它,这可能会使整个处理器更快呢?但我该如何创建一个单词列表呢?例如,我知道前四个字符是字母,其余四个字符是数字。我将如何创建它以及如何将该堆栈/单词列表提供给pdfcrack
.
答案1
生成单词列表的通用工具是crunch
。
例如,我知道前四个字符是字母,其余四个字符是数字。
以下命令将根据上面的描述生成一个单词列表:
crunch 8 8 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ -t @@@@%%%%
(这个答案可能会帮助您了解@
、%
以及此类工作的原理crunch
。)
您可以通过将输出重定向到常规文件来将结果保存到常规文件中;然后使用带有-w
以下选项的文件pdfcrack
:
crunch … >wordlist
pdfcrack -w wordlist protected.pdf
crunch
告诉我该文件的大小约为 612 GB。如果我是你,我会将一种工具连接到另一种工具。不幸的是pdfcrack -w
(至少在我的 Debian 中)没有遵循-
标准输入的含义约定。我仍然可以这样做:
crunch … | pdfcrack -w /dev/stdin protected.pdf
如果您无法使用/dev/stdin
,创建一个命名的 fifo 并使用它代替常规文件:
mkfifo myfifo
crunch … >myfifo &
pdfcrack -w myfifo protected.pdf
答案2
您实际上可能想使用除pdfcrack
.有了好的GPU,hashcat
每秒可以尝试更多数量级的密码(举个例子,每秒可以尝试数百万次,如果您有强大的 GPU,则速度会更快)。
您可以直接要求它破解具有特定字符模式的密码。为此,需要一个外部脚本(pdf2john.py)将 PDF 中的密码哈希提取为hashcat
可以使用的格式。
例如,您可以使用如下命令:
hashcat -a 3 -i -m 10500 'hash' ?l?l?l?l?d?d?d?d
命令中,-a 3
指定攻击模式为暴力破解,-m 10500
是哈希类型(PDF),末尾的单词是模式,这里是4个字母和4个数字。指定-i
攻击将从 1 个字符开始,然后是 2 个字符,...直到破解模式的长度。
答案3
以每秒 45k 的速度,计算 46 亿条数据大约需要 100,000 秒。所以28小时似乎是可行的。
我只需编写一个程序来从 0 计数到 9999,然后将其包裹在从 a 到 z 的四个循环中。所以你最终得到一个文件:
aaaa0001 to zzzz9999