20年长安杯电子数据取证复现
最后更新时间:
检材一 服务器取证
- 操作系统版本
火眼仿真取证软件查看
查看操作系统内核
查看lvm开始的逻辑区块地址
1 |
|
与上面差不多,查看/etc/nginx/conf.d下有多少个虚拟主机
查看服务器的原始IP
查看docker的日志
192.168.99.3
- 关键词:远程登录
last命令直接查看 (pts/0代表远程登录设备)
192.168.99.222
查看容器内部的nginx服务虚拟主机配置文件
192.168.1.176
wc命令用于统计-l
指定统计行数
1 |
|
检材二 Windows取证
火眼证据分析查看即可
在仿真中查看OS版本号
8次
8091
1 |
|
docker-proxy
查看本地域名服务器的配置,该网站ip为192.168.99.3,查看对应的域名是否存在
1 |
|
www.sdhj.com
之后在C盘中可以看到一个手机的备份tar包,导出添加该检材
手机取证也算是介质取证
sstt119999
19.
telegram
dogdogcoin
见上图
https://doge.tokenview.com/上面根据收款地址去查看交易信息
4000
在检材二里面还有一台虚拟机,但是被进行了加密
在火眼中导出单独分析,记住存放
- 虚拟磁盘解密技术
其实题中也有提示
https://github.com/search?q=vmx+cracker&type=
kali下暴力破解vmx
1 |
|
zzzxxx
加密解决后要先移除加密才能在取证软件中进行仿真
1 |
|
cc7ea3ab90ab6b28417e08c715c243ce58ea76d71fd141b93f055a58e9ba561a
honglian7001
检材1所在的服务器IP为192.168.99.3
使用的是Xshell 进行了ssh连接
qwer1234!@#$
检材三 网站取证
FF593FCCB3770B8845A3334631F8E80807638EE722C5AA7B34E877589857C3BA
C
C:\inetpub\wwwroot\v7w
见上图,80端口
回忆检材2中犯罪人登录服务器时的url都是http://192.168.99.3:8091/dl
所以可以考虑到这是一个登录接口,我们查看Web.config来以此分析登录的路由规则
所以对应的文件即为dllogin.aspx
前端处理 OvO
在头部可以看到登录过程中所指定加载继承的类名,也就是后台管理登录的页面
在/bin
中即可找到对应的dll文件
App_Web_dllogin.aspx.7d7c2f33.dll
利用dll逆向工具dnSpy对上面的dll进行分析
找到对应的处理逻辑代码就可以看到,在接收密码参数后调用了AESEncrypt函数
- 一解全开
192.168.1.174 c4f2737e88 1433
从这里可以看到连接数据库的配置信息也被进行了AES的加密处理,所以我们需要手动将其进行解密
利用本地PowerShell,直接调用对应动态链接库中的函数即可,由命名空间和分支可以看到链接库为DBManager.dll
1 |
|
检材四 网站重构取证
E5E548CCAECD02608A0E053A5C7DCDBFBDD4BE5B0E743EB9DC8E318C369BEBC8
重构数据库
由检材3我们已知数据库IP 192.168.1.174
但是DHCP服务使得虚拟机的IP是动态分配,无法被外界所访问。因此我们应先修改虚拟机的IP配置,使之固定可被访问
修改方式:https://segmentfault.com/a/1190000017535131
大致过程:关掉主机对虚拟机的DHCP服务,设置虚拟机的静态IP
修改添加的内容为
1 |
|
修改后再去查看ip
同时,在检材3的服务器上可以ping通
最终终于可以连上网站!
之后的任务便是在库中找到可以成功登录的用户名和密码
再次关注之前的后台链接库的代码
分析可知,提取出前端的域名、用户名和密码输入后,传递给了数据库中的内置方法PD_UserLogin
对sql语句进行分析
1 |
|
这里面首先先查了TD_Webs表去筛选域名,并将DW_Type赋值给了@OK。
再去看TD_User表,我们可以发现如果@OK=0的话,会选择DU_Id=1001 1003 1004的用户
@OK=1的话会选择DU_id=1001 1003 1004 1005 1006,这里做出了一个域名限制操作
1000和1002无法通过的
从检材2的用户列表当中结合此我们可以确定嫌疑人使用的账户是1001(也看不出啥其他的了)
然后我们就要去判断用户名和密码在数据库的存储方式,再去分析dll
经过分析可知 密码经过了AES -> base64 -> MD5处理 用户名以明文形式存储
而我们只需要在数据库中修改成我们已知的密码再经过加密即可。
这里还可以看到在前端会有JS回显,我们可以将其中的内容修改为密码处经过加密后的输出结果,方便我们修改
修改,编译后替换掉原服务器的dll文件,进行测试
这时输入密码为123456,就可以直接得到加密处理的结果,替换数据库中的原数据。
直接修改并不能通过,这里的坑1在还需要启动ASP .net服务才能生效,相当于MVC框架还没连起来?
坑2在于还有域名限制,所以我们要把现在服务器的ip添加进去
登录成功!网站重构成功!
http://www.xxxx.com:8787/reg?id=abe6d2ee630379c3
前面首页的用户列表统计一下数量即可 共计26个
对比着前端显示的用户信息,去数据库里看一下,发现是TU_User这张表,里面有32个用户 UU_ISDel 表示用户信息是否已经被删除
这块数据金额要进行统计,使用爬虫或者网镜导出到Excel进行统计,先留个坑…
138408
sql查一下
在用户列表中会发现,每一个下属代理自身还有一个后台
点击跳转后发现url不完整,添加前面的http头和ip
最终就到了用户后代的管理后台
账户余额为1066449
d0fdd7a9a010d37e
2016-09-05 17:09:13