电子数据取证每日一练-服务器部分1

admin 2024年7月10日12:12:19评论3 views字数 9660阅读32分12秒阅读模式

本栏目主要是针对比赛题目进行分析和解题思路分享,只进行知识分享,不具一定的实战能力,后台不解答涉及可能侵害他人权利的问题,切勿用于违法犯罪活动。如果有工作方面的解答需求,请后台联系添加微信私聊。

2023年龙信杯服务器1部分

案情介绍

    2023年9月,某公安机关指挥中心接受害人报案:通过即时通讯工具添加认识一位叫“周微”的女人,两人谈论甚欢,确定网上恋爱关系,后邀约裸聊,受害人上钩后,“周微”和受害人进行裸聊,整个过程被涉诈团伙录音录像。同时周倩以自己做直播“涨粉”为由,引导受害人下载其事先制作好的木马APP,受害人安装该APP后,嫌疑人利用录制的视频和受害人的通讯录做要挟,从而实施诈骗。
    公安机关接警后,通过技术手段抓取了一段流量包,且通过公安机关的侦查与分析,锁定了该诈骗团伙的业务窝点,具了解,该团伙成员通过Telegram 联系ETH币商收币,双方在线上确定好了交易时间和交易金额(交易额为300万人民币),并先由卖币方转0.5个ETH到买币方钱包。双方人员碰头后,商定分两笔交易交割,第一笔交易价值100万的虚拟货币、第二笔交易价值200万的虚拟货币。第一笔100万的币从卖币方的地址转到中转地址(由中间人控制),再由中转地址转到买币方提供的收币地址,买币方收到币后将带来的100万现金给卖币方清点,第一笔交易完成。犯罪分子开始第二笔交易时,被警方当场截获。并将相关嫌疑人抓获,扣押安卓手机1部,笔记本电脑1台,调证服务器2台,以上检材以分别制作了镜像。检材清单见附件。请结合案情,对上述检材进行勘验与分析,完成以下题目。

        龙信杯的题目适合入门,题目整体难度不大,同时具备很多知识点。这个是服务器1的部分题目,主要是对网站进行重构和数据库进行重构,然后对重构后的网站进行数据分析。除了web方向的知识之外,还需要进行镜像的仿真,为了了解仿真的机制,使用的是磁盘挂载的方式,然后更改linux的shadow文件来进行仿真和密码绕过,需要一定的网络知识的基础。

赛题和工具网盘地址:后台发送电子数据取证每日一练可以得到题目和工具(不分享企业厂商工具)

学习目标:了解网站重构和数据库重构,会使用sql语言进行数据库分析

使用工具(均为开源工具):Arsenal Image Mounter、X-ways、Winhex、Finalshell、navicat、VMware Workstation

难度:中等难度

题目一览

1.服务器系统的版本号是___。(格式:1.1.1111)

2.网站数据库的版本号是___。(格式:1.1.1111)

3.宝塔面板的“超时”时间是___分钟。(格式:50)

4.网站源码备份压缩文件SHA256值是___。(格式:64位小写)

5.分发网站sb.wiiudot.cn管理员密码默认MD5加密盐值是___。(格式:abcd)

6.分发网站sb.wiiudot.cn一共存放了___条通讯录数据。(标准格式:1234)

7.全部网站一共有___名受害人。(格式:xxx。不去重,不进行数据恢复)

8.分发网站tf.chongwuxiaoyouxi.com里面一共有___位“组员级别”的管理员。(格式:数字)

9.分发网站sb.wiiudot.cn管理员名为“0820”的邀请码是___。(格式:xxx)

10.分发网站sb.wiiudot.cn本地数据库用户sb_wiiudot_cn的密码是___。(格式:xxx)

本题所需知识点

1.linux系统目录文件介绍(内容有点多,但是很重要)

电子数据取证每日一练-服务器部分1

