2024FIC决赛writeup

案情设计

2023年3月15日凌晨,受害人短视频平台上看到一段近期火爆的交通事故视频,留言后有人通过私信联系,称有一个赚大钱的机会,该人自称李某,提议让他到他们平台充值做代理;最终受害人发现自己被卷入了一个复杂的网络传销犯罪活动中,从而报案。

经过一段时间的侦查,2023年3月25日,警方最终锁定了“lalala李”网络水军团伙的技术人员卢某,一举拿下了卢某的住所;当天上午,警方开始对卢某某的个人计算机进行现场勘验。在管理工具历史记录中,发现了大量访问某个PVE云服务器控制台的记录。初步判断该云服务器可能为该团伙网络引流的主要平台。

经过进一步追查,警方发现该PVE云服务器租用于某知名云服务商,服务器上运行着数个不同的虚拟机实例;平台通过虚拟软件模拟多部手机,利用网络水军的力量在各大平台发布伪造的图片传播负面新闻,引流受害者加入平台。

在深入分析虚拟机镜像后,警方终于发现这些虚拟机背后运行着一个复杂的网络传销平台!最终,警方展开了一场声势浩大的收网行动,成功捣毁了该犯罪团伙。案件中的主要成员李安弘、卢某某等人均被依法逮捕。

接下来,我们将深入分析关键证据镜像文件,揭开这个庞大网络传销窝点的犯罪事实。

检材情况:

1、卢某个人计算机—PersonalPC.E01, MD5:6ee6056aaf226c019426c468c0d3bc7b

2、PVE服务器调证镜像1—sys.E01, MD5:a801b084c6e71ed59fbcfcdc9694bed4

3、PVE服务器调证镜像2—data.E01, MD5:2eaef3b6304e4fd1eeefb84d69609126

题目解析

计算机介质部分(15题)

1、请分析卢某的计算机,并计算原始检材的SHA256值。

484117F3002E5B876C81DD786F899A439514BB0621D62D58F731E5B344DB3634

(火眼首页计算的是磁盘的哈希,独立哈希工具直接计算了整个镜像文件,原始检材,所以是前者)

pc-1

2、嫌疑人回收站中的“备忘录.txt”文件SHA1 值为?

pc-23、嫌疑人使用ssh连接工具,该工具的名称为?【答案格式:fic123】

MobaXterm

pc-3

4、嫌疑人使用ssh连接工具,其中连接名为node的连接记录,连接的端口为?【答案格式:123】

如图3,122

5、在2024-03-12 17:13左右,嫌疑人计算机最少连接了__台安卓虚拟机。【答案格式:1】

这个没想到,居然在图片文件夹里;C:\Users\Luck\Pictures\Saved Pictures

一共5台

pc-5

6、软件“QtScrcpy”的配置文件显示,嫌疑人配置了__台安卓虚拟机(以连接端口计数)。【答案格式:123】

用户文档文件放了QtScrcpy的所有文件,找到config,config下的userdata.ini有;

一共15条,把%3A URL解码就看明白了

pc-6

7、嫌疑人桌面文件“老婆.png”的SHA256哈希值为?【答案格式:abc123】

02139bf305630ceffadd6926c202bae655c79d25a64f5c7a1c62bc4c91c9ccf1

8、嫌疑人把xls文件藏入老婆.png中,该xls的密码为?【答案格式:Abc123】

备忘录有密码规则,规则是八位大小写数字加字母;用hashcat和office2john跑出来是P1ssw0rd

以为要很久,谁知道半个小时左右成功了

pc-7-1

pc-7-2

9、嫌疑人桌面”2024年3月13日星期三 日报.docx”文档密码为?【答案格式:Abc123】

pc-9

密码规则见第8题,根据规则设置掩码再次用hashcat爆破,因为只改了数字这次很快就出来了

10、嫌疑人使用的AI软件名称为?【答案格式:abc-df-abc】

从第9题的word文档附带的图片可以看出来嫌疑人使用了stable-diffussion

pc-10-1

AppData文件夹搜索找到

pc-10

11、嫌疑人使用的AI软件监听端口为?【答案格式:1】

