pwcrack-framework icon indicating copy to clipboard operation
pwcrack-framework copied to clipboard

initdb错误 OpenSSL::Digest::DigestError

Open winezer0 opened this issue 2 years ago • 14 comments

./pwcrack initdb

使用ruby3.0.0发生错误 [*] Start creating the local DB... /usr/lib/ruby/3.0.0/openssl/digest.rb:35:in initialize': Digest initialization failed: initialation error (OpenSSL::Digest::DigestError) from /usr/lib/ruby/3.0.0/openssl/digest.rb:35:in block (3 levels) in class:Digest' from /root/Desktop/pwcrack-framework/lib/cli_cmd/initdb.rb:25:in new' from /root/Desktop/pwcrack-framework/lib/cli_cmd/initdb.rb:25:in initdb' from /root/Desktop/pwcrack-framework/lib/cli.rb:82:in get_input' from /root/Desktop/pwcrack-framework/lib/cli.rb:61:in commandline!' from ./pwcrack:24:in `

'

使用ruby3.1.1也发生错误 [*] Start creating the local DB...

/usr/local/rvm/rubies/ruby-3.1.1/lib/ruby/3.1.0/openssl/digest.rb:35:in initialize': Digest initialization failed: initialization error (OpenSSL::Digest::DigestError) from /usr/local/rvm/rubies/ruby-3.1.1/lib/ruby/3.1.0/openssl/digest.rb:35:in block (3 levels) in class:Digest' from /root/Desktop/pwcrack-framework/lib/cli_cmd/initdb.rb:25:in new' from /root/Desktop/pwcrack-framework/lib/cli_cmd/initdb.rb:25:in initdb' from /root/Desktop/pwcrack-framework/lib/cli.rb:82:in get_input' from /root/Desktop/pwcrack-framework/lib/cli.rb:61:in commandline!' from ./pwcrack:24:in `

'

winezer0 avatar Aug 02 '22 08:08 winezer0

gem info openssl 运行看看

L-codes avatar Aug 02 '22 08:08 L-codes

└─# gem info openssl

*** LOCAL GEMS ***

openssl (3.0.0) Authors: Martin Bosslet, SHIBATA Hiroshi, Zachary Scott, Kazuki Yamaguchi Homepage: https://github.com/ruby/openssl License: Ruby Installed at (default): /usr/lib/ruby/gems/3.0.0

OpenSSL provides SSL, TLS and general purpose cryptography.

winezer0 avatar Aug 02 '22 08:08 winezer0

那版本没有问题,估计是 OpenSSL不一样

L-codes avatar Aug 02 '22 08:08 L-codes

运行 ruby -ropenssl -e 'puts OpenSSL.constants' 看看 uname -a 看看什么系统

L-codes avatar Aug 02 '22 08:08 L-codes

openssl help看看你openssl支持的算法

L-codes avatar Aug 02 '22 08:08 L-codes

当前使用的是kali2022.1 VMWARE。

└─# openssl help Standard commands asn1parse ca ciphers cms
crl crl2pkcs7 dgst dhparam
dsa dsaparam ec ecparam
enc engine errstr gendsa
genpkey genrsa help list
nseq ocsp passwd pkcs12
pkcs7 pkcs8 pkey pkeyparam
pkeyutl prime rand rehash
req rsa rsautl s_client
s_server s_time sess_id smime
speed spkac srp storeutl
ts verify version x509