1.(根目录) 
根目录是整个文件系统的起点,所有其他文件和目录都是从这里派生出来的。根目录包含了所有的系统文件、用户文件、配置文件和数据。
2./bin
  用途 :存放基本用户命令的二进制文件。
  示例文件 :ls , cp , mv , rm 。
  描述 :这些命令通常用于系统维护和文件操作,是单用户模式下也能使用的基础命令。
3./sbin
  用途 :存放系统管理员使用的二进制文件。
  示例文件 :ifconfig , reboot , shutdown 。
  描述 :这些命令通常用于系统管理和维护,普通用户一般没有权限执行。
4./boot
  用途 :存放启动加载程序和内核文件。
  示例文件 :vmlinuz (内核镜像), initrd.img (初始RAM磁盘)。
  描述 :启动时所需的文件都在这里,包括启动加载程序(如GRUB)和系统内核。
5./dev
  用途 :存放设备文件,代表系统中的各种硬件设备。
  示例文件 :/dev/sda (硬盘设备), /dev/tty (终端设备)。
  描述 :设备文件是操作系统与硬件进行交互的接口,Linux通过这些文件与外设通讯。
6./etc
  用途 :存放系统的配置文件和脚本。
  示例文件 :/etc/fstab (文件系统表), /etc/passwd (用户账户信息)。
  描述 :系统配置和服务的管理文件都在这里,是系统管理员常用的目录。
7./home
  用途 :存放用户的主目录。
  示例文件 :/home/user1 (用户 user1 的主目录)。
  描述 :每个用户都有自己的主目录,存放用户的个人文件和配置。
8./lib
  用途 :存放系统程序和用户程序使用的共享库文件。
  示例文件 :/lib/libc.so.6 (C标准库)。
  描述 :共享库是程序运行时需要的动态链接库,系统启动和运行时会用到这些库文件。
9./media
  用途 :挂载可移动媒体设备。
  示例文件 :/media/cdrom , /media/usb 。
  描述 :用于挂载和访问外部媒体设备,如CD ROM和USB驱动器。
10./mnt
  用途 :临时挂载文件系统。
  示例文件 :可以临时挂载任何文件系统。
  描述 :系统管理员用于临时挂载设备的挂载点。
11./opt
  用途 :安装附加软件包。
  示例文件 :/opt/java (安装的Java环境)。
  描述 :用于第三方软件的安装位置,不属于标准的系统文件。
12./proc
  用途 :虚拟文件系统,存放系统进程和内核信息。
  示例文件 :/proc/cpuinfo (CPU信息), /proc/meminfo (内存信息)。
  描述 :动态生成的虚拟文件系统,提供内核和进程的实时信息。
13./root
  用途 :超级用户(root用户)的主目录。
  示例文件 :/root/.bashrc (root用户的bash配置文件)。
  描述 :系统管理员的主目录,与普通用户的主目录类似。
14./run
  用途 :存放系统运行时的数据。
  示例文件 :/run/lock (锁文件), /run/shm (共享内存)。
  描述 :包含系统启动后生成的临时文件和信息。
15./srv
  用途 :存放特定服务的数据。
  示例文件 :/srv/www (Web服务器的数据文件)。
  描述 :用于服务所需的数据存储,如Web服务器或FTP服务器的数据目录。
16./sys
  用途 :虚拟文件系统,存放与硬件相关的信息。
  示例文件 :/sys/class (设备类信息)。
  描述 :类似于 /proc ,用于提供和硬件相关的动态信息。
17. /tmp
  用途 :存放临时文件。
  示例文件 :程序运行时生成的临时文件。
  描述 :系统重启后可能会清空,用于存储临时数据。
18./usr
  用途 :存放用户的应用程序和文件。
  示例文件 :/usr/bin (用户命令二进制文件), /usr/lib (库文件), /usr/share (共享数据)。
  描述 :是系统级别的目录,存放安装的软件和文件。
19./var
  用途 :存放经常变动的数据文件。
  示例文件 :/var/log (日志文件), /var/mail (邮件), /var/cache (缓存)。
  描述 :包含动态数据,如日志文件、邮件队列、缓存文件等。