端口除了在配置文件和日志和netstat还可以在浏览器里找;

pc-11

12、AI软件安装目录下的“2024-03-13”目录,其中由AI生成的图片有多少张?【答案格式:1】

这个2024-03-13文件夹一共是两个,在安装目录的output文件夹下,加起来45张;

13、嫌疑人使用AI软件生成燃烧的汽车图片使用的模型SHA256哈希值为?

pc-12

word里面的图片有生成燃烧汽车的使用截图,模型在左上角;在安装目录里面的models\Stable-diffusion可以发现模型文件,计算SHA256为:

22e8515aa5985b776afc1e48647f23f5651a317d2497a91232d03a1c4feeae2c

14、嫌疑人使用AI软件生成燃烧的 汽车图片(00036-957419862.png)使用的,正向提示词,包含哪些?

00036-957419862.png这张图片对应上一题图片中ai生成图的左下角那张,所以提示词就是上题截图中的提示词,提示词有两个框,上面是正向提示词,下面是反向,故答案为:high way,china,A tanker truck catches fire,car on fire

15、嫌疑人桌面文件”老婆.png”的图像生成种子是__。【答案格式:123】

有些ai生成图片时会把参数嵌入图片数据中,可以用exiftool看到

pc-15

PVE虚拟化平台部分(10题)

配置说明:仿真要注意勾选嵌套虚拟化;

仿真后首先修改/etc/network/interfaces使其处于本机的虚拟网络VMnet8(NAT模式)之下(创建虚拟机记得NAT)

然后再改/etc/issue和/etc/hosts,改pve的web管理地址

PVE(Promox Virtual Envrionment)是虚拟机管理系统,用Linux内核,借助pve,可以轻松管理虚拟机和容器,有图形化的管理界面。

pve-conf1

pve-conf2

pve-conf3

1、PVE虚拟化平台版本号为?【答案格式:1.1.1】

pveversion出8.1.4

pve-1

2、PVE虚拟化平台的web管理地址为?【答案格式:192.168.1.1:22】

原先是/etc/issue是192.168.71.133,这里我要登录web管理地址所以改掉了

3、在PVE虚拟化平台中,当前共有多少个虚拟机?【答案格式:1】

7

pve-3

4、PVE虚拟化平台的“vmbr1”网卡所使用的网段为?【答案格式:192.168.1.0/11】

ip a→192.168.100.0/24

pve-4

5、PVE虚拟化平台中“120(Luck)”虚拟机的smbios uuid为?【答案格式:123abc-123ba-123ad-23ab-12345abczc】

pve-5

6、在PVE虚拟化平台中,用户“Lu2k”被授予了多少个虚拟机的使用权限?【答案格式:1】

4台

看看每个虚拟机下面的权限那一栏,统计一下就行

7、在PVE虚拟化平台中,shell历史命令中最后一条命令为?【答案格式:hello world】

image-20241107085911265

忽略自己的,lxc-attach 110

8、请分析嫌疑人最近一次销毁虚拟机的时间为

pve-8

2023-03-22 18:15:18,直接从节点的任务历史来看比较好,因为有的虚拟机被删除了,从剩下的虚拟机看会有遗漏

9、PVE虚拟化平台的openEuler系统镜像下载的开始时间为?

image-20241107092936160

10、根据嫌犯供述,可通过快照启动PVE虚拟化平台中的云手机。请根据该条线索找到对应虚拟机,其快照的时间为

image-20241107093112167

软路由部分(10题)

1、软路由root用户的密码是?【答题格式:abc123】

这个是在计算机部分的检材中有,OP2024fic

2、软路由管理面板所用http协议监听的端口为?【答案格式:7001】

cat /etc/config/uhttpd

rts-2

8080

3、软路由的系统版本号为?【答案格式:1.1.1】

cat /etc/os-release

rts-3

4、软路由的WAN口所配置的网关为?【答案格式:1.1.1.1】

less /etc/config/network

rts-4

5、软路由防火墙端口转发规则有多少条记录【答案格式:1】

翻找防火墙的配置文件/etc/config/firewall,找到config redirect开头,src为wan,dst为lan的记录,一共17条;

