部分原文链接:http://www.taodudu.cc/news/show-5901347.html?action=onClick
引用来源-浙江警察学院@Zodi4c#grignard
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访问等
开始做题
管理IP由前面所得,即为192.168.8.20
软路由管理密码即为服务器root密码,可以采用读 /etc/shadow的方式去爆破密码,ocr识别字符串
因为openwrt通常使用web管理,所以其网页账号密码可以保存在浏览器中,在前面检材中浏览器保存的表单可以读取到账号密码为[email protected]
afc455bdc29a45b18f3bae5048971e76
使用上一题得到的密码,登录管理后台
在 服务->阿里云盘WebDAV 可以看到token为afc455bdc29a45b18f3bae5048971e76
检材段我们无法刷新,所以答案应为这个
502f6affe3c7deb071d65fb43effc06d
该软路由服务列表中其实存在多个代理程序,但是只有这个名为ShadowSocksR Plus+的正在运行且配置了链接,链接中含有token
9a89a5ec-dae6-488a-84bf-80a67388ff37
在磁盘管理中我们可以看到一共由四块磁盘,对应了四个检材
可以看到卷标为data的Btrfs卷其uuid号为9a89a5ec-dae6-488a-84bf-80a67388ff37,你要问我为什么data卷是数据卷,那我也说不来
在挂载点选项,我也同样可以看到这个uuid为9a89a5ec-dae6-488a-84bf-80a67388ff37,挂载到了mnt下的data目录
/mnt/data
问共享路径,那么要找共享服务,储存选项处的共享服务并没有开启
在服务->网络共享中,该服务开启,共享了名为sharedata的目录,其路径为/mnt/data
尝试连接
可以看到连接成功
其中有一个IM文件夹,不出意外就是下一题的IM服务器
至此物联取证结束
比赛的时候因为先做的集群,集群做完了发现怎么还有个服务器取证,没有检材。真的找了很久,以为在前面的pc检材中嵌套,没想到在这嵌套
比武的时候这块没怎么做,因为仿真起来没数据,使用vmx打开有个系统锁的东西,一直打不开
仿真Windows Server 2019.vmdk没有任何相关数据
仿真Windows Server 2019-000002.vmdk进入锁界面,直接运行vmx也是进入锁界面,
对vmx文件进行检查,确定了虚拟机当前使用的镜像就是00002vmdk
经过搜索,这是veracrypt加密系统盘的结果
https://www.howtogeek.com/6169/use-truecrypt-to-secure-your-data/
对Windows Server 2019.vmdk和Windows Server 2019-000003.vmdk进行检查
Windows Server 2019.vmdk内容基本是空白,像是新建好虚拟机的一个原始环境快照
在Windows Server 2019-000003.vmdk/分区7/Users/Administrator/Documents下发现一txt文件,内有类似密码文件,密码为123w.pgscup.com
尝试使用该密码解锁vc/tc加密的0002vmdk,解锁成功,进入主界面
服务器密码在另外两个镜像中可解析得到,或者在前面检材中嵌套可得[email protected]
对服务器进行定向检查,同时进行解题
先进行网络设置,对原始网络进行记录,并将网络配置修改为我们虚拟机当中与虚拟网络编辑器配置相匹配的设置
保持IP不变,将其他设置修改并保存
已经连上互联网络
在桌面发现一名为IM管理台的快捷方式
查看属性可见其文件位置与详细信息
整体结构相对不难
im_dbserver即为数据库数据
im_server即为聊天核心服务
im_webserver即为web管理程序
上网探,,网探检测到未开启远程桌面,开启远程桌面服务
网探连接
连接成功
17763.379
123w.pgscup.com
启动密码应该为进系统时vc/tc的密码,即123w.pgscup.com
7.4.32
在快速访问中发现最近曾编辑过php.ini,打开文件所在位置为C:\Program Files (x86)\IM Console\IM Console\im_webserver\php
结合im控制台的位置
基本确定im系统运行的目录在C:\Program Files (x86)\IM Console\IM Console下
查询php版本
版本为7.4.32
mariadb 10.4.12
www.upsoft01.com
在C:\Program Files (x86)\IM Console\IM Console\im_server\im_common\conf中检查到一system.ini文件
其中检得mysql的root账号密码
DBUser=root
DBPassword=www.upsoft01.com
antdbms_usdtreclub
见下题重构
6
连接mysql
其中可见2数据库,猜测2数据库分别对应下面两个系统
即通讯录系统控制系统,即控制通讯录系统的系统
绕过密码即可,其模块名为Ms
在Application下找到该Ms模块
其下conf文件加下的config文件并未配置数据库连接信息,推测使用的是前文的全局配置,
其数据库中的密码无法直接解密,对后台登陆进行绕过
有多语言版本,对其进行追踪
定位到登录逻辑所在地
换个方法,重构k8s的网站不同,这里使用直接将判断密码是否相等的语句注释掉,那么在登陆时,只判断用户名,很快
输入用户名点登录即可登录后台
在总控制台中可以看到当前存在一家企业,即usdtreclub,当前企业的数据库为antdbms_usdtreclub即上题的答案
即通讯录系统的管理平台,管理内部通讯录
可见其自动填写了企业和超管用户名
且在上题知道,通讯录系统的数据库为antdbms_usdtreclub
那么找到用户表
可以看到有四个管理员,密码相同,解出为[email protected]
是一条付费记录
可以重构,继续查找其报错
跟进
虽然有很多文件都存在这个_ACCOUNT_PASSWORD_ERROR_,但是我们要找登录判断逻辑,所以首先排除两个语言翻译文件,其次根据模块判断,现在正在home模块下,那么common模块的登录判断更有可能相关,而两个ms模块下的文件,在刚才的重构中已经使用过的,证实就是ms模块的判断,那么只剩下这个UserModel.class.php
也使用注释密码相等的判断语句来实现免密登录,全部注释掉
直接输入任意用户名就可以实现登录
这个序列号过期应该也是可以绕过的,等下看要是需要就绕过,不需要就不管了
可以看到共有6个部门
B.AES256
可以看到当前消息传输加密采用了AES256
D.考勤
可以查看到当前开启的应用,当前未开启考勤
80-B6-55-EF-90-8E
导出excel进行查询,该时间2023-04-11 21:48:14只有一条退出的记录,mac为80-B6-55-EF-90-8E
13580912153
直接查找其手机号为13580912153
做下来,感觉难度星星都是虚标的,只有启动密码稍有难度,其他其实就是后台的翻找查看,怎么第7题-第11题同样都是再后台翻找检查,其难度给的都不一样。
先跑取证软件
很多不识别,意料之中
仿真起动三台服务器,在仿真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,集群重构至此基本结束,进行取证分析
3.10.0-957.el7.x86_64
10.244.0.0/16
查看当前k8s集群中 pod 和 service 网段信息
kubectl get configmap kubeadm-config -n kube-system -o yaml
podSubnet: 10.244.0.0/16
calico
kubectl get pod --all-namespaces
8
kubectl get namespaces
查看所有namespace
192.168.91.171
kubectl cluster-info
查看集群信息
NodePort
kubectl get svc --all-namespaces
查看所有service
7.2
kubectl describe pods php-deploy-7d9648677d-dbm66 -n shuadan
# 或者搜索一下其中的php关键词
kubectl describe pods php-deploy-7d9648677d-dbm66 -n shuadan | grep php
192.168.8.12
当前版本k8s使用的是docker来构建集群,可以直接查看docker的配置文件
cat /etc/docker/daemon.json
[[email protected] ~]# cat /etc/docker/daemon.json
{"registry-mirrors": ["https://jzjp9481.mirror.aliyuncs.com"],# 阿里云加速镜像"insecure-registries":["192.168.8.12"]#私有仓库地址
}
也可以查看根目录下有一个.docker文件夹
其中包含了私有仓库的地址和认证tocken
dXNlcjozVy5wZ3NjdXAuY29t
继上题
cat /root/.docker/config.json
6G
kubectl get pv
查看所有pv卷
licaisite-pvc
同上题
kubectl get pv
可以直接安装一个k8s的可视化面板,以上的题目基本上能很快的找到,这里以kuboard面板为例
在master上安装kuboard服务
kubectl apply -f https://kuboard.cn/install-script/kuboard.yaml
在master输入以下字符串获取token
访问任意节点的32567端口
输入token
前面的题目基本上比较快的从面板上找到答案,面板都是中文的,使用比较简单,不再做更详细的介绍
61.150.31.142:3306
网站源码在连接数据库时,一定会使用数据库配置文件,根据前面集群搭建时对集群检查发现master根目录下存在/www,对其进行检查,是licai、shuadan、kefu三个站的源码,对源码进行检查,在其中发现数据库配置文件
cat /www/site/kefu/config/database.php
既然题目这么问,那么三个站的数据库应该都是一样的,对三个站的数据库链接文件进行检查,发现确实是一样的
8083
cat /www/site/kefu/public/index.php
也可以查看日志
vip.shuadan.com/nFRrSNh6Msnbtpay
cat /www/site/shuadan/config/database.php
数据库配置文件处于加密状态
对其进行解密
5.6.50
\数据库\data\localhost.log
vip.kefu.com
将网站源码导出到本地,将数据库在本地还原
在本地起一个版本相同或相近的数据库
打开数据库文件位置
将整个data替换进来
绕过登录密码
启动数据库,连接数据库查看
所有数据表访问正常
创建网站,域名按原来的域名,根据log文件的文件名进行命令
打开根目录将源码拷贝到我们搭建的站点中
因为网站的运行目录在public下,可根据ico和index文件位置判断,我们将运行目录设置到public下
配置一个伪静态规则
<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine onRewriteCond %{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 onRewriteCond %{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
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人
以方法讲解为主,这里一定是正确答案,因为前面再仿真重构过程中我也有打开了客服交流窗口,以大家自行搭建起来,没有打开客服窗口时看到的个数为准。
/www/site/shuadan/application/index/view/user/user.html
继16题,可见当前路径为/index/user/index
按thinkphp的规则以及搜结果可以判断该文件位置为
/www/site/shuadan/application/index/view/user/user.html
7611
18671068082
受害人张娟
查找张娟,其上级为一个用户名叫xdl123的用户
手机号打码了,在数据库中搜索该用户名
18671068082
2023-04-12 14:57:32
查询明细
加款时间为2023-04-12 14:57:32
103.177.44.10
对理财网站扫描木马
在\www\site\shuadan\public\uploads下发现木马1.php,因该木马在上传目录下,更有可能是攻击者上传的,其他的更像是管理工具
这个马是穿在刷单站下的,并不是题目说的理财站,要么是我没有找到
在刷单站的日志中,103.177.44.10这个IP集中出现在最后,对1.php进行操控,其他地方未见该IP
理财站的日志中没有对php文件的操作
182b23b83115459b4cbe5bb1e5a3c5f5
该可疑木马的md5
182B23B83115459B4CBE5BB1E5A3C5F5
1.42
累计交易额为1.42亿
6212260808001710173
后台没搜到
到数据库中找一张包含银行卡号的表
数据比较多就select一下,选好各种平台的sql语言、hsql、图数据库语言很重要,就算后台搭不起来,还能面向数据库做题
9186.24
后台进行查询
共有两页25条数据,可以直接口算
也可以将整个表复制到excel里进行筛选求和
也可以到数据库中,对应好收入和支出进行查询
但是要注意其支出的定义,不要重复计算
按我的理解其中有4笔订单是撤销交易的,那么委托的订单也不能算入支出,撤销的金额也不要算入支出,即有撤销的话两笔订单价都不能计入支出的范围
以及其他都是委托,有一单交易成功
那么交易成功支出也是从原始委托的金额里出的,只要计算原始委托的支出,即有成功交易的支出,只需计算原始委托的支出,或者直接理解为所有交易成功的支出不算即可
可以观察委托交易和充值两种状态的余额变化,委托交易余额减少,充值虽然在支出这个栏目下,但是充值使与额增加,按照上面两条规则的话,余额增江,应该不算支出
按以上这三条规则计算则该用户共支出
9186.25
具体取决于对支出的理解
集群服务器部分到此结束,网站重构部分是基于将网站文件导出来做的,这就是我比武时的做法,这样感觉快,也没啥毛病。整个重构逻辑是简单的,起站点,进后台,绕密码,就是三个站点,有点多,但是方法还是基本方法。还没有仔细研究k8s内域名怎么解析进去,后面还会出一版k8s内直接做的。集群服务器的难点在于k8s如何启动,以及添加两张网卡进行网络配置。如果使用集群管理工具,前面的题目时相对简单的。后面将源码文件导出,也就是传统的网站重构的范畴。
有问题欢迎交流。
引用备注来源,浙江警察学院@Zodi4c#grignard