背景:
2021年4月25日,上午8点左右,警方接到被害人金某报案,声称自己被敲诈数万元;经询问,昨日金某被嫌疑人诱导裸聊,下载了某“裸聊”软件,导致自己的通讯录和裸聊视频被嫌疑人获取,对其进行敲诈,最终金某不堪重负,选择了报警;警方从金某提供的本人手机中,定向采集到了该“裸聊”软件的安装包--zhibo.apk(检材一),请各位回答下列问题:(题目中需要通过分析出来的答案对检材二三四五解压,解压密码为IP的情况,需要在密码后增加-CAB2021,例:192.168.100.100-CAB2021)
检材1&2容器密码:2021第三届CAB-changancup.com
检材1为APK分析,这里专注服务器的复现
检材2
检材2密码:www.honglian7001.com
常规启动火眼还有仿真
直接用仿真仿起来
基础配置要改一下,我建议是根据虚拟机里边的ip改本地虚拟网卡,这样后面重构起来也简单很多
看ip是192.168.110.110
然后修改网卡为nat8,再把本机的nat8修改成192.168.110.0的网段还有其他各种配置
这台服务器有两个用户,别忘了用root进去,不然很受限
12.检材二的原始硬盘的SHA256值为:
火眼查看:
E6873068B83AF9988D297C6916329CEC9D8BCB672C6A894D393E68764391C589
13.查询涉案于案发时间段内登陆服务器的IP地址为【标准格式:111.111.111.111】
192.168.110.203
last 命令
这个命令将显示所有登录、注销和重启记录。
看到这个是有显示的,是在报案前一天登陆的
所以ip是192.168.110.203
14.请对检材二进行分析,并回答该服务器在集群中承担的主要作用是()【格式:文件存储】
负载均衡
15.上一题中,提到的主要功能对应的服务监听的端口为:
看历史命令发现有node命令,查看js版本
并且进了两次opt目录,进去看看
看到了配置信息
看到了端口是80
16.上一题中,提到的服务所使用的启动命令为:
就是之前看到的node app.js
17.经分析,该服务对于请求来源IP的处理依据是:根据请求源IP地址的第()位进行判断【标准格式:9】
3
第14题的答案也是在这里出的
这段代码里边,进行了分流,说明进行的是负载均衡,分流到其他的服务器上
这边检验的是第4位,但是因为数组是从0开始的,所以检测的是第三位
18.经分析,当判断条件小于50时,服务器会将该请求转发到IP为()的服务器上【标准格式:111.111.111.111】
192.168.110.111
在他上边一点就有,走的是192.168.110.111
19.请分析,该服务器转发的目标服务器一共有几台【标准格式:9】
三台
上图
20.请分析,受害者通讯录被获取时,其设备的IP地址为【标准格式:111.111.111.111】
192.168.110.252
查看当时的日志就能发现 ,发现4月24的只有一个日志
21.请分析,受害者的通讯录被窃取之后,经由该服务器转发到了IP为()的服务器上【标准格式:111.111.111.111】
192.168.110.113
同上图
检材3
通过对检材二的分析,警方进一步掌握并落地到了目标服务器地址,通过对服务器进行证据固定,得到服务器镜像--检材三,请使用第21题答案对检材三进行解密并分析,回答下列问题:
这个检材三是txt文件,用vc挂载解压就行
我们在解密容器后可以得到三个web服务器的镜像(也验证了第19题),但是需要注意此部分题目的要求,需要我们分析目标服务器,也就意味着我们需要先判断出这三个服务器到底哪一个对应着 192.168.110.113,在找到后才能进一步解题
看了web1、web2发现ip分别是111、112,所以目标服务器是web3
22.检材三的原始硬盘的SHA256值为:
火眼直接搞
205C1120874CE0E24ABFB3BB1525ACF330E05111E4AD1D323F3DEE59265306BF
23.请分析第21题中,所指的服务器的开机密码为:
这道题涉及到计算机取证的内容,在计算机取证上看到了xshell连接密码
24.嫌疑人架设网站使用了宝塔面板,请问面板的登陆用户名为:
hl123
用火眼看或者在命令看
25.请分析用于重置宝塔面板密码的函数名为
set_panel_pwd
26.请分析宝塔面板登陆密码的加密方式所使用的哈希算法为
MD5
27.请分析宝塔面板对于其默认用户的密码一共执行了几次上题中的哈希算法
3
应该是在public.py里找到,因为在tools.py里边发现了方法都是public.py提供的
发现在public.py里边有两个,然后tools.py有一个,所以一共是三次加密
28.请分析当前宝塔面板密码加密过程中所使用的salt值为【区分大小写】
火眼能看到盐值
正常找的话还有有点难度的
在public.py里边有salt的算法,发现是M
在第一行发现了M的方法体,访问的是data下边的default.db
也算是积累经验了
在数据库里边找到盐值
29.请分析该服务器,网站源代码所在的绝对路径为
/www/wwwroot
直接启动宝塔就可以了
登录前记得修改密码
30.请分析,网站所使用的数据库位于IP为()的服务器上(请使用该IP解压检材五,并重构网站)【标准格式:111.111.111.111】
192.168.110.115
在网站目录下边
cd www/wwwroot/www.honglian7001/app/
有一个datebase.php,里边就有地址以及数据库密码
31.请分析,数据库的登陆密码为【区分大小写】
wxrM5GtNXk5k5EPX
同上图
32.请尝试重构该网站,并指出,该网站的后台管理界面的入口为【标准格式:/web】
先解压001文件,然后利用vc挂载打开
发现是dd文件,并且是raid,利用火眼进行重组
发现ip就是115,直接就网站直接起来了
在admin目录里边看下
在进网页看到是登录界面,可以确定是后台了
33.已该涉案网站代码中对登录用户的密码做了加密处理。请找出加密算法中的salt值【区分大小写】
lshi4AsSUrUOwWV
在/www/wwwroot/www.honglian7001/app/admin/common.php找到了加密算法以及盐值
34.请分析该网站的管理员用户的密码为:
可以看日志找到密码
也可以进数据库找,但是有一点麻烦
mysql -u www_honglian7001 -p wxrM5GtNXk5k5EPX
先去连接数据库,但是他会提示无法连接
所以就修改mysql的配置文件
vi /etc/my.cnf
加上一句 skip-grant-tables
跳过登录的权限检查,保存后重启mysql服务 service mysqld restart
即可
成功之后利用navicat连接
可以发现admin以及加密后的密码
知道加密后的密码,也知道他的算法,所以就可以修改他的密码进行登录
但是没办法得出他的原密码,因为md5是不可逆的,需要找爆破字典,所以在字典中找就可以了
以 123456
为例,修改admin密码
脚本:
import hashlib def password(password, password_code='lshi4AsSUrUOwWV'): # 计算第一个MD5 md5_password = hashlib.md5(password.encode()).hexdigest() # 计算第二个MD5 md5_password_code = hashlib.md5(password_code.encode()).hexdigest() # 组合并计算最终的MD5 final_md5 = hashlib.md5((md5_password + md5_password_code).encode()).hexdigest() return final_md5 plain_password = '123456' encrypted_password = password(plain_password) print("原始密码:", plain_password) print("加密后的密码:", encrypted_password)
成功登录
35.在对后台账号的密码加密处理过程中,后台一共计算几次哈希值
3次
同33题图
36.请统计,后台中,一共有多少条设备记录
6002
37. 请通过后台确认,本案中受害者的手机号码为
18644099137
这道题要通过手机取证去找,找到进入app的时间
还有一种是通过检材2去找
检材二中的日志记录情况
在2021.4.24 6:37(utc时间)左右上传了通讯录
其对应的utc+8时间应为 当日14:37左右手机型号也能对上 由此可以得到受害者手机号码
38.请分析,本案中受害者的通讯录一共有多少条记录
34