Python取证-移动取证

Python取证-移动取证

对硬盘等标准计算机硬件的取证调查和分析已经发展成为一门稳定的学科,并在分析非标准硬件或瞬时证据的技术帮助下进行。

虽然智能手机越来越多地被用于数字调查,但它们仍被认为是非标准的。

法证分析

法医调查从智能手机中搜索数据,如收到的电话或拨出的号码。它可以包括文本信息、照片或任何其他犯罪证据。大多数智能手机都有使用密码或字母数字字符的屏幕锁定功能。

在这里,我们将举例说明Python如何帮助破解锁屏密码,以检索智能手机中的数据。

手动检查

安卓系统支持用PIN码或字母数字密码锁定。这两种密码的限制都要求在4到16位数字或字符之间。智能手机的密码被存储在安卓系统的 /data/system 中一个名为 password.key 的特殊文件中

安卓系统存储了密码的盐化SHA1-哈希和和MD5-哈希和。这些密码可以在以下代码中进行处理。

public byte[] passwordToHash(String password) {

   if (password == null) { 
      return null; 
   }

   String algo = null;
   byte[] hashed = null;

   try { 
      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(); 
   } catch (NoSuchAlgorithmException e) { 
      Log.w(TAG, "Failed to encode string because of missing algorithm: " + algo); 
   }

   return hashed;
}
Python

字典攻击 的方式来破解密码是不可行的,因为哈希密码被存储在一个 盐文件 这个 是一串16进制的64位随机整数的表示。通过使用 已root的智能手机JTAG适配器 ,可以很容易地访问

有根基的智能手机

文件 /data/system/password.key 的转储被存储在SQLite数据库的 lockscreen.password_salt 键下。在 settings.db 下,密码被存储,其值在下面的截图中清晰可见。

Python取证--移动取证

JTAG适配器

一个被称为JTAG(联合测试行动组)适配器的特殊硬件可以用来访问 盐。 同样, Riff-BoxJIG-Adapter 也可以用来实现同样的功能。

利用从Riff-box获得的信息,我们可以找到加密数据的位置,即 盐。 以下是规则 –

  • 搜索相关字符串 “lockscreen.password_salt”。

  • 这个字节代表盐的实际宽度,也就是它的 长度。

  • 这就是实际搜索到的长度,以获得智能手机的存储密码/引脚。

这套规则有助于获得适当的盐数据。

Python取证--移动取证

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册