john
快捷使用
1
john --wordlist=/usr/share/rockyou.txt ./shadow
2
john --show ./shadow
help
attact
在破解密码方面,有三种类型的攻击:
1.暴力破解:通过依次处理每个可能的字母、数字和特殊字符组合来猜测密码。这是一个很漫长的过程,但却很有效果。
2.字典攻击:此攻击利用包含常见密码列表的文件(通常取自某种类型的漏洞)来猜测给定的密码。在CTF中应用比较广泛,但在正常情况下不是特别常见。
3.彩虹表:彩虹表是一系列预先计算好的散列。其思想是,这些彩虹表包含给定算法的所有散列。通过查找代替了破解。请注意,这需要相当大的处理能力才能实现。默认大字典
1
sudo gunzip /usr/share/wordlists/rockyou.txt.gz
2
wc -l /usr/share/wordlists/rockyou.txt
使用
linux密码
将passwd与shadow转换成john可破解格式(现已可直接破解)
unshadow /etc/passed /etc/shadow > ./password
john --wordlist=/usr/share/wordlist/rockyou.txt ./password
SSH密钥
要测试JTR的SSH密钥密码破解能力,首先要创建一组新的私钥。注意:JTR没有破解文件本身(即生成的密钥中的字节数并不重要),JTR只是破解私钥的加密密码。
在这种情况下,使用可预测的密码创建公钥/私钥对:1
# Create some private key
2
ssh-keygen -t rsa -b 4096
3
# Create encrypted zip
4
/usr/sbin/ssh2john ~/.ssh/id_rsa > id_rsa.hash
接下来,您需要做的就是使用您的字典将John the Ripper指向给定文件:
1
john --wordlist=/usr/share/wordlists/rockyou.txt id_rsa.hash
Keepass2数据库(不常用)
Keepass怎么样?如果您不知道,Keepass是一个开源的,跨平台的密码管理库。
所以让我们创建一个可以攻击的库。首先,安装Keepass CLI(“kpcli”)。1
sudo apt-get install -y kpcli
接下来,创建库。你不需要在库里存储任何密码,一个空的库就可以了。
1
$ kpcli
2
KeePass CLI (kpcli) v3.1 is ready for operation.
3
Type 'help' for a description of available commands.
4
Type 'help <command>' for details on individual commands.
5
kpcli:/> saveas newdb.kdb
6
Please provide the master password: *************************
7
Retype to verify: *************************
8
kpcli:/> exit
与攻击SSH私钥和Linux密码散列一样,将Keepass数据库转换为与JTR兼容的格式。
1
keepass2john newdb.kdb > newdb.kdb.hash
攻击!
1
john --wordlist=/usr/share/wordlists/rockyou.txt newdb.kdb.hash
RAR
1
# Install rar
2
sudo apt-get install -y rar
3
# Create some dummy file
4
echo "Hello" > hello.txt
5
# Create an encrypted RAR file with the password "password"
6
rar a -hppassword encrypted.rar hello.txt
接下来,将其转换为JTR的攻击格式:
1
rar2john encrypted.rar > encrypted.rar.hash
之后用john破解