6、OpenClash控制面板登录密钥为?【答案格式:Abc123】

rts-6

openclash的控制面板登陆密码储存在/etc/openclash/config.yaml的secret字段

这里改了一下网络配置,因为没有ssh工具用,也登陆不了LUCIweb(路由管理界面)还是比较难受的,用less来翻太慢了

7、OpenClash的局域网代理密码(SOCKS5/HTTP认证信息)为?【答题格式:Abc123】

rts-7

8、OpenClash的订阅地址为?【答案格式:https://www.forensix.cn】

rts-8

9.代理节点”香港501 中继 动态”的服务端口为?【答案格式:123】

还是config.yaml

rts-9

42001

10、OpenWrt的包管理软件的系统镜像源配置文件的绝对路径是?【答案格式:/root/hl/abc.conf】

openwrt的包管理软件,opkg,类似于yum,这题问的是opkg安装包的时候,指定什么镜像源的配置文件

一般在/etc/opkg/distfeeds.conf

rts-10

云手机部分(10题)

PVE平台连接虚拟机有两点要注意:

1.要开启虚拟引擎;

ysj1

2.要修改对虚拟cpu数量的限制;

1
vi /usr/share/perl5/PVE/QemuServer.pm注释掉die "MAX $allowed_vcpus vcpus allowed per VM on this node\n" if ($allowed_vcpus < $maxcpus);

(这里介绍一个vi小技巧,如果文件很长可以再普通模式下输入/,后面输入要找的字符串,回车,直接定位到要改的地方)

然后重启pvedaemon服务

1
systemctl restart pvedaemon

1、PVE虚拟化平台的虚拟机“101(node1)”的droid用户登录密码为?【答案格式:Abc123】

这个也在pc检材里,是droid2024fic

2、PVE虚拟化平台的虚拟机“101(node1)”中Docker容器的镜像ID的前六位为?【答案格式:abc123】

docker images

ysj-2

d1d4bf

3、在PVE虚拟化平台的node1虚拟机中,容器手机的数量为?【答案格式:1】

image-20241110205203613

5

4、在PVE虚拟化平台的node1虚拟机中,若要启动手机容器,有几条前置命令(docker命令不纳入计算)? 【答案格式:1】

ysj-45、在PVE虚拟化平台的“101(node1)”虚拟机中启动“priceless_knuth”手机容器后,该安卓手机的蓝牙MAC地址是多少?【答案格式:12:34:ab:cd:a1:b2】

android手机的蓝牙储存在/data/misc/bluedroid/bt_config.conf

ysj-5

3c:5a:b4:01:02:03

6、警方现场勘验过程中,曾使用雷电手机取证软件通过嫌疑人软路由对云手机进行了远程取证,请问以下哪个端口可以明确是取证时使用过的端口?【多选题】

A.11111

B.12222

C.13333

D.23333

E.24444

F.35555

这个在node2里,node2添加为新检材后分析可以发现com.hl.helper,说明警方通过node2对手机取证,而node2的手机对应的软路由端口以2开头,选de

ysj-6

7、在PVE虚拟化平台的node2中名为loving_shtern的手机映射至软路由中,所占用的端口号为?【答案格式:123】

loving_shtern的端口为5555,对应到软路由的端口为25555

别忘了是node2

ysj-7

ysj-7-1

8、在PVE虚拟化平台的node2中loving_shtern手机容器中安装的名为“抖音”安装包的MD5值为?【答案格式:abc123】

这里我直接链接了容器,从容器里把apk薅到finalshell,再下载,拖到雷电里;0ce8f95ba0401769a9f4860749cc8206(其实后来才发现太麻烦了,可以直接docker inspect看容器映射到主机的目录,在那里面找就OK)

ysj-8

9、根据集群中手机内容分析,传销人员在评论区引流使用的qq号为?【答案格式:123】

没找到“评论区”,翻了node1和node2的docker映射目录只发现了node1有tim;本来想翻数据库的,奈何不知道数据库是什么编码,出来的全是乱码;看来还是用火眼再跑一下node1吧

ysj-9

发现qq号;解释一下,tim是qq办公简版

