您现在的位置是:首页 >技术杂谈 >服务器部分 2023盘古石杯全国电子数据取证大赛 技能赛晋级赛网站首页技术杂谈
服务器部分 2023盘古石杯全国电子数据取证大赛 技能赛晋级赛
首届盘古石杯全国电子数据取证大赛 技能赛晋级赛服务器部分
MD5: FF4AB93F852B23DD759A6810754557A8
加密容器密码:usy1UN2Mmgram&^d?0E5r9myrk!cmJGr
后期服务器应该会再更新一版,全部的题解不一定会更新,估计一年内会出吧,博主马上大四了,再各种考试。
物联取证
取证软件未解析软路由物联网四块检材
仿真未检测到操作系统型号
将软路由四块检材同时选中挂载
操作系统选择Linux
高级设置选择网络设置为NAT,自动重置开机密码
开始仿真
仿真后无需操作进入主界面,中文不显示,可以看到型号为openwrt。
openwrt一般使用web管理。首先仿真完要做的都是配置网络,使主机能连接虚拟机。
Q:为什么要第一步要配置网络,能解决一些什么问题?
A:解决像这里的中文乱码、不显示问题,可以方便的进行文件拷贝,可以进行web管理。
搜索open wrt网卡配置,可以看到网络配置在/etc/config/network里
查看现在的配置,可以看到br-lan网卡为192.168.8.20/24,同开头进来显示的IP一样,实际上玩过openwrt的知道这个IP就是第一题,他的管理IP
ip a
而且不进行网络配置之前,主机ping不通该台机器
对/etc/config/network进行编辑
vi /etc/config/network
这里只有lan这张网卡拥有配置,我们对其进行修改,保持IP不变,将其他选项修改成我们虚拟网络编辑器中的网络配置,如果一台机器有多个网络配置,我们要在虚拟机设置里,增加多张网卡后,再对网络信息进行配置,就像后面的k8s集群配置一样
查看虚拟机网络配置
a. 虚拟网络编辑器中子网IP和掩码组成的网段必须包括我们该台虚拟机,或者该段虚拟机集群的网段
b.将对应的掩码,网关,其中一个dns都设置成虚拟机网络配置中对应的值
保存,重启即可
重启后即可ping通,使用ssh连接,web访问等
开始做题
1.请给出该软路由管理的IP地址?(答案格式:192.168.1.1)(★☆☆☆☆)192.168.8.20
管理IP由前面所得,即为192.168.8.20
2.请给出该软路由管理员的密码?(答案格式:admin123!@#)(★★★☆☆) P@ssw0rd
P@ssw0rd
软路由管理密码即为服务器root密码,可以采用读 /etc/shadow的方式去爆破密码,ocr识别字符串
因为openwrt通常使用web管理,所以其网页账号密码可以保存在浏览器中,在前面检材中浏览器保存的表单可以读取到账号密码为P@ssw0rd
3.请给出阿里云WebDAV的token?(答案格式:bac123sasdew3212…)(★★☆☆☆) afc455bdc29a45b18f3bae5048971e76
afc455bdc29a45b18f3bae5048971e76
使用上一题得到的密码,登录管理后台
在 服务->阿里云盘WebDAV 可以看到token为afc455bdc29a45b18f3bae5048971e76
检材段我们无法刷新,所以答案应为这个
4.请给出该软路由所用机场订阅的token?(答案格式:bac123sasdew3212…)(★★☆☆☆) 502f6affe3c7deb071d65fb43effc06d
502f6affe3c7deb071d65fb43effc06d
该软路由服务列表中其实存在多个代理程序,但是只有这个名为ShadowSocksR Plus+的正在运行且配置了链接,链接中含有token
5.请给出该软路由数据卷的UUID?(答案格式:8adn28hd-00c0c0c0…)(★★☆☆☆) 9a89a5ec-dae6-488a-84bf-80a67388ff37
9a89a5ec-dae6-488a-84bf-80a67388ff37
在磁盘管理中我们可以看到一共由四块磁盘,对应了四个检材
可以看到卷标为data的Btrfs卷其uuid号为9a89a5ec-dae6-488a-84bf-80a67388ff37,你要问我为什么data卷是数据卷,那我也说不来
在挂载点选项,我也同样可以看到这个uuid为9a89a5ec-dae6-488a-84bf-80a67388ff37,挂载到了mnt下的data目录
6.请给出该软路由的共享路径?(答案格式:/home/data)(★★☆☆☆) /mnt/data
/mnt/data
问共享路径,那么要找共享服务,储存选项处的共享服务并没有开启
在服务->网络共享中,该服务开启,共享了名为sharedata的目录,其路径为/mnt/data
尝试连接
可以看到连接成功
其中有一个IM文件夹,不出意外就是下一题的IM服务器
至此物联取证结束
比赛的时候因为先做的集群,集群做完了发现怎么还有个服务器取证,没有检材。真的找了很久,以为在前面的pc检材中嵌套,没想到在这嵌套
服务器取证
比武的时候这块没怎么做,因为仿真起来没数据,使用vmx打开有个系统锁的东西,一直打不开
仿真Windows Server 2019.vmdk没有任何相关数据
仿真Windows Server 2019-000002.vmdk进入锁界面
经过搜索,这是veracrypt加密系统盘的结果,我也没有做前面的题,队友也没找到这个密钥,哪位同行找到了,麻烦私信我下,相互学习
https://www.howtogeek.com/6169/use-truecrypt-to-secure-your-data/
1.请给出IM服务器的当前Build版本?(答案格式:11111)(★☆☆☆☆) 17763.379
17763.379
2.请给出IM聊天服务的启动密码?(答案格式:3w.Baidu.com)(★★★★★)
3.请给出该聊天服务器所用的PHP版本?(答案格式:7.2.5)(★★★★☆)
4.请给出该服务器所用的数据库类型及版本?(答案格式:mysql 5.7.1)(★★★★★)
5.请给出该服务器MySQL数据库root账号的密码?(答案格式:3w.baidu.com)(★★★★★)
6.请给该IM服务器内当前企业所使用的数据库?(答案格式:admin_admin)(★★★★☆)
7.请给出该组织“usdtreclub”内共有多少个部门(不含分区)?(答案格式:1)(★★★☆☆)
8.客户端消息传输采用哪种加密形式?(答案格式:A)(★★☆☆☆) A.AES128 B.AES256 C.DES D.Base64
9.以下那个不是此系统提供的应用?(答案格式:A)(★★☆☆☆) A.云盘 B.审批 C.会议 D.考勤
10.请给出“ 2023-04-11 21:48:14”登录成功此系统的用户设备MAC地址?(答案格式:08-AA-33-DF-1A)
(★★★☆☆)
11.请给出用户“卢正文”的手机号码?(答案格式:13888888888)(★★★★☆)
集群服务器取证
先跑取证软件
很多不识别,意料之中
仿真起动三台服务器,在仿真k8s集群时,需要多分一点内存,推荐5g网上,防止应用在仿真时出错
网卡选用NAT模式,以便虚拟网络编辑器分配网络,同时使三台主机相互之间可以访问
三台主机都按此进行仿真
可以看到三台主机的IP和网段,因为我虚拟网络编辑器的网段是192.168.0.0/16,但是仿真起来他这是网段是192.168.91.171/24,所以看起来没有开dhcp
cat /etc/hosts
查看IP映射表,与三台主机当前IP相对应
我们接下来将他们的IP配成static,保持原IP不变,需要将网卡配置修改成与我们虚拟网络编辑器NAT配置中相对应
vi /etc/sysconfig/network-scripts/ifcfg-ens33
但是我是手打的,在vi /etc/sysconfig/network-scripts/ifcfg-ens3时按tab补全时发现,该台机器存在两张网卡
分别为ens33 和ens34
那么在配置时需要同时使这两张网卡生效
在虚拟机配置栏再添加一张nat网卡,重新打开
配置第一张网卡,模式已经是static了,将prefix和gateway和dns1都修改成你当前虚拟网络编辑器的配置
但是该配置需要当前网段包含两张网卡所在的网段即包含192.168.91.0/24和192.168.8.0/24,所以我直接配个192.168.0.0/16是绝对没啥问题的
修改后
ens34
修改后
查看网卡,新添加的网卡识别出来为ens37
将ifcfg-ens34中的device和name都修改成ens37
vi /etc/sysconfig/network-scripts/ifcfg-ens34
再分别将ifcfg-ens34 文件名修改为ifcfg-ens37
mv /etc/sysconfig/network-scripts/ifcfg-ens34 /etc/sysconfig/network-scripts/ifcfg-ens37
将三台机器,每台机器的两张网卡都按此操作,并确保都添加了两张网卡,全部重启一遍,确保所有配置更改都生效
重启后主机即能ping通三台主机
进行ssh连接,master连不上,查看ssh配置,发现端口为2282,其他两台正常
vi /etc/ssh/sshd_config
查看历史命令,发现两个node还需使用nfs将master的/www挂载到本地/www
两台主机按其挂载的方式进行挂载
检查node和pod是否正常
kubectl get nodes -o wide
kubectl get pod --all-namespaces
所有node均ready,kefu、licai、shuadan的所有pod均ready,集群重构至此基本结束,进行取证分析
1.请给出集群master节点的内核版本?(答案格式:2.6.0-104.e11.x86_64)(★☆☆☆☆) 3.10.0-957.el7.x86_64
3.10.0-957.el7.x86_64
2.请给出该集群的pod网络?(答案格式:192.168.0.0/24)(★★★★☆) 10.244.0.0/16
10.244.0.0/16
查看当前k8s集群中 pod 和 service 网段信息
kubectl get configmap kubeadm-config -n kube-system -o yaml
podSubnet: 10.244.0.0/16
3.请给出该集群所用的网络插件?(答案格式:abcd)(★★☆☆☆) calico
calico
kubectl get pod --all-namespaces
4.默认ns除外,本集群共有多少个ns?(答案格式:1)(★★★☆☆) 8
8
kubectl get namespaces
查看所有namespace
5.请给出该集群的集群IP?(答案格式:192.168.0.0)(★★☆☆☆) 192.168.91.171
192.168.91.171
kubectl cluster-info
查看集群信息
6.请给出该ns为“licai”svc为“php-svc”的访问类型?(答案格式:Abc)
(★★☆☆☆) NodePort
NodePort
kubectl get svc --all-namespaces
查看所有service
7.请给出ns为“shuadan”下的的PHP版本?(答案格式:1.1)(★★★★★) 7.2
7.2
kubectl describe pods php-deploy-7d9648677d-dbm66 -n shuadan
# 或者搜索一下其中的php关键词
kubectl describe pods php-deploy-7d9648677d-dbm66 -n shuadan | grep php
8.请给出本机集群所使用的私有仓库地址?(答案格式:192.168.0.0)(★★★★☆) 192.168.8.12
192.168.8.12
当前版本k8s使用的是docker来构建集群,可以直接查看docker的配置文件
cat /etc/docker/daemon.json
[root@master ~]# cat /etc/docker/daemon.json
{
"registry-mirrors": ["https://jzjp9481.mirror.aliyuncs.com"],# 阿里云加速镜像
"insecure-registries":["192.168.8.12"]#私有仓库地址
}
也可以查看根目录下有一个.docker文件夹
其中包含了私有仓库的地址和认证tocken
9.接上题,请给出登录该私有仓库所用的token?(答案格式:bae213ionada21…)(★★★★★) dXNlcjozVy5wZ3NjdXAuY29t
dXNlcjozVy5wZ3NjdXAuY29t
继上题
cat /root/.docker/config.json
10.请给出“licaisite”持久化存储的大小?(答案格式:10G)(★★☆☆☆) 6G
6G
kubectl get pv
查看所有pv卷
11.接上题,请给出对应的存储持久化声明名称?(答案格式:abc-abc)(★★★☆☆) licaisite-pvc
licaisite-pvc
同上题
kubectl get pv
k8s面板安装解法
可以直接安装一个k8s的可视化面板,以上的题目基本上能很快的找到,这里以kuboard面板为例
在master上安装kuboard服务
kubectl apply -f https://kuboard.cn/install-script/kuboard.yaml
在master输入以下字符串获取token
访问任意节点的32567端口
输入token
前面的题目基本上比较快的从面板上找到答案,面板都是中文的,使用比较简单,不再做更详细的介绍
12.请给出集群内部署网站所使用数据库的IP地址和端口号?(答案格式:192.168.0.0:8080)(★★★☆☆) 61.150.31.142:3306
61.150.31.142:3306
网站源码在连接数据库时,一定会使用数据库配置文件,根据前面集群搭建时对集群检查发现master根目录下存在/www,对其进行检查,是licai、shuadan、kefu三个站的源码,对源码进行检查,在其中发现数据库配置文件
cat /www/site/kefu/config/database.php
既然题目这么问,那么三个站的数据库应该都是一样的,对三个站的数据库链接文件进行检查,发现确实是一样的
13.请给出网站“vip.kefu.com”所使用的端口号?(答案格式:8080)(★★☆☆☆) 8083
8083
cat /www/site/kefu/public/index.php
也可以查看日志
14.请给出网站“vip.shuadan.com”连接数据库所使用的账号和密码?(答案格式root/password)(★★★★★) vip.shuadan.com/nFRrSNh6Msnbtpay
vip.shuadan.com/nFRrSNh6Msnbtpay
cat /www/site/shuadan/config/database.php
数据库配置文件处于加密状态
对其进行解密
15.请给出调证数据库的版本号?(答案格式5.7.1)(★★★★★) 5.6.50
5.6.50
数据库datalocalhost.log
16.请给出刷单网站客服域名?(答案格式:http://www.baidu.com:8080/login.html)(★★★★★) vip.kefu.com
vip.kefu.com
本地重构刷单网站
将网站源码导出到本地,将数据库在本地还原
在本地起一个版本相同或相近的数据库
打开数据库文件位置
将整个data替换进来
绕过登录密码
启动数据库,连接数据库查看
所有数据表访问正常
创建网站,域名按原来的域名,根据log文件的文件名进行命令
打开根目录将源码拷贝到我们搭建的站点中
因为网站的运行目录在public下,可根据ico和index文件位置判断,我们将运行目录设置到public下
配置一个伪静态规则
<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
</IfModule>
伪静态规则
直接对源码经常重构经常会碰到的就是伪静态规则有问题导致一些页面无法正常显示
注意可以切换nginx和apache中间件
这里使用什么都可以,中间件和伪静态规则对应即可,这里因为原来服务使用的时nginx,使用nginx重构会比较好,但是我就是要用apache,一套下来基本没有大的差别,或者都是小问题,比重构到一般切换中间件更好解决的小问题
同时nginx一般配以下的伪静态
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;
break;
}
apache一般配以下的伪静态
<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
</IfModule>
访问该站即重构完成
理财的客服域名,登录后台查看
在application中可以看到,后台的入口为admin_2019
绕过登录密码,数据库中admin账号无法直接解出且id为8,weiliang用户id为1且密码可以解出,为123456,直接使用weiliang用户登录后台
登录普通用户,可在个人中心看到在线客服选项
vip.kefu.com
17.请给出理财客服系统用户“admin”共有多少个会话窗口?(答案格式:123)(★★★★★) 8
8
以方法讲解为主,这里一定是正确答案,因为前面再仿真重构过程中我也有打开了客服交流窗口,以大家自行搭建起来,没有打开客服窗口时看到的个数为准。
本地重构理财网站
在前面的基础上,重构理财网站
查看理财站原域名vip.usdtre.club
创建一个该名称的新网站
打开根目录位置,将源码导入
当前目录即为网站运行目录
index.php的数据库配置无需修改
conf下的数据库修改为本机
设置伪静态
设置合适的php版本
网站重构完成
登录普通用户查看
后台
进入后台时需要输入验证的密钥
在index中有定义该密钥
具体后台地址可以到日志中查找详细地址
后台登录密码绕过
查询数据库中的加密字符串无结果
查询报错
密码为密码的md5值
原加密密钥串:902ae5671f72c85310a511085cd485b0
构造加密密钥串
md5(123456)
e10adc3949ba59abbe56e057f20f883e
后台登陆成功
本地重构客服网站
在前面的基础上,重构客服网站
根据客服网站的日志,按原始的域名创建一个新站,同时设置端口为原来的端口vip.kefu.com:8083
拷贝源码文件
设置网站运行目录为public
将数据库地址修改到本地
设置伪静态规则
访问即可进入后台
绕过登陆密码
搜索字符串
追踪加密
public function getEncryptPassword($password, $salt = '')
{
$password = md5(md5($password) . $salt);
return $password;
}
双层md5,第一次md5后加上用户名作为盐值在进行一次md5
旧密码:92254023d5310ac778385e6dc4ea0569
双层md5生成新密码,替换数据库中原密钥
123456
c7122a1349c22cb3c009da3613d242ab
成功登录后台
选择理财系统的客服
打开
数据库查找该理财客服的账号密码
无法直接查询到密码,继续绕过
查询报错
加密方式为
$pass = md5($post['user_name'] . "hjkj" . $post['password']);
将用户名和hjkj和密码拼接后进行一次md5操作
原加密密钥:abf5807a649e408f08198b5f0727ad16
生成字符串:
123456
md5(adminhjkj123456)
d8f7c2d2775869fb69b8757edcf6ae4f
登陆成功
会话窗口即当前咨询用户数为8人
以方法讲解为主,这里一定是正确答案,因为前面再仿真重构过程中我也有打开了客服交流窗口,以大家自行搭建起来,没有打开客服窗口时看到的个数为准。
18.刷单客服是嵌套在刷单源码下那个文件内,请给出该文件在网站源码内的目录和文件名?(答案格式:www.baidu.com:8080/login.html)(★★★★★) /www/site/shuadan/application/index/view/user/user.html
/www/site/shuadan/application/index/view/user/user.html
继16题,可见当前路径为/index/user/index
按thinkphp的规则以及搜结果可以判断该文件位置为
/www/site/shuadan/application/index/view/user/user.html
19.请统计出刷单网站后台累计提现成功的金额?(答案格式:1000)(★☆☆☆☆) 7611
7611
20.请给出受害人上级的电话号码?(答案格式:13888888888)(★★★☆☆) 18671068082
18671068082
受害人张娟
查找张娟,其上级为一个用户名叫xdl123的用户
手机号打码了,在数据库中搜索该用户名
18671068082
21.请给出刷单网站受害人加款的时间(北京时间)?(答案格式:2023-05-06 14:00:00)(★★★☆☆) 2023-04-12 14:57:32
2023-04-12 14:57:32
查询明细
加款时间为2023-04-12 14:57:32
22.该理财网站曾经被挂马,请给出上传木马者的IP?(答案格式:192.168.10.10)(★★★☆☆) 103.177.44.10
103.177.44.10
对理财网站扫描木马
在wwwsiteshuadanpublicuploads下发现木马1.php,因该木马在上传目录下,更有可能是攻击者上传的,其他的更像是管理工具
这个马是穿在刷单站下的,并不是题目说的理财站,要么是我没有找到
在刷单站的日志中,103.177.44.10这个IP集中出现在最后,对1.php进行操控,其他地方未见该IP
理财站的日志中没有对php文件的操作
23.接上题,请找到此木马,计算该木马的md5?(答案格式:123dadgadad332…)(★★★☆☆) 182b23b83115459b4cbe5bb1e5a3c5f5
182b23b83115459b4cbe5bb1e5a3c5f5
该可疑木马的md5
182B23B83115459B4CBE5BB1E5A3C5F5
24.请统计该投资理财平台累计交易额为多少亿?(答案格式:1.8)(★★☆☆☆) 1.42
1.42
累计交易额为1.42亿
25.请给出该虚拟币投资平台内用户“李国斌”的银行卡号?(答案格式:622222222222222)(★★★☆☆) 6212260808001710173
6212260808001710173
后台没搜到
到数据库中找一张包含银行卡号的表
数据比较多就select一下,选好各种平台的sql语言、hsql、图数据库语言很重要,就算后台搭不起来,还能面向数据库做题
26.分析该虚拟币投资平台财务明细表,用户“13912345678”共支出多少钱(cnc), 结果保留两位小数?(答案格式:10000.00)(★★★★★) 9186.24
9186.24
后台进行查询
共有两页25条数据,可以直接口算
也可以将整个表复制到excel里进行筛选求和
也可以到数据库中,对应好收入和支出进行查询
但是要注意其支出的定义,不要重复计算
按我的理解其中有4笔订单是撤销交易的,那么委托的订单也不能算入支出,撤销的金额也不要算入支出,即有撤销的话两笔订单价都不能计入支出的范围
以及其他都是委托,有一单交易成功
那么交易成功支出也是从原始委托的金额里出的,只要计算原始委托的支出,即有成功交易的支出,只需计算原始委托的支出,或者直接理解为所有交易成功的支出不算即可
可以观察委托交易和充值两种状态的余额变化,委托交易余额减少,充值虽然在支出这个栏目下,但是充值使与额增加,按照上面两条规则的话,余额增江,应该不算支出
按以上这三条规则计算则该用户共支出
9186.25
具体取决于对支出的理解
总结
集群服务器部分到此结束,网站重构部分是基于将网站文件导出来做的,这就是我比武时的做法,这样感觉快,也没啥毛病。整个重构逻辑是简单的,起站点,进后台,绕密码,就是三个站点,有点多,但是方法还是基本方法。还没有仔细研究k8s内域名怎么解析进去,后面还会出一版k8s内直接做的。集群服务器的难点在于k8s如何启动,以及添加两张网卡进行网络配置。如果使用集群管理工具,前面的题目时相对简单的。后面将源码文件导出,也就是传统的网站重构的范畴。
有问题欢迎交流。
引用备注来源,浙江警察学院@Zodi4c#grignard