暴力破解Android锁屏口令

JellyBean开始,Android的锁屏口令以hash形式存放,口令通常是4位数字(对于多位复杂口令方法也是一样的),暴力破解完全可行

锁屏口令的hash存放在/data/system/password.key,形如

11 36 65 6D 5C 67 18 C1 DE FC 71 B4 31 B2 CB 56 52 A8 AD 55 0E 20 BD CF 52 B0 00 02 C8 DF 35 C9 63 B7 12 98

共72个字符,包含Sha1和MD5两个hash,参考Android源码

byte[] saltedPassword = (password + getSalt()).getBytes();

byte[] sha1 = MessageDigest.getInstance(algo = “SHA-1”).digest(saltedPassword);

byte[] md5 = MessageDigest.getInstance(algo = “MD5”).digest(saltedPassword);

hashed = (toHex(sha1) + toHex(md5)).getBytes();

前40位是Sha1,后32位是MD5,计算(口令+salt)得到hash

salt的存放位置为/data/system/locksettings.db,使用sqlite3打开数据库,输入

select value from locksettings where name='lockscreen.password_salt'

就得到形如3582477098377895419的salt值了,最后将其转化为小写的16进制64位整数31 b7 83 f0 b0 c9 5d fb

有了这些信息用就可以用hashcat跑了,用MD5部分(0E 20 BD CF 52 B0 00 02 C8 DF 35 C9 63 B7 12 98)爆破的指令为

cudaHashcat64.exe -m 10 0E20BDCF52B00002C8DF35C963B71298:31b783f0b0c95dfb -a 3 ?d?d?d?d

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注