uTools剪贴板取证思路
官方剪贴板插件已于5.1版本转为免费
本方式适用于对Windows系统的检材的uTools的官方剪贴板插件进行取证,需要仿真进行
首先,需要根据吾爱大神提供的方法,去掉uTools对app.asar
的验证https://www.52pojie.cn/forum.php?mod=viewthread&tid=1910115,这是一切的根本
剪贴板分析
这个插件是uTools官方提供的剪贴板增强插件,能够自动保存剪贴板数据,不过数据的存储是加密的,数据目录在C:\Users\Administrator\AppData\Roaming\uTools\clipboard-data
可以轻松看到,储存的是密文
通常在仿真后,通过uTools就可以读取到剪贴板的历史数据,但是对于非会员来说,有100的条数限制,无法再往前更多。
在数据量较少的情况下,可以直接查看,超过100条时,可以在data
文件中删除部分记录,以达到查看的目的。
又或者是按照上面吾爱的文章,进行破解,直接解锁会员功能,慢慢翻。
但是上面的方式无法有效地对数据进行提取,所以我们最终还是需要解密数据。
加密分析
虽说剪贴板是一个需要额外下载的插件,但是核心代码是存储在app.asar
中的,而插件只是用于进行数据交互和界面展示。
因此需要对app.asar
进行解包asar extract app.asar .\app
解包后将js代码交给浏览器格式化,查找剪贴板相关的代码,可以定位到读取函数
跟一下T
,得知这是一个aes解密函数,模式是AES-252-CBC
,IV是UTOOLS0123456789
,密钥由S().getLocalSecretKey()
生成
而S又是通过引入addon来创建的
这里的addon其实就是引入了一个二进制的依赖
但是我对二进制逆向并不是很熟,同时这又不是常见的编译方式,所以就留个坑吧,说不定就有再战剪贴板了!
由于之前已经根据吾爱上的文章去除了app.asar
的校验,所以我这里直接将密钥输出到文件
重新打包asar pack app app.asar
并重新运行uTools,即可找到密钥(由于权限问题,文件的生成位置还可能在C:\Users\Administrator\AppData\Local\Programs\utools
下)当然你用everything插件直接搜索就可以了
这时我们可以对加密的数据进行解密了
工程化
我把解密部分集成到了GitHub - WXjzcccc/ForensicsTool: 简单的取证工具中,可以直接使用,也提供了获取密钥所需的补丁(将对应的文件替换即可,仅用于获取密钥,没有破解会员,仅限在检材仿真环境中操作!)
这样你就可以找到密钥了
找到密钥之后使用ForensicsTool
进行分析
剪贴板中记录的图片与data文件同目录,以hash值为对照,添加后缀即可打开
超级剪贴板
由于超级剪贴板是uTools中用户量最高的第三方剪贴板插件,所以也分析了一下,同样是aes加密,密钥固定,iv随机但是保存到文件中。已经集成到ForensicsTool中,只需要指定p参数为super即可,图片采用了web传输方式,正常解base64就可以了,我也实现了批量处理。