我正在尝试破解一些散列信息,因为我们丢失了密码。我在数据库中有散列信息,以及用于加密它的代码。据我无知的自己所知,它通过了似乎使用 rijndael-256 和 pbkdf2 的 cryptastic:
公共函数加密($msg,$k,$base64 = false){
# open cipher module (do not change cipher/mode)
if (!$td = mcrypt_module_open('rijndael-256', '', 'ctr', ''))
return false;
$msg = serialize($msg); # serialize
$iv = mcrypt_create_iv(32, MCRYPT_RAND); # create iv
if (mcrypt_generic_init($td, $k, $iv) !== 0) # initialize buffers
return false;
$msg = mcrypt_generic($td, $msg); # encrypt
$msg = $iv . $msg; # prepend iv
$mac = $this->pbkdf2($msg, $k, 1000, 32, 'sha256'); # create mac
$msg .= $mac; # append mac
mcrypt_generic_deinit($td); # clear buffers
mcrypt_module_close($td); # close cipher module
if ($base64)
$msg = base64_encode($msg);# base64 encode?
return $msg; # return iv+ciphertext+mac
}
最后看起来像这样: wWTWLPvXT9YRz2Zj+Og0EwTTSEiZGdjAQ1TRhycJA9jusjQ2mTpptw3hSM1XJ9yPw+4XvsvFASe08AbLr3BT0LFnvGsYPrq87yI= (如果有帮助的话,我知道这是一个 3 位数字)
所以我正在尝试使用 hashcat 来恢复我们的信息,但我不确定我使用的是正确的哈希类型。我在这里查看此页面:https ://hashcat.net/wiki/doku.php?id= example_hashes 并搜索“pbkdf2”并查看所有点击量。
据我所知,最好的匹配是 9200/Cisco-IOS $8$ (PBKDF2-SHA256),除了它似乎有 $8$ 的标头,而且我的信息都没有任何标头,也没有 $ 字符。其他带有 PBKDF2 的东西似乎也不匹配,所以我什至在开始之前就发现自己有点迷失了。
我还注意到我的散列信息最后总是有 ==,但只是为了加密较长的信息,在列表中 Juniper IVE 似乎适合该格式,但名称与我在 cryptastic 中看到的任何内容都不匹配。
据我所知,我基本上已经准备好离开这个了,我已经设置了我的自定义规则,因为我知道我们如何创建初始密码并且哈希在要读取的文件中,它只是这种哈希类型阻碍我的选择。
任何帮助表示赞赏!