10、通过云手机聊天记录可以得知,涉案传销网站域名为?【答案格式:www.forensix.cn】

image-20241111150412283

传销网站部分(15题)

1、涉案服务器集群中,sql数据库服务器112(sqlserver)对应的虚拟磁盘的SHA256值为?

记住这里不要启动112,直接导出来算(其实本来可以作为嵌套证据添加到新检材的,不知道为什么readerror)

然后这里有个发现,关于火眼的;如果在导入检材那里计算哈希,计算的是磁盘的哈希;如果用工具箱的哈希计算工具,那就是整个qcow2文件

2、涉案服务器集群中,数据库服务器的root用户密码加密方式为?

这里直接把导出来的qcow2导入火眼,然后看/etc/shadow

image-20241111160423692

是sm3,特地查了一下,是中国国家密码算法标准之一,某些情况下替代sha256

3、涉案服务器集群中,数据库服务器的内核版本?【答案格式:1.1.1】

wz-3

5.10.0

4、涉案服务器集群中,Java服务器web服务监听的端口为?【多选题】

问web应用的端口,那得找到网站,在历史命令发现他跑过一个jar包jinyi.web.web.jar

wz-4

打开一看有BOOT-INF,是springboot框架,那直接看classes的配置文件

wz-4-2

9031,9032(下面那个忘记圈了)

5、涉案服务器集群中,数据库服务器中Docker容器的数量为?【答案格式:1】

wz-5

6、 涉案服务器集群中,数据库服务器有一个mysql容器节点,该容器的ID前六位为?【答案格式:abc123】

同上题3ba5cb

7、涉案服务器集群中,数据库服务器mysql容器节点的数据库版本号为?【答案格式:1.1.1】

wz-6

8、从外部访问涉案网站“鲸易元MALL管理系统”管理后台所使用的域名为?【多选】

A.jy.proxy2.jshcloud.cn

B.master.jy.proxy2.jshcloud.cn

C.jy.proxy.jshcloud.cn

D.master.jy.proxy.jshcloud.cn

这个在LXC容器里,用前面部分提到过的lxc-attach 110连接

首先这是nginx服务器,所以查看nginx配置文件/etc/nginx/nginx;那么网站的信息可以看虚拟主机设置

(虚拟主机指的是在一台服务器通过不同的域名运行独立的网站)

我们发现了网站的配置文件在/etc/nginx/conf.d/proxy.conf

里面有后台相关的内容

wz-8

BD

9、“鲸易元MALL管理系统”管理后台所使用的网站框架为?

A.TOMCAT

B.SPRING_BOOT

C.Struts

D.THINKPHP

这题前文提到过,是B;

10、“鲸易元MALL管理系统”管理后台运行时,依赖了几种不同的数据库?【答案格式:123】

2种,这个在java服务器的分析结果了;redis和mysql见T7

11、“鲸易元MALL管理系统”管理后台运行时,在生产环境(prod)下所连接的mysql服务器密码为?【答案格式:123】

这题上面也提到了,一开始还不明白,为什么这么多yml;prod对应的是生产版本的,还有个test是测试的,dev猜不出来hhh

总之就是找到java应用的生产版本的配置文件,里面有连接密码honglian7001,见T7

12、“鲸易元MALL管理系统”管理后台中Aliyun OSS对应的密钥KEY是为?【答案格式:Abc123】

wz-12

13、“鲸易元MALL管理系统”管理后台中,管理员(admin)的账号密码采用了什么样的加密方式?【答案格式:rc4】(不区分大小写)

这里需要配置一下数据库;首先把112导出,仿真,发现他使用的是nmcli而不是network.service;同时nmcli connection show只有一个和docker的连接,没有网络连接,所以我们需要给网卡ens33创建一个连接然后启动

1
sudo nmcli connection add type ethernet ifname ens33 con-name "Wired Connection"
1
sudo nmcli connection up "Wire connection"

然后可以用navicat连接到数据库看jinyi→sys_user→admin,发现其密码哈希以$2a开头,所以是bcrypt

wz-13

14、“鲸易元MALL管理系统”管理后台中,管理员(admin)账号绑定的手机号码为?【答案格式:18818881888】

