1.Linux密码破解
Linux
中,用户名和密码是分别存储在
/etc/passwd
和
/etc/shadow
文件中的,需要使用
unshadow
命
令将
/etc/passwd
和
/etc/shadow
合并为一个文件,然后加以破解。
第1步:生成带破解密文
unshadow /etc/passwd /etc/shadow > pass.txt //
将两个文件合并成
pass.txt
第2步:使用密码字典破击密文
john --wordlist=./password.txt --format=crypt pass.txt//
使用密码字典破解哈希密码,
其中
password.txt
为密码字典(注意:要保证密码字典中含有待破解密码对应的明文),
pass.txt
为存放待破解密码的文件
知识拓展:
##
破解特定哈希密码,使用
--format
参数指定
hash
算法
john --wordlist = /usr/share/wordlists/rockyou.txt --format=raw-sha1 pass.txt
john --wordlist=/usr/share/wordlists/rockyou.txt --format=raw-md5 pass.txt
##
破解多个文件
john --wordlist=/usr/share/wordlists/rockyou.txt --fromat=raw-md5 pass.txt
pass1.txt
如果使用john进行破解,但是提示No password hashes loaded (see FAQ),
原因是,查看合并后的 文件,如果用户名后有$y$,则表明密码已使用 yescrypt 进行哈希处理。
解决方法,指定format参 数,john --format=crypt passhcl.txt unix下:
$1开头为MD5
$5开头为SHA256
$6开头为SHA512
$y$开头为yescrypt
DES和明文开头无标记
系统:DES(Unix)
例子: IvS7aeT4NzQPM
说明:Linux或者其他linux内核系统中
长度: 13 个字符
描述:第1、2位为salt,例子中的’Iv’位salt,后面的为hash值