容器密码:e10adc3949ba59abbe56e057f20f883e
服务器取证
上周搞实战服务器的时候使用超级取证大师仿真遇到点问题,后面研发优化之后搞了点新东西,没想到今天做拖了很久的盘古石决赛服务器,刚仿真之后就碰到了惊喜,方便了许多操作,所以推荐推荐
通用服务器取证
打开检材看到如此规整的四个镜像,有三个大小还是相同的,先放到ufs看一下

可以看到是zfs

那我们就得注意仿真得放在一起仿了

利用超大的仿真直接就可以不输密码进去,省了好多步骤
竟然不用绕密了,这得推荐一下
正常的绕密步骤是这样的

进去之后查看ip发现是56,那就修改一下网卡设置

之后就可以使用ssh直接连接了
然后用sshmcp和超级取证大师mcp结合起来一把嗦~~😁

网站重构(可以不构,把数据恢复即可)
老样子,先写网站怎么搭起来的,后做题
虚拟机重置后,ZFS 密钥状态为 unavailable,keylocation 已被改为 prompt,原始密钥文件已删除
通过 zpool history 查找原始 keylocation,发现原始值是 file:///tmp/poolpassphrase,文件已删

搜索 LVM 磁盘上的 journal 日志找回密码
python dd if=/dev/mapper/ubuntu--vg-ubuntu--lv bs=4k 2>/dev/null | strings -n 6 | grep -E "echo.*'[[:print:]]+'.*\|.*zfs"

linux的内存镜像也可以看到

解锁并恢复数据
python echo 'P9sCup@2o26!@#' | zfs load-key pgscup2026-js/web
echo 'P9sCup@2o26!@#' | zfs load-key pgscup2026-js/data
zfs set canmount=on pgscup2026-js/web
zfs mount pgscup2026-js/web
zfs mount pgscup2026-js/data
# 克隆快照恢复 MySQL 数据
zfs clone pgscup2026-js/data@20260418 pgscup2026-js/data_clone
zfs set mountpoint=/home/data_clone pgscup2026-js/data_clone
zfs mount pgscup2026-js/data_clone
docker stop lottery-mysql 2>/dev/null
rm -rf /home/data/mysql
cp -a /home/data_clone/mysql /home/data/mysql
cp -a /home/data_clone/conf /home/data/conf
从配置文件找 MySQL 密码
grep password /home/data/conf/lottery-admin.yml

启动全部服务
python cd /home/pgs
./start_all_services.sh
这下就可以访问网站了,但是前台还是进不去,原因是 env HOST=0.0.0.0 没生效——进程启动时可能没读到环境变量
python kill -9 $(pgrep -f nasi-live) 2>/dev/null
sleep 2
cd /web/live-web
HOST=0.0.0.0 PORT=3000 nohup node server/nasi-live.js > /tmp/live-web.log 2>&1 &
大功告成(结果做题发现根本没有什么用。。。。)

1. 对服务器进行系统取证,提取该服务器安装的操作系统版本名称?
Ubuntu 24.04
查看分析结果即可

2. 对服务器进行内核取证,提取该服务器的完整内核版本号?
6.8.0-110-generic
uname -a直接查看,或者cat /proc/version也可以

3. 对服务器进行取证分析,提取系统所有ZFS存储池名称?
pgscup2026-js
列出所有ZFS存储池名称zpool list

4. 对服务器进行取证分析,ZFS池下的数据集采用的加密算法?
aes-256-gcm
先查看一下ZFS池下的所有子数据集
zfs list -r pgscup2026-js

查指定子数据集的加密算法
zfs get encryption pgscup2026-js/data

5. 对服务器进行取证分析,ZFS池下的数据集配置的keylocation参数值?
prompt
由上题已经知道子集了,查对应数据集的keylocation
zfs get keylocation <dataset>

6. 对服务器进行取证分析,ZFS池的三块磁盘组成的RAID类型?
raid-1
查三块盘的RAID类型
zpool status pgscup2026-js

