WIKI

11.6 KeyStore弱密码风险检测

(1)描述

keytool是一个Java数据证书的管理工具,Keytool将密钥(key,私钥和公钥配对)和证书(certificates)存在一个称为keystore的文件中,并通过密码保护keystore中的密钥。如果密码设置过于简单,例如:123456android等,则会导致keystore文件的私钥泄露,从而导致一系列的信息泄露风险。

(2)风险等级

高危

(3)影响范围

所有

(4)检测方法

方法1:基于keytool命令行检测:

keytool -list -keystore debug.keystore

然后输入不安全的弱密码,若正常输出,表明该keystore文件存在弱密码风险

方法2:基于pyjks的第三方python解析库

安装:pip install pyjks

使用方法如下:

def check_keystore_pwd(self, jks_file, pwd):
    try:
        jks.KeyStore.load(jks_file, pwd)
        return True
    except Exception as e:
        return False

然后通过通过常见的弱密码组合进行payload测试。

(5)修复建议

提高keystore保护密码的强度