FO-HOOK取证实战数据库解密

admin 2022年4月3日15:05:16评论45 views字数 1323阅读4分24秒阅读模式
FO-HOOK取证实战数据库解密

点击蓝字 · 关注我们

前言

FO-HOOK取证实战数据库解密

之前分析完师兄给的apk后,师兄给了下一个目标,说这是一个取证比赛的例题,涉及到密码学解密。但是因为本人这方面比较薄弱,所以在解题的时候,就用到了objection-一个基于frida的工具,动态调试的时候非常好用。

标题的FO指的就是这个objection,因为全部打出来太长了。

参考文献:<<Frida逆向与协议分析>>

正文

FO-HOOK取证实战数据库解密

这里本人用到的模拟器是夜神模拟器,但是这里在之后动态调试的时候遇到了一个bug,adb特别容易在调试的时候下线。网上查了一下资料,需要将目录的adb换成原生adb,nox_adb改成nox_adb_bf.这样就可以解决这个问题了。

拿到文件之后,发现有一个加密过后的db文件,还有一个apk,想来解密方法就是在这个apk当中。

FO-HOOK取证实战数据库解密

这里把apk先放到模拟器中安装。

FO-HOOK取证实战数据库解密

FO-HOOK取证实战数据库解密


把apk放入android killer中,查看源码。

FO-HOOK取证实战数据库解密


可以看到db后缀名,这里进行了一个跟文件有关的操作,后续又调用了其他的类,进入该类中查看。

FO-HOOK取证实战数据库解密


可以看到这里又调用了b的方法。

FO-HOOK取证实战数据库解密


结合第一个入口文件,可以得知这里是经过了几步运算得出解密的密钥,但是因为本人这方面的知识比较薄弱,所以不准备直接解密(师兄说他是直接解的),这里用到的是objection进行调试。

FO-HOOK取证实战数据库解密

FO-HOOK取证实战数据库解密


objection是一个基于frida的工具,需要先安装frida和对应版本的server.

安装过程如下:

pip3 install objection

这里这一步会直接帮忙把frida和frida-tools安装掉,接着去把对应的frida-server安装上传至模拟器就行。

adb push frida-serverxxxxx   /data/local/tmp

chmod 777 frida-server

./fridaserver


FO-HOOK取证实战数据库解密


这里的思路就是利用hook这个getWritableDatabase函数,然后将这个函数的参数动态打印出来就行。(因为因为经过解密函数,最后传进去的就是明文的口令).


这里先查看一下进程

frida-ps -R

FO-HOOK取证实战数据库解密


可以看到这里是美美亚亚目标进程。

FO-HOOK取证实战数据库解密

objection -g  美美亚亚 explore,对进程进行注入。

FO-HOOK取证实战数据库解密

 android hooking search methods getWritableDatabase.

之后再执行这个命令,找到getWritableDatabase这个函数,对其进行watch.

FO-HOOK取证实战数据库解密

android hooking watch class_method net.sqlcipher.database.SQLiteOpenHelper.getWritableDatabase  --dump-args --dump-backtrace --dump-return

对这个函数进行监控。

FO-HOOK取证实战数据库解密


之后再重新调用这个app,重新加载这个函数,就会发现口令被打印出来了。


FO-HOOK取证实战数据库解密

这里再用sqlitebrowser打开这个db文件利用那个口令,发现这个就是正确的。

FO-HOOK取证实战数据库解密

问了一下师兄,他是直接解密脚本算出来的,之后得补一下这块的知识。在实战取证中,利用frida也是一个比较好的选择,方便快捷,本文中也只是用到了objection这其中一个工具。

原文始发于微信公众号(Th0r安全):FO-HOOK取证实战数据库解密

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年4月3日15:05:16
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   FO-HOOK取证实战数据库解密http://cn-sec.com/archives/866465.html

发表评论

匿名网友 填写信息