输出中的 mirror-0 表示这是一个镜像组,在标准 ZFS 体系中,mirror 配置对应的是 RAID-1
7. 对服务器进行取证分析,Docker默认bridge网络的网关IP?
172.17.0.1
查看 Docker 默认网络的详细配置信息
docker network inspect bridge

8. 对服务器进行取证分析,docker镜像和容器的保存路径?
/web/docker
显示 Docker 系统的所有详细信息docker info

9. 对服务器进行取证分析,数据库的root密码是什么?
Pgscup@2o26!@#
在/home/pgs这里看到了一个自启动脚本,cat 会看到乱码

提取压缩脚本数据
python cd /home/pgs
tail -n +49 start_all_services.sh | gzip -cd

10. 对服务器进行取证分析,直播后台管理系统(live-admin)监听端口?
3003
启动脚本之后可以看到

11. 对暗夜直播接口进行取证分析,用户登录API的完整RESTful路径?
/webapi/user/login
在9题压缩查看数据时可以看到启动参数有个server.js

live-web-api 源码在 Docker 镜像中,提取后查看
cat /web/live-web-api/server.js

12. 对暗夜直播进行取证分析,直播前台服务监听的网络接口地址是什么?
0.0.0.0
启动脚本中 env HOST=0.0.0.0 PORT=3000

13. 对暗夜直播进行取证分析,admin用户密码使用bcrypt哈希时指定的盐轮数(salt rounds)?
10
之前已经挂载好了,直接翻一翻文件就可以
cat web/live-admin/update_pwd.js

14. 对服务器进行取证分析,盛世皇朝站后台运行在哪个端口?
8091
依旧是那个脚本中

15. 对盛世皇朝平台进行分析,盛世皇朝平台连接的数据库名称?
lottery
在前面已经知道账号密码了

然后为了确保是不是他,在/home/data/conf/lottery-admin.yml文件中也可以看到

16. 对盛世皇朝平台进行分析,后台启动所对应的配置文件的绝对路径是什么?
/home/data/conf/lottery-admin.yml
见上题,其实在压缩脚本后的那里就可以看到

17. 对盛世皇朝平台进行分析,后台用户密码加密的加密方法是什么?
bcrypt
在/web/lottery-1/lottery-admin/src/main/java/me/zohar/lottery/config/security/CustomAuthenticationProvider.java可以看到

Spring Security 的 BCryptPasswordEncoder,自适应哈希,自带 salt
还有一种方法就是直接看数据库,本来后几道题就要再数据库中查询

看到哈希以 $2a$ 或 $2b$ 开头,就知道是 bcrypt
18. 对暗夜直播礼物系统进行取证分析,统计所有礼物的总价值(total_price)?
5499510145.00
这里就是数据库统计部分了,我们知道数据库的账号密码,直接连接即可

是直播礼物系统,那就是live_platform表了

然后就是sql查询了

19. 对暗夜直播充值系统进行取证分析,统计所有的直播记录数?
59989

20. 对盛世皇朝后台进行取证分析,给出标题为“公司入款卡停用”的公告发布时间?
2019-05-27 01:27:51
这个题注意看题目,是盛世皇朝了

服务器内存
这里使用已经开源的lovelymen V2
1. 请对服务器内存进行分析,给出服务器系统从启动到制作内存镜像完成后共运行了多少时间?[答案格式:00分00秒]
44分06秒
查看系统信息,看到2646.93秒,转化为分44分06秒

2. 请对服务器内存进行分析,有多少个SSH远程连接会话(包含已建立的连接)?
4
查看ssh进程可以看到有四个会话
3. 请对服务器内存进行分析,用户在/home/pgs/目录下执行了一条危险删除命令,请给出执行时间?[答案格式:YYYY-MM-DD-HH:mm:ss]
2026-04-18-10:01:26
查看shell历史,分析上下历史命令可以得出
4. 请对服务器内存进行分析,用户创建了一个ZFS快照,请给出该快照的名称?[答案格式:xxx/xxx]
pgscup2026-js/data@20260418
在shell历史中直接搜索zfs snap
5. 请对服务器内存进行分析,请给出pgscup2026-js/data数据集的解锁密码?[答案格式:P@ssw0rd]
P9sCup@2o26!@#
在shell历史中可以看到
