21年长安杯电子数据取证复现
最后更新时间:
案情背景
2021年4月25日,上午8点左右,警方接到被害人金某报案,声称自己被敲诈数万元;经询问,昨日金某被嫌疑人诱导果聊,下载了某果聊软件,导致自己的通讯录和果聊视频被嫌疑人获取,对其进行敲诈,最终金某不堪重负,选择了报警;警方从金某提供的本人手机中,定向采集到了该果聊软件的安装包—zhibo.apk(检材一),请各位回答下列问题:(题目中需要通过分析出来的答案对检材二三四五解压,解压密码为IP的情况,需要在密码后增加-CAB2021)
检材一
利用雷电智能分析APP即可
3fece1e93be4f422c8446b77b6863eb6a39f19d8fa71ff0250aac10f8bdde73a
见上图 plus.H5B8E45D3
或者在AndroidManifest.xml
应用唯一标识就是给apk打包的专业厂商对应的调证值,方便公安取证时溯源找到对应厂商,每个厂商对应唯一
H5B8E45D3
BACDE
利用软件自带的抓包分析工具观察HTTPS数据包
同时可以观察请求体中所带的数据内容
初步分析有手机号码、验证码,还有一些后续才能发现
POST
从包中也可以得到www.honglian7001.com
apk逆向分析,由框架编写,主要业务逻辑并不在JAVA,而是在js代码当中。整个源码核心相关内容在资源文件当中
在index.html
中的js脚本存在加密混淆,加密方式为sojson.v4
找个在线网站进行反混淆,可得到整个脚本源代码
全局搜索变量名apiserver
http://www.honglian7001.com/api/uploads/
同时,可以看到代码里还含有对定位权限的相关提示输出逻辑,说明了第五题也会向后台回传定位信息
往后找短信发送业务代码
可以分析出来,接口地址为http://www.honglian7001.com/api/uploads/apisms
由于是运行时产生的数据库,所以需要利用到运行时的hook技术,在关键函数中hook出有效信息。这里即是数据库文件以及下一题中提到的初始密码
nnd,弘连给的软件hook不出来,报错系统进程找不到,只能去源码里翻了
在类io.dcloud.WebAppActivity
中能找到一个方法(其实不太能分析出是否是运行时产生的,不过从名字ad来看可能是),其中新增数据库名为test.db
从前面密码生成逻辑可以看出,字节数组先转成16进制,再截取第2-3位并求MD5
1 |
|
得到c74d97b01eae257e44aa9d5bade97baf
检材二
E6873068B83AF9988D297C6916329CEC9D8BCB672C6A894D393E68764391C589
案发时间为2021-04-25 8:00
之前,我们挂载镜像后输入last查看登录记录
可以看到为192.168.110.203
目前还不知道,后面可发现该服务器就是根据不同的条件来转发请求到其他服务器,也就是负责负载均衡的职能
在取证分析的history命令历史记录中多次出现可疑目录
看着像node.js编写的一套网站,在README.txt中给出了相关指示信息
可以看到服务器配置端口在了80
node.js启动命令可以百度,或者历史记录里也有
node app.js
这里可以定位至controller
目录下,关注ADProxy.js
可以看到判断的条件是源IP地址的第3位
经上一题分析,可以看到会分发到_proxy50
对应的对象上,也就是IP:192.168.110.111
-
同上可知,有3台目标服务器
考察日志审计,我们继续去看logs
目录,日志文件还挺多的。初步定位在2021-4-24这一天
查看一下2021-4-24-6-26.log
可以看到所有流量都转发到了192.168.110.113
那台服务器上,出现多次192.168.110.142/192.168.110.203/192.168.110.252
,需要进一步排查具体时间
192.168.110.252
由上题可知转发到了192.168.110.113
检材三
根据前面转发服务器的IP可以将目标镜像定位到web3.E01
,挂载分析
如何判断?访问镜像的每一个网卡信息所写的静态IP来判断(未开启DHCP)
配置文件位置/etc/sysconfig/network-scripts
205C1120874CE0E24ABFB3BB1525ACF330E05111E4AD1D323F3DEE59265306BF
这道题没法马上出,在检材4中可以找到,先放一放。因为取证软件直接帮我们绕过了开机密码(
在检材4中的Xshell里我们可以看到连接记录中保存了用户名和连接密码honglian7001
宝塔的一些字符在虚拟机上直接显示不出来,设置一下DHCP的网段,使得和主机相通,利用Xshell进行连接
然后输入bt
即可打开宝塔面板的管理界面,根据指示获得信息
用户名就是 hl123
首先了解一下宝塔面板的整个目录结构,可知重要的服务功能集中在/www/server/panel/tools.py
中
查看该文件即可定位到重置密码函数处set_panel_pwd
,这里我们也可以看到重置密码固定了id的值为1,也就是只能修改默认用户的密码
从上一题的代码可以分析到使用的哈希算法为md5
再来看这段代码,密码经过md5后又和参数uid,一起传入函数public.password_salt
同时在头引用里可以看到该函数所在文件的路径,分析可得路径是/www/server/panel/class/public.py
提取出该文件,定位函数代码位置
可以看到里面还有两层md5哈希,所以总共执行了3次md5
password_salt
中同样调用了chdck_salt()
,我们看下
盐的值存在了数据库里,且盐值字段可定位到sqlite_master.users.salt
字段
我们在/www/server/panel/class/db.py
文件中可以找到数据库文件的位置
打开db文件找到对应的字段即可,v87ilhAVumZL
我们知道宝塔面板相应站点的根目录为/www/wwwroot
,查看一下
结合前面检材一所找到的域名我们知道绝对路径应该是/www/wwwroot/www.honglian7001
我们可以手动测试一下宝塔管理面板,由于默认密码登录失效,需要我们重新修改一下密码
登录后访问管理页面,里面存在一个搭建的TP5框架网站。
由于面板上并未看到有数据库的管理,所以数据库一定是在另一台服务器上。实现了一个站库分离的架构
在网站app/database.php
中我们可以找到数据库的相关配置,其中就有IP地址192.168.110.115
(还能排除一个IP)
参考前一题,可知wxrM5GtNXk5k5EPX
在宝塔面板中我们直接去访问网站会报错,因为并没有成功连接上数据库服务器,导致网站并未完整运行起来。数据库的部分在检材5。我们目前还是只能做代码层面的分析,路由里没有直接写后台相关的路径,但是观察目录结构可以发现主要业务代码都是在/admin目录下,所以可以推断出后台界面的入口为/admin
关于salt值,在app/admin/common.php
中可以找到lshi4AsSUrUOwWV
这个不得不重构网站了,因为密码内容肯定在数据库里存着,我们挂载上检材5重建数据库。
挂载上容器后发现里面有三个raid文件,看来是要工具进行raid重组数据库
直接用工具R-Studio一把梭
直接创建镜像文件然后仿真软件加载试试。注意创建镜像的时候应选择逐字节镜像,不然会仿真失败
验证一下IP是否没问题
重构网站成功!
我们已经知道了数据库的用户名和密码,直接连即可
然而对照前面的代码我们知道admin密码是经过加密存储在数据库当中。我们虽然可以通过改密码的方式来绕过登录,但是这里想要直接获得密码明文信息的话只能通过日志分析的方式
首先日志时间定位到2021-04-24,可以看到值为security
-
看上面代码可以知道进行了3次哈希计算
登录后台,一共6002条
同时每台设备能获得到的信息,我们也能准确获得,从而确定了检材一中的答案
这个还没法确定具体的时间,所以无法准确定位,只能锁定在这4台设备上
由检材4聊天记录中可以定位到具体直播软件的安装时间,基本上信息泄露出去也在这个点上
对比时间相距最小的,我们可以知道手机号为18644099137
检材四
关于BitLocker
1 |
|
我们直接强行加载镜像,火眼分析在未加密分区中可以找到恢复密钥的文件
然后根据密钥重新加载镜像即可
E9ABE6C8A51A633F809A3B9FE5CE80574AED133BC165B5E1B93109901BB94C2B
参见上面,511126-518936-161612-135234-698357-082929-144705-622578
火眼仿真可以直接出12306
在Chrome浏览器中,我们找到了后台网站的相关历史记录
应该指的是Demon用户,存在一个zip文件,计算哈希即可
0DD2C00C8C6DBDEA123373F91A3234D2F07D958355F6CD7126E397E12E8ADBB3
什么是IMEI?
1 |
|
868668044204431
从开头的背景描述中我们得知受害者姓金,然后快速定位几个聊天软件,可以得知是伊对
看聊天记录就知道啦https://cowtransfer.com/s/a6b28b4818904c
直接定位即可 wxid_op8i06j0aano22
1649840939
通过分析PC机我们能获得的信息其实不多,嫌疑人主要是通过PC机来连接一些数据库和服务器,以及网站管理相关,结合前面我们获得到了一个压缩包文件,大小为8.73G,很明显又是一个容器。提取出来进行分析,解压密码即为本机的开机密码12306
火眼仿真挂载
仿真之后查看用户痕迹可以发现两个可疑文件,再结合桌面上的VeraCrypt,我们无理由不怀疑这个小白鼠也是个容器文件,而key.rar为对应的密钥文件,我们尝试挂载
挂载后便可以看到对应的受害者有各种的目录,也就是说这个小白鼠.txt就是我们要找的容器文件,计算一下hash
1 |
|
9C4BE29EB5661E6EDD88A364ECC6EF004C15D61B08BD7DD0A393340180F15608
首先,我们在管理容器中拿到了郭先生的通讯录信息,进而我们去后台网站比对一下即可
15266668888
粗心了粗心了,文件名就是。。。
从前面目录可知有5个受害者信息
解压后是一个转账的图片,计算一下哈希值即可
cd62a83690a53e5b441838bc55ab83be92ff5ed26ec646d43911f119c15df510
首先最直接的转账在这个容器里 2000
其次是几个聊天记录里的转账
QQ 600 还有两笔,其中一笔指的就是容器中的账单
另外一笔比较隐晦,在检材五的数据库服务器中有记录 1000
微信 2000
伊对 1000
共计 1000+2000+1000+600+2000=6600元