Message Digest commands (see the `dgst' command for more details) blake2b512 blake2s256 gost md4
md5 rmd160 sha1 sha224
sha256 sha3-224 sha3-256 sha3-384
sha3-512 sha384 sha512 sha512-224
sha512-256 shake128 shake256 sm3

Cipher commands (see the `enc' command for more details) aes-128-cbc aes-128-ecb aes-192-cbc aes-192-ecb
aes-256-cbc aes-256-ecb aria-128-cbc aria-128-cfb
aria-128-cfb1 aria-128-cfb8 aria-128-ctr aria-128-ecb
aria-128-ofb aria-192-cbc aria-192-cfb aria-192-cfb1
aria-192-cfb8 aria-192-ctr aria-192-ecb aria-192-ofb
aria-256-cbc aria-256-cfb aria-256-cfb1 aria-256-cfb8
aria-256-ctr aria-256-ecb aria-256-ofb base64
bf bf-cbc bf-cfb bf-ecb
bf-ofb camellia-128-cbc camellia-128-ecb camellia-192-cbc
camellia-192-ecb camellia-256-cbc camellia-256-ecb cast
cast-cbc cast5-cbc cast5-cfb cast5-ecb
cast5-ofb des des-cbc des-cfb
des-ecb des-ede des-ede-cbc des-ede-cfb
des-ede-ofb des-ede3 des-ede3-cbc des-ede3-cfb
des-ede3-ofb des-ofb des3 desx
rc2 rc2-40-cbc rc2-64-cbc rc2-cbc
rc2-cfb rc2-ecb rc2-ofb rc4
rc4-40 seed seed-cbc seed-cfb
seed-ecb seed-ofb sm4-cbc sm4-cfb
sm4-ctr sm4-ecb sm4-ofb

─# uname -a Linux kali 5.15.0-kali3-amd64 #1 SMP Debian 5.15.15-2kali1 (2022-01-31) x86_64 GNU/Linux

ruby2.7下运行的,已经恢复快照准备重试

└─# ruby -ropenssl -e 'puts OpenSSL.constants' PKCS7 Cipher SSL ExtConfig OCSP VERSION ASN1 ConfigError Config Random Digest OPENSSL_VERSION OPENSSL_LIBRARY_VERSION OPENSSL_VERSION_NUMBER OPENSSL_FIPS KDF OpenSSLError BNError BN PKey Buffering HMACError HMAC Netscape X509 PKCS5 Engine PKCS12

winezer0 avatar Aug 02 '22 09:08 winezer0

那奇怪都没看出什么问题。。。

L-codes avatar Aug 02 '22 09:08 L-codes

我尝试一下apt install openssl更新openssl。目前只是无法初始化数据库

winezer0 avatar Aug 02 '22 09:08 winezer0

我有空装个 kali 看看复现解决

L-codes avatar Aug 02 '22 10:08 L-codes

您的openssl是哪个版本?我这个版本上是openssl3.0

winezer0 avatar Aug 02 '22 11:08 winezer0

你的openssl3.0是 ruby的 gem的,不是你实际 libopenssl 的版本

➜  openssl version
LibreSSL 2.8.3

L-codes avatar Aug 02 '22 11:08 L-codes

└─# openssl version
OpenSSL 3.0.4 21 Jun 2022 (Library: OpenSSL 3.0.4 21 Jun 2022)

这个不是本机的吗

winezer0 avatar Aug 02 '22 11:08 winezer0

是本机 那你的 openssl 版本要更高

L-codes avatar Aug 02 '22 11:08 L-codes

尝试了降级解决,失败,报错提示像是因为没有找到openssl路径。 等待大佬给出解决方案。

winezer0 avatar Aug 02 '22 19:08 winezer0

你好,请问这个问题你解决了吗?我也遇到了同样的问题

ez4s1mple1943 avatar Dec 07 '22 14:12 ez4s1mple1943

@ez4s1mple1943 请问你的系统版本 ruby版本 openssl版本?

L-codes avatar Dec 07 '22 23:12 L-codes

没有解决这个问题,kali2022

winezer0 avatar Dec 08 '22 00:12 winezer0

我用kali 装了环境 复现不了这个问题 你们是 pwcrack initdb 出问题吗?

L-codes avatar Dec 08 '22 05:12 L-codes

@winezer0 @ez4s1mple1943 试试 ruby -ropenssl -e 'p OpenSSL::Digest::MD4.new' 看看是不是这里报错了

L-codes avatar Dec 08 '22 05:12 L-codes

┌──(root㉿kali)-[~/Desktop] └─# ruby -r openssl -e 'p OpenSSL::Digest::MD4.new' #<OpenSSL::Digest::MD4: 31d6cfe0d16ae931b73c59d7e0c089c0>

┌──(root㉿kali)-[~/Desktop] └─# ruby -ropenssl -e 'p OpenSSL::Digest::MD4.new' #<OpenSSL::Digest::MD4: 31d6cfe0d16ae931b73c59d7e0c089c0>

这个是错误的吗

winezer0 avatar Dec 16 '22 02:12 winezer0

这是没报错的 更不明白了 你们报错提示的正是这行,我也抽空搭建环境了,没法复现 https://github.com/L-codes/pwcrack-framework/blob/7ce9a175b878bea0ea7bb77d29af17597b7e454a/lib/cli_cmd/initdb.rb#L25

L-codes avatar Dec 16 '22 03:12 L-codes

能分享个docker 或者 虚拟机吗? 不用kali搭建也可以的,如果是kali的虚拟机当然更好

winezer0 avatar Dec 26 '22 09:12 winezer0

initdb 出错的话,应该只是用不了 localdb 的功能而已 而且 这个真的没必要用到 docker ,你所有虚拟机或宿主机都不行?是跨平台的不只有linux能跑

L-codes avatar Dec 27 '22 02:12 L-codes

请问您用的哪个版本的kali呢? windows上安装ruby更为复杂(我更想用kali安装这个工具,因为这个虚拟机是我必备的).

我测试了kali 2019.3 和 kali 2022. 版本的VMware是报错了。

winezer0 avatar Dec 28 '22 06:12 winezer0

我的 kali 版本是 Kali Rolling (2021.3) x64。Windows安装 ruby比linux更加简单,连devkit工具都自动部署,你应该是还没尝试过windows上安装,ruby的作者都是用windows环境开发的 Windows ruby安装包下载地址: https://rubyinstaller.org/downloads/ image

L-codes avatar Dec 28 '22 07:12 L-codes

好的,我试试在windows上部署

winezer0 avatar Dec 30 '22 01:12 winezer0

ruby版本太高,内置的openssl不支持md4算法

wgetnz avatar Jan 28 '23 17:01 wgetnz

ruby版本太高,内置的openssl不支持md4算法

应该跟 ruby 版本无关的,并且 gem openssl的最新版任然有 md4 的常量建立 而且在高版本的 Openssl 中任然有 MD4 的支持

L-codes avatar Jan 30 '23 01:01 L-codes

ruby版本太高,内置的openssl不支持md4算法

应该跟 ruby 版本无关的,并且 gem openssl的最新版任然有 md4 的常量建立 而且在高版本的 Openssl 中任然有 MD4 的支持

新版本ruby失败,使用3.1.3初始化成功,3.2.x失败

wgetnz avatar Jan 30 '23 05:01 wgetnz

了解了,我暂未使用3.2版本,后续我测测看

L-codes avatar Jan 30 '23 05:01 L-codes