20./www
  用途:存放Web服务器的站点文件。
  示例文件:网站的HTML文件、CSS文件、JavaScript文件、图片等。
  描述:Web服务器如Apache、Nginx等,可以配置使用/www作为文档根目录。在这种配置下,网站的所有文件都会放在这个目录下。这个目录通常包含子目录,每个子目录对应一个网站或虚拟主机。

2.手动仿真的技能:用Arsenal Image Mounter仿真

用管理员权限打开,选择可写入,后面要绕密

电子数据取证每日一练-服务器部分1

这里需要搞一个linux虚拟机,或者用我生成好的hash

$5$St/4MDmasE.nEyoc$VllTary1T9FpbUoVPSYESq0JBiRNjs4kL78ekOYXMZA

电子数据取证每日一练-服务器部分1

用winhex挂载磁盘,然后更改/etc/shadow下面root后面的hash值(替换成`$5$St/4MDmasE.nEyoc$VllTary1T9FpbUoVPSYESq0JBiRNjs4kL78ekOYXMZA即可)

电子数据取证每日一练-服务器部分1

最好这里也用管理员权限打开,用VMware创建虚拟机

电子数据取证每日一练-服务器部分1

电子数据取证每日一练-服务器部分1

前面的选项正常选择就行,然后到这里选择使用物理磁盘,选择最后一个挂载的设备

电子数据取证每日一练-服务器部分1

电子数据取证每日一练-服务器部分1

然后仿真成功,接下来按照生成的密码进行登录即可

电子数据取证每日一练-服务器部分1

3.宝塔面板

内容来自:https://www.bt.cn/new/btcode.htm

管理宝塔
bt

电子数据取证每日一练-服务器部分1

一般绕过选择下面几个关闭

bt 12 | bt 10 | bt 23 | bt 24
旧版本管理宝塔(5.x版本以下适用)

停止

/etc/init.d/bt stop

启动

/etc/init.d/bt start

重启

/etc/init.d/bt restart

查看当前面板端口

cat /www/server/panel/data/port.pl

修改面板端口,如要改成8881(CentOS 6 系统)

echo '8881' > /www/server/panel/data/port.pl && /etc/init.d/bt restart
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 8881 -j ACCEPT
service iptables save
service iptables restart

修改面板端口,如要改成8881(CentOS 7 系统)

echo '8881' > /www/server/panel/data/port.pl && /etc/init.d/bt restart
firewall-cmd --permanent --zone=public --add-port=8881/tcp
firewall-cmd --reload

强制修改MySQL管理(root)密码,如要改成123456

cd /www/server/panel && python tools.py root 123456

修改面板密码,如要改成123456

cd /www/server/panel && python tools.py panel 123456

查看面板用户名

cd /www/server/panel && python tools.py username

查看宝塔日志

cat /tmp/panelBoot.pl

查看软件安装日志

cat /tmp/panelExec.log

站点配置文件位置

/www/server/panel/vhost

删除域名绑定面板

rm -f /www/server/panel/data/domain.conf

清理登陆限制

rm -f /www/server/panel/data/*.login

查看面板授权IP

cat /www/server/panel/data/limitip.conf

关闭访问限制

rm -f /www/server/panel/data/limitip.conf

查看许可域名

cat /www/server/panel/data/domain.conf

关闭面板SSL

rm -f /www/server/panel/data/ssl.pl && /etc/init.d/bt restart

查看面板错误日志

cat /tmp/panelBoot

查看数据库错误日志

cat /www/server/data/*.err

站点配置文件目录(nginx)

/www/server/panel/vhost/nginx

站点配置文件目录(apache)

/www/server/panel/vhost/apache

站点默认目录

/www/wwwroot

数据库备份目录

/www/backup/database

站点备份目录

/www/backup/site

站点日志

/www/wwwlogs
Nginx服务管理

nginx安装目录

/www/server/nginx

启动

/etc/init.d/nginx start

停止

/etc/init.d/nginx stop

重启

/etc/init.d/nginx restart

启载

/etc/init.d/nginx reload

nginx配置文件

/www/server/nginx/conf/nginx.conf
Apache服务管理

apache安装目录

/www/server/httpd

启动

/etc/init.d/httpd start

停止

/etc/init.d/httpd stop

重启

/etc/init.d/httpd restart

启载

/etc/init.d/httpd reload

apache配置文件

/www/server/apache/conf/httpd.conf
MySQL服务管理

mysql安装目录

/www/server/mysql

phpmyadmin安装目录

/www/server/phpmyadmin

数据存储目录

/www/server/data

启动

/etc/init.d/mysqld start

停止

/etc/init.d/mysqld stop

重启

/etc/init.d/mysqld restart

启载

/etc/init.d/mysqld reload

mysql配置文件

/etc/my.cnf
FTP服务管理

ftp安装目录

/www/server/pure-ftpd

启动

/etc/init.d/pure-ftpd start

停止

/etc/init.d/pure-ftpd stop

重启

/etc/init.d/pure-ftpd restart

ftp配置文件

/www/server/pure-ftpd/etc/pure-ftpd.conf
PHP服务管理

php安装目录

/www/server/php

启动(请根据安装PHP版本号做更改,例如:/etc/init.d/php-fpm-54 start)

/etc/init.d/php-fpm-{52|53|54|55|56|70|71|72|73|74} start

停止(请根据安装PHP版本号做更改,例如:/etc/init.d/php-fpm-54 stop)

/etc/init.d/php-fpm-{52|53|54|55|56|70|71|72|73|74} stop

重启(请根据安装PHP版本号做更改,例如:/etc/init.d/php-fpm-54 restart)

/etc/init.d/php-fpm-{52|53|54|55|56|70|71|72|73|74} restart

启载(请根据安装PHP版本号做更改,例如:/etc/init.d/php-fpm-54 reload)

/etc/init.d/php-fpm-{52|53|54|55|56|70|71|72|73|74} reload

配置文件(请根据安装PHP版本号做更改,例如:/www/server/php/52/etc/php.ini)

/www/server/php/{52|53|54|55|56|70|71|72|73|74}/etc/php.ini
Redis服务管理

redis安装目录

/www/server/redis

启动

/etc/init.d/redis start

停止

/etc/init.d/redis stop

redis配置文件

/www/server/redis/redis.conf
Memcached服务管理

memcached安装目录

/usr/local/memcached

启动

/etc/init.d/memcached start

停止

/etc/init.d/memcached stop

重启

/etc/init.d/memcached restart

启载

/etc/init.d/memcached reload

绕过宝塔面板手机登录

内容来源:https://mp.weixin.qq.com/s/7dqpcQJSRWBJD7Z3BLLQaw

(1)宝塔7.7.0版以下

在服务器上执行如下命令强制删除/www/server/panel/data/目录下的文件bind.pl,该文件是宝塔面板中用来管理BIND配置的一个脚本文件,可以方便地进行域名管理、DNS记录设置和缓存管理等操作。

rm -f /www/server/panel/data/bind.pl

电子数据取证每日一练-服务器部分1

上述命令运行完成后重新登录宝塔面板,就可以正常进入首页了。

(2)宝塔7.7.0版以上

新建userInfo.json

vi /www/server/panel/data/userInfo.json

参考如下格式,保证键全部存在避免读取时出错,值随意填写即可:

{ "id": 1, "uid": 1, "state": 1, "username": "", "secret_key": "", "access_key": "", "address": "", "addtime": 1, "idc_code": "", "area": "", "serverid": "", "ukey": ""}

修改public.py

vi /www/server/panel/class/public.py

查找is_bind函数的定义:

电子数据取证每日一练-服务器部分1

改为无条件返回True。

电子数据取证每日一练-服务器部分1

重新登录面板,成功正常进入首页,这样就可成功绕过宝塔强制登录手机账号。

4.虚拟机网络设置教程

首先找到自己网络所对应的ipv4地址

电子数据取证每日一练-服务器部分1

然后在虚拟机中更改虚拟网络设置,将nat模式的网段改为和自己ipv4地址相同的网段(改为192.168.1.XX)

电子数据取证每日一练-服务器部分1

电子数据取证每日一练-服务器部分1

本方法主要偏向入门,web大佬可以忽视
如果设置后出现问题,可以参考下面文章进行调整:

https://blog.csdn.net/seawaysyyy/article/details/101101646

5.数据库重构

首先备份数据库

mysqldump -u username -p dbname [tbname ...]> filename.sql

如果没有 root 密码,可以Mysql数据库跳过密码进行登陆修改/etc/my.cnf

vim /etc/my.cnf

在mysqld模块下面添加以下语句,保存并退出

skip-grant-tables

然后重启服务:

systemctl restart mysqld

记录一个小问题,当时进行数据库重构的时候,数据库服务一直重启失败,这时候要把相关的进程都删了,然后启动

电子数据取证每日一练-服务器部分1

电子数据取证每日一练-服务器部分1

6.网站重构调试

在config.php的文件里,有关于是否显示错误信息的地方,这个在重构网站的时候建议打开,方便进行调试

电子数据取证每日一练-服务器部分1

电子数据取证每日一练-服务器部分1

题目解析

为了避免出现网络配置问题,这里根据网站情况把ip地址更改(登录宝塔之后可以看到网站绑定的ip,然后再回来更改。这里为了方便做题,建议先更改一下)

电子数据取证每日一练-服务器部分1

1.服务器系统的版本号是___。(格式:1.1.1111)

7.9.2009

在etc文件夹下面存放了关于系统的信息,里面有一个centos release的文件,存放的是操作系统的版本信息。

电子数据取证每日一练-服务器部分1

电子数据取证每日一练-服务器部分1

2.网站数据库的版本号是___。(格式:1.1.1111)

因为网站的目录是/www,所以在里面找到mysql的位置,里面有版本信息相关的文件

电子数据取证每日一练-服务器部分1

3.宝塔面板的“超时”时间是___分钟。(格式:50)

下面为了方便进行终端操作和资产查看,这里使用finalshell来进行远程连接服务器

然后登录宝塔面板,为了方便登录宝塔,先对一些操作进行绕过

一般绕过选择下面几个关闭

bt 12 | bt 10 | bt 23 | bt 24

# bt 23 && bt 11 && bt 12 && bt 13 && bt 24 && bt 5

然后为了避免端口占用和获取密码

使用bt 8bt 5更改信息,使用bt 14来获取面板信息,方便登录

电子数据取证每日一练-服务器部分1

登录之后要绑定手机号,如果联网情况下,用自己的手机号登录就行,要是断网比赛,可以尝试绕过验证

电子数据取证每日一练-服务器部分1

查看一些宝塔面板的版本是8.0.1cat /www/server/panel/class/common.py | grep 'version'

电子数据取证每日一练-服务器部分1

使用finalshell直接上传一个写好的userInfo.json(内容见前面)

电子数据取证每日一练-服务器部分1

给注释掉,然后写一个return True

电子数据取证每日一练-服务器部分1

电子数据取证每日一练-服务器部分1

然后重启面板就能直接操作了

电子数据取证每日一练-服务器部分1

电子数据取证每日一练-服务器部分1

超时时间是7200秒也就是120分钟

电子数据取证每日一练-服务器部分1

4.网站源码备份压缩文件SHA256值是___。(格式:64位小写)

在备份目录的位置找到源码备份的文件

电子数据取证每日一练-服务器部分1

复制路径之后计算sha256hash值,得到0bdeeacf755126dae9efd38f6a6d70323aa95217b629fd389e0e81f9b406be39

电子数据取证每日一练-服务器部分1

电子数据取证每日一练-服务器部分1

5.分发网站sb.wiiudot.cn管理员密码默认MD5加密盐值是___。(格式:abcd)

一般密码的盐值都是在源码里面,这里可以用xways搜,可以找到在common.php里面,这里要注意选择的是sb.wiiudot.cn网站目录下面。

电子数据取证每日一练-服务器部分1

6.分发网站sb.wiiudot.cn一共存放了___条通讯录数据。(标准格式:1234)

下面对分发网站进行重建,首先对站点的域名进行修改,方便本地能够访问,然后对数据库的ip地址改为本地端127.0.0.1

电子数据取证每日一练-服务器部分1

然后对数据库的信息进行更改,设置为本地端,用户名设置为root

电子数据取证每日一练-服务器部分1

电子数据取证每日一练-服务器部分1

使用navicat进行数据库连接,因为直接连接数据库涉及网络配置问题,所以这里使用ssh来进行连接(因为前面改过数据库的ip,所以这里能够访问到sb_wiiudot_cn这个数据库)

电子数据取证每日一练-服务器部分1

电子数据取证每日一练-服务器部分1

数据库中显示是67277条

另一种方式:将网站的重构后进行登录,这里对登录判断的函数进行修改,实现绕密

电子数据取证每日一练-服务器部分1

用户名使用admin,源代码里面有说到管理员用户,或者看后台日志也能看到,这里不多叙述,密码任意

电子数据取证每日一练-服务器部分1

电子数据取证每日一练-服务器部分1登录后发现后台显示的是67097条数据(通过多次比赛的经验来看,一般都是要找网站重构后显示的数据)

7.全部网站一共有___名受害人。(格式:xxx。不去重,不进行数据恢复)

一共有三个网站,每一个数据库设置都要修改一下。这里题目中不去重,我采取的是各个网站间不去重来做的

电子数据取证每日一练-服务器部分1

电子数据取证每日一练-服务器部分1

电子数据取证每日一练-服务器部分1

然后重启一下mysql的服务,就会看到navicat增加了几个数据库

电子数据取证每日一练-服务器部分1

电子数据取证每日一练-服务器部分1

电子数据取证每日一练-服务器部分1

电子数据取证每日一练-服务器部分1

分别查询后得到267+57+182=506个

8.分发网站tf.chongwuxiaoyouxi.com里面一共有___位“组员级别”的管理员。(格式:数字)

看表的关联关系和数据定义,可看到id=22的是组员

电子数据取证每日一练-服务器部分1

下面对admin_cate_id进行筛选,计算id=22的数量

一共有26个

电子数据取证每日一练-服务器部分1

9.分发网站sb.wiiudot.cn管理员名为“0820”的邀请码是___。(格式:xxx)

先看一下0820的id是多少

电子数据取证每日一练-服务器部分1

在appconfig的表里面可以找到邀请码:443074,对应的id是141

电子数据取证每日一练-服务器部分1

10.分发网站sb.wiiudot.cn本地数据库用户sb_wiiudot_cn的密码是___。(格式:xxx)
在数据库mysql中可以找到用户的密码信息,但这个是加密过的

电子数据取证每日一练-服务器部分1

前面改密码的时候已经看到过密码,看一下和数据库中的是不是一样的

电子数据取证每日一练-服务器部分1

发现密码不一样,之前有提到过源码备份,看一下备份的信息:地址(http://web.chacuo.net/safemysql电子数据取证每日一练-服务器部分1

发现备份中的密码是KE5f3xnFHYAnG5Dt

电子数据取证每日一练-服务器部分1

生成的密码和数据库密码一致,所以是备份中的密码(有点小坑)

总结

这套题目主要是对linux的服务器进行了解析,从镜像仿真到网站重构,基本涉及到了常用的服务器取证技巧。除了题解中所写的部分,也可以了解一下网站文件的架构以及linux根目录下面其他文件的内容,以便对服务器有一个更好的了解。

原文始发于微信公众号(网络安全与取证研究):电子数据取证每日一练-服务器部分1

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年7月10日12:12:19
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   电子数据取证每日一练-服务器部分1https://cn-sec.com/archives/2938223.html

发表评论

匿名网友 填写信息