为什么 John the Ripper 使用简单密码时速度这么慢?

为什么 John the Ripper 使用简单密码时速度这么慢?

我在 Linux Ubuntu 上使用 John the Ripper 1.7.8 版来破解 Linux 用户密码,作为练习。我在虚拟机上运行 Linux。我为系统创建了一个名为“User1”的用户,并为其设置了密码“axby”。然后我使用常用​​命令获取了密码哈希:

root@machine:~# unshadow /etc/passwd /etc/shadow > filetocrack

然后我用命令运行 John:

root@machine:~# john filetocrack

在我写这个问题的时候,程序已经运行了 30 分钟,试图猜测一个简单的 4 个字母的密码。这是正常的吗?还是我做错了什么?任何加快速度的建议都将不胜感激。

答案1

是的,这很常见,因为John使用字典攻击或者暴力破解这两种方法都不是很快,尤其是对于许多在单线程上运行的现代哈希算法而言(运行某些哈希算法的成本很高,因为@DavidSchwartz提及)。

John没有参数也使用相当慢的方法,从常问问题

问:我应该预计约翰跑多久?

A: 它主要取决于破解模式和密码文件(特别是哈希类型和不同盐的数量(如果适用)。最重要的是,您应该注意到,“增量”模式(默认的 John 运行(没有命令行选项)在完成更快的检查后继续进行)不应该在合理的时间内终止。

尝试获得更好性能的一个选项是启用parallelization--fork=NN进程数)或--node。请参阅选项列表了解详情。

理论上,如果您有两个半智能运行的线程 - 您的执行时间应该会减少一半。(请注意限定词“理论上”,在现实世界中 YMMV)

相关内容