wz-14

15、“鲸易元MALL管理系统”管理后台中,会员的数量为?【答案格式:123】

52*1000+908=52908

image-20241123112620850

数据分析部分(10题)

前言1:

这里不得不搭建完整的网站了,网站的数据结构很复杂,如果不还原网站单看数据库会很难受;但是要复原完整的网站架构也不容易,毕竟和以前不一样,不是单服务器的网站,总的来说,配网的策略确实是很重要的;

感觉这次复现对我而言最难就在这里了,因为一开始我是直接只导出了数据库服务器,把它放在71和pve一个网段,这样可以看数据库,但是对整个网站的复原是不利的,这样的话,和jar包里面的配置就对不上了,复原网站将无法进行下去,看来最好还是修改自己的网络配置而不是去改虚拟机的

具体步骤:

首先把javaserver和sqlserver的镜像全部导出,然后设置一个新的虚拟网络VMnet9,仅主机模式,ip段为这些虚拟机原来的ip 192.168.100.255

注意给sqlserver和javaserver都要配置网卡;

javaserver是netplan作为网络管理工具,配置文件在/etc/netplan/00-installer-config.yaml

将其网卡名称改为ip a的altname字段内容,然后netplan apply

sqlserver用的是NetworkManager,配置文件在/etc/sysconfig/network-scripts/ifcfg-enp6s18

它本身有完整的配置文件,但是name和device与ip a的网卡对不上,改一下重启就行;

然后给pve加一个VMnet9的网卡,将其作为所有pve虚拟机虚拟网络的端口,这样pve和虚拟网络就连上了,lxc就可以和虚拟网络连接了(可以进入lxc然后ping另外两个机器看通不通),另外,原来的192.168.71虚拟网络走的是ens160网卡,互不冲突

netapply-1

启动网站首先保证lxc、java、sql三台机器都启动了;

mysql服务器把mysql和redis的docker都开上;然后navicat修改管理员的密码哈希,给他换为123456的Bcrypt算法哈希,直接改上就是

java服务器并行执行两个跑jar包的命令,符号别用错了,是&

lxc container需要将服务器的域名全部加到hosts文件里,这样通过域名直接访问网站;(这个参考后台地址那题,那个文件里有所有的域名,全部对应到192.168.100.110)

netapply-2

前言2:

网矩我确实是第一次用,操作比较傻瓜式,但是在组织架构分析这确实有一手,比自己写脚本还是方便很多

16、“鲸易元MALL管理系统”管理后台中,会员级别为“总代”的数量为?【答案格式:123】

248

sjfx-1

17、“鲸易元MALL管理系统”管理后台中,以“推荐人id”做为上级id对会员进行层级分析,总层级为多少层?(最高层级视为1层)【答案格式:123】

这里直接网矩一把梭

sjfx-2

18、“鲸易元MALL管理系统”管理后台中,会员编号为sgl01的下游人数(伞下会员)数量为?【答案格式:123】

18001

sjfx-3

19、“鲸易元MALL管理系统”管理后台中,会员编号为sgl01的下游人数(伞下会员)充值总金额合计为多少元/RMB【答案格式:123】

870411900

sjfx-420、“鲸易元MALL管理系统”管理后台中,已支付订单的数量为?【答案格式:123】

31760

sjfx-5

21、“鲸易元MALL管理系统”管理后台中,已支付订单的支付总金额总计为多少元/RMB?【答案格式:123】

71979976

导出订单管理的数据,然后excel求和就行

22、“鲸易元MALL管理系统”管理后台中,在提现账号管理页面中银行卡的记录数为?【答案格式:123】

6701

sjfx-7

23、“鲸易元MALL管理系统”管理后台中,打款成功的提现记录数量为?【答案格式:123】

8403

sjfx-8

24、“鲸易元MALL管理系统”管理后台中,打款成功的提现应打款金额总计为多少元/RMB?【答案格式:123】

10067655

同21,导出对应的表然后excel求和

25、“鲸易元MALL管理系统”管理后台中,拼券活动D仓位的收益率为?【答案格式:100%】

8%

sjfx-10