摘要

John the Ripper (“JtR”) 是一个非常有用的工具。这是一个快速的密码破解器,适用于Windows和许多Linux系统。它具有很多功能,对于很多密码破解均有奇效。
我们来试试看吧!当人们第一次使用JtR的时候,可能会感觉“丈二和尚摸不着头脑”,被它的许多命令行选项搞糊涂,但这恰恰证明了JtR的多功能性。

在我的$PATH中未检测到JtR,因此必须利用完整路径

在破解密码方面,有三种类型的攻击:
1.暴力破解:通过依次处理每个可能的字母、数字和特殊字符组合来猜测密码。这是一个很漫长的过程,但却很有效果。
2.字典攻击:此攻击利用包含常见密码列表的文件(通常取自某种类型的漏洞)来猜测给定的密码。在CTF中应用比较广泛,但在正常情况下不是特别常见。
3.彩虹表:彩虹表是一系列预先计算好的散列。其思想是,这些彩虹表包含给定算法的所有散列。通过查找代替了破解。请注意,这需要相当大的处理能力才能实现。

本文中,我将利用JtR演示字典攻击。要做到这一点,首先我们需要一本字典来攻击。最容易获得的是rockyou.txt。rockyou.txt是社交媒体应用程序开发商RockYou的提供的一组密码。注意:如果您不使用Kali Linux,可以从这里下载rockyou.txt.gz 。
在Kali上,使用以下命令解压缩rocyou.txt.gz文件:

sudo gunzip /usr/share/wordlists/rockyou.txt.gz
wc -l /usr/share/wordlists/rockyou.txt

现在让我们试试手——Linux密码散列,我们需要两个文件:/etc/passwd和/etc/ shadow。

根据Wikipedia: /etc/passwd文件是一个基于文本的数据库,其中包含关于可能登录到系统或拥有正在运行的进程的其他操作系统用户身份的用户的信息。etc/shadow用于限制除高度特权用户外的所有用户对散列密码数据的访问,从而提高密码的安全性。通常,该数据保存在由超级用户拥有且只能由超级用户访问的文件中。

JtR破解的文件必须有特定的格式。要转换passwd和shadow文件,我们需要利用/usr/sbin/unshade可执行文件。这需要超级用户权限才能执行。

sudo /usr/sbin/unshadow /etc/passwd /etc/shadow > ~/passwords.txt

破解Linux密码的命令非常简单。

/usr/sbin/john --wordlist=/usr/share/wordlists/rockyou.txt ~/passwords.txt


JTR是一个很好的工具来显示您(或您的用户)是否有弱/可预测的密码!

所以JtR还能做什么?很多!有许多不同的转换工具,可以将不同的文件类型转换为JTR兼容的攻击文件。

例如:

SSH密钥

要测试JTR的SSH密钥密码破解能力,首先要创建一组新的私钥。注意:JTR没有破解文件本身(即生成的密钥中的字节数并不重要),JTR只是破解私钥的加密密码。
在这种情况下,使用可预测的密码创建公钥/私钥对:

# Create some private key
ssh-keygen -t rsa -b 4096
# Create encrypted zip
/usr/sbin/ssh2john ~/.ssh/id_rsa > id_rsa.hash

接下来,您需要做的就是使用您的字典将John the Ripper指向给定文件:

/usr/sbin/john --wordlist=/usr/share/wordlists/rockyou.txt id_rsa.hash


hhhh

Keepass2数据库

Keepass怎么样?如果您不知道,Keepass是一个开源的,跨平台的密码管理库。
所以让我们创建一个可以攻击的库。首先,安装Keepass CLI(“kpcli”)。

sudo apt-get install -y kpcli

接下来,创建库。你不需要在库里存储任何密码,一个空的库就可以了。

$ kpcli
KeePass CLI (kpcli) v3.1 is ready for operation.
Type 'help' for a description of available commands.
Type 'help <command>' for details on individual commands.
kpcli:/> saveas newdb.kdb
Please provide the master password: *************************
Retype to verify: *************************
kpcli:/> exit

与攻击SSH私钥和Linux密码散列一样,将Keepass数据库转换为与JTR兼容的格式。

/usr/sbin/keepass2john newdb.kdb > newdb.kdb.hash

攻击!

/usr/sbin/john --wordlist=/usr/share/wordlists/rockyou.txt newdb.kdb.hash

RAR

接下来,让我们使用Roshal Archive(“RAR”)格式。要在Linux上创建加密的RAR归档文件,请执行以下操作:

# Install rar
sudo apt-get install -y rar
# Create some dummy file
echo "Hello" > hello.txt
# Create an encrypted RAR file with the password "password"
rar a -hppassword encrypted.rar hello.txt

接下来,将其转换为JTR的攻击格式:

/usr/sbin/rar2john encrypted.rar > encrypted.rar.hash

开火!

关于破解ZIP文件的说明…

在撰写这篇文章的过程中,我发现最新版本的JtR中有一个可以防止Zip文件被破解的bug。

总结

这就是你想要的。一种免费的、开源的方法,可以轻松地恢复“您的”密码。
如果你对进一步的研究感兴趣,看看这个Defcon关于密码破解的演讲。 “DEFCON 17: Cracking 400,000 Passwords, or How to Explain to Your Roommate why Power Bill is a High” https://www.youtube.com/watch?v=0WPny7wk960

教程:https://bytesoverbombs.io/cracking-everything-with-john-the-ripper-d434f0f6dc1c

点击收藏 | 0 关注 | 1
  • 动动手指,沙发就是你的了!
登录 后跟帖