2024数证杯决赛团体赛wp

2024数证杯决赛团体赛wp

容器密码:mW7@B!tRp*Xz46Y9#KFUV^J2&NqoHqTpLCE%8rvGW(AX#1k@YL3$M5!bWY*9HLFq7UZR6^T!XoVmPK28J&CY9%6(Arz#tbU4oXYKLp7Wq^FV9H

团体赛复现比较困难,目前只找到这个师傅的wp2024数证杯决赛团体 - WXjzc - 博客园,容器密码都找了半天,才找到。 比赛时和队友三个人做了六个小时,也是很多题目都没做出来,现在赛后几个月尝试一个人复现所有方向,不知道能不能坚持复现完。(开始于2025年2月16日凌晨3:30)终于写完了,中间经历了獬豸杯,开学后太忙了,其实早就写的差不多了,一直搁着没有继续完成

请根据计算机以及内存检材,回答以下问题: (17道题,共54.0分)

1.计算机中曾挂载的bitlocker加密的分区的驱动器号为?(答案格式:大写字母,如C) (2.0分)

V

在这个目录下找到两个磁盘映像文件,一个是没加密的,打开是X盘,一个是BitLocker加密的V盘

2.分析计算机和内存检材,计算机中的Bitlocker加密分区的恢复密钥后6位为?(答案格式:123456) (4.0分)

432267

不知道为什么火眼第一遍没有找到BitLocker恢复密钥,开了耗时任务让他继续跑,跑了好久,还没出来。突然想起来比赛的时候用的是用内存镜像来解这个BitLocker加密,当时用的efdd跑的秒出,但是当时下的官方正版,tm的不给我看恢复密钥,要我去购买...队友用passwarekit跑了半天终于出了,现在我用efdd也是能秒出

3.计算机中通过向日葵接收的最后一个文件名称为?(答案格式:需带后缀名,如Abc.doc) (4.0分)

我们走在大路上.doc

打开向日葵的历史记录,直接能找到

4.计算机中加密容器8df84968a5b8c4d072c4daa4fd02cb19的解密密码为? (2.0分)

ppnn13%323658970YYZZ

这道题比赛的时候应该没做出来, 当时有注意到同目录下的重要信息.doc 但是没有找到密码,说是在word文件尾有明文的密码:ppnn13%323658970YYZZ 这样一串,但是我打开为什么密码没有编码,用010editor也是乱码,尝试调整编码形式也是出不来

ai可以根据16进制来识别出来

自己折腾了一个多小时,还是没办法直接让编辑器自动将unicode码转为中文,希望有大佬能指点一下

之后换了个xways的版本,就能出了

5.接上题,计算机中曾挂载的该加密容器分区中最后访问的文件,其文件名为?(答案格式:需带后缀名,如Abc.doc) (2.0分)

d7ed12489b9f8b521db78d121badbe83.jpg

接上题,验证密码,挂载加密容器,想根据访问时间来筛选文件,发现访问时间都变成了挂载的时间。换个思路,发现这个加密容器的盘符是Q,我们直接搜盘符,然后根据最后访问时间来排序

6.请找到计算机中MD5值为2EA4D8A203F6CAFBDA0F6947EE2F0FE5的文件,写出其文件内容;(答案格式:需与实际一致,且涉及符号的部分半角全角需与实际一致) (4.0分)

好好学习!

这道题理论上,将全部的文件md5值都计算了,看哪个文件可以匹配上,但是比赛的时候这么操作好像没有出来,看了别人的博客,发现是Good.docx这个文件,那为什么哈希值对不上呢?

才发现,这是nfs文件,软件自动帮我们解密了,导致它的哈希值改变,所以没有匹配的文件,以后多注意这种文件,计算它的哈希值是需要未解密的源文件的,像WXjzc师傅直接计算efs文件的哈希这是个好习惯。

7.计算机中sharisun520@hotmail.com在2010年5月11日收到的邮件附件图片中的联系电话为? (6.0分)

087864898788

首先先找到这封邮件,然后导出附件

发现图片打开不了,用010打开,发现几乎都是乱码,根据师傅的博客来看,图片需要base64解码之后再异或8,感觉有点阴啊。。。

用赛博厨子解密图片,得到电话

8.计算机中MD5值为E653DF74D36008353C88F5A58B8F9326的文件是从哪个网址上下载的?(答案格式:http://abc/...) (1.0分)

http://suprbaydvdcaynfo4dgdzgxb4zuso7rftlil5yg5kqjefnw4wq4ulcad.onion/attachment.php?aid=3909

前面的题目已经算完了全部文件的md5值,这里直接筛选出文件,发现是torrent的后缀,直接去tor的历史记录里面找就行了

9.计算机中2024年11月12日 11:23:25访问的暗网网址为?(答案格式:http://abc/...) (1.0分)

http://suprbaydvdcaynfo4dgdzgxb4zuso7rftlil5yg5kqjefnw4wq4ulcad.onion/Thread-The-Guess-The-Movie-game

也很简单,直接找对应时间就行

10.请找到嫌疑人曾经接收的文件"DefeatedJoyousNightingale.pdf",计算其SHA-256值;(答案格式:如遇字母全大写) (6.0分)

B4380011D8C1E4AB6CCCA1380CE81F9B9144EA8D06E9814210D63A959B74E6E3

送分题

11.计算机中包含由两个字母、五个数字、"CW"和四个数字组成的内容的文件名是?(答案格式:需带后缀名,如Abc.doc) (3.0分)

CheerfulSuperDonkey.text

还得是复现,要不然这辈子都不知道为什么自己写的正则表达式从来没有匹配到过文件**^[1]^{2}\d{5}CW\d{4}$** 这是找ai写的,但是发现好像实际搜索中都不用加头和尾,只需要**[A-Za-z]{2}\d{5}CW\d{4}**就行了...

也是搜到了,比赛的时候跑了好久,中间还蓝屏一次都没搜到...

12.请写出计算机中系统分区上文件系统的卷序列号;(答案格式:全部8字节,小端序,忽略空格,如FA33C08ED0BC007C) (2.0分)

D466CEF666CED7FE

搞了半天发现自己的xways没有模板,只能直接看4个字节长度的卷序列号,找了个模板,然后注意是小端序,需要倒过来

13.计算机中最后接入的U盘的卷标名称是什么?(答案格式:如abcd111A) (5.0分)

xing120G

在usb设备信息里面找到了这个,排序一下时间,其实不清楚什么是卷标名称,但是这个答案格式对的上

14.计算机中程序wordpad.exe一共运行了多少次?(答案格式:请直接写数字,如6) (1.0分)

2

15.计算机内存中正打开的图片中的动物为?(答案格式:直接写出动物名称,如狗) (4.0分)

要找内存中正在打开的图片,用lovelymem看一下进程,寻找和图片有关的进程,应该就是这个Microsoft.Phot进程了

这里根据这个文章调查取证之图像还原 -- 即刻安全,将找到的dmp文件改为data后缀,然后用gimp处理,这里用WXjzc师傅的方法来调**++然后用gimp来调偏移,位移看感觉调,高度设置高一点都没啥,最关键的是宽度,建议从1080开始往下调,直到出现比较清晰的图像++**

16.计算机内存中本地浏览器使用哪个端口连接到了184.30.21.38?(答案格式:纯数字) (2.0分)

50391

打开lovelymem的网络信息,直接搜ip就行了

17.计算机内存中极速浏览器最后浏览的网址的登录密码?(答案格式:与实际大小写需一致) (5.0分)

Zhang333

用lovelymem打开web时间线,找到最后访问的网站

看了别人的博客,才知道可以用passware来找网站密码,学到了

请根据手机检材,回答以下问题: (9道题,共34.0分)

1. 分析手机检材,请找出嫌疑人的手机号; (2.0分)

13023161693

2.分析手机检材,嫌疑人曾经访问的公共服务后台管理系统的URL是?(答题格式:https://abc/...) (4.0分)

https://ggfw.ynylbz.cn/manage/#/login?redirect=/Home

浏览器挺多,一个个打开来搜

3.分析手机检材,找出嫌疑人在笔记中记录的接头地点;(答案格式:需与实际完全一致) (4.0分)

上海市浦东新区木兰花路666号

首先找一下手机里面的笔记软件,一个是自带的,一个是后装的,首先看后装的

翻找数据库,发现找不到有用的东西,去找自带的笔记,也是没东西。这里学习师傅的博客,通过导出apk重新安装在模拟器,然后导入数据进行恢复app的数据,长见识了。

进入模拟器,打开文件管理,进入**/data/data/包名** 的目录下,发现很多都是可以对应的,比如db=databases,f=files

后面发现使用模拟器的文件管理操作不太方便,遂使用mt管理器和共享文件夹操作,一一对应就行了,同名替换,替换完成后,再打开app,就能发现里面出现了

4. 分析手机检材,找出嫌疑人的接头暗号;(答案格式:需与实际完全一致) (6.0分)

送你一朵小红花(没做出来)

接头暗号打开是空白的,搞不明白,操作是没错的

5.分析手机检材,找出嫌疑人10月23日开的腾讯会议的入会密码; (2.0分)

201808

6.分析手机检材,找出嫌疑人公司即将发布的新产品型号;(答案格式:需与实际大小写完全一致) (4.0分)

AeroX-900

发现一个加密压缩包,一定有一道题,直接爆破

7.分析手机检材,找到嫌疑人曾经发送的项目前期资料文件,计算其SHA256;(答案格式:如遇字母全大写) (4.0分)

2425440B48170763AEA97931D806249A298AFAC72A4BED92A6494E6789ACDA19

发现曾经发了一份资料,说是可以看文件大小,发现有454kb,但是就几个字,肯定有问题,然后看打开word文档也有提示存在无法打开的内容

然后解压发现,word里面藏了一个excel文件

8.分析手机检材,嫌疑人曾进行过一次交易,请问嫌疑人与转账的接收者什么时候成为好友?(答案格式:2021-01-01 01:01:01) (2.0分)

2024-10-23 15:33:22

9.分析手机检材,写出嫌疑人钱包账户的导入时间;(北京时区,答案格式:1990-01-01 01:01:01) (6.0分)

2024-11-22 17:18:30

应用列表里面找到MetaMask

然后参考师傅的博客的路径,从files文件夹下面找到persist-root文件,搜索import time

也可以使用提到的插件,下一次试试,时间戳转换,+8这个是对的,东八区

请根据服务器检材,回答以下问题: (20道题,共65.0分)

1. 请写出服务器系统内核版本;(答案格式:1.1.1-11-abcdefe) (1.0分)

6.8.0-48-generic

火眼直接看

2. 请写出服务器的ens33网卡的ip地址; (1.0分)

10.172.29.128

3. 请写出mysql数据库密码; (4.0分)

123568

虽然藏得不深,但是比赛的时候三个人都没找到,服务器几乎爆零...还是太菜了,当时全看桌面上面的project了,没想到home下面还有个project。目录下面一共三个jar包,最后一个太小了,一个个看过来

或者也可以find / -name *.jar

在jar包的配置文件里面找到了sql的密码

检验一下,密码对的

4. 后台服务中注册中心的服务端口是多少?(答案格式:纯数字) (2.0分)

7000

这里又找到了一篇wp参考,但是只有服务器第一届数证杯团体赛-服务器取证 | CN-SEC 中文网。有一说一,这数证杯的服务器是真难,一点思路都没有.

在/home/project/cloud下面的日志找到了注册中心启动的痕迹

5. 服务器nginx日志中,哪个ip访问系统最为频繁?(答案格式:6.6.6.6) (6.0分)

56.111.197.176

有点逆天,本地ai直接出命令,并且能正确输出答案

cat /var/log/nginx/access.log:读取Nginx日志文件。

awk '{print $1}':提取每行的第一列,即IP地址。

sort:对IP地址进行排序。

uniq -c:统计每个IP出现的次数,并在结果前加上相应的计数。

sort -nr:按IP出现次数降序排列。

head -n 1:只显示出现次数最多的那个IP。

6. 请写出平台管理员密码加密算法;(答案格式:aes) (3.0分)

md5

通过搜索关键词"登录""login""password"等能搜到登录的源代码,发现对密码进行了加盐后md5加密

7.假设某管理员密码是123456,请问该管理员的密码在数据库中存储的值是多少?(答案格式:如有字母,全大写) (5.0分)

985EB5B028065701341A478A9215E7B2

需要先知道盐值是多少,这里说是盐值定义的地方

盐值在配置文件里面

8.已知某人卖出了5.2个ETH/USDT,请问他的二级推荐人可以获得多少个ETH佣金?(答案格式:写出数字即可,保留小数点后5位) (6.0分)

0.00001

回看到之前导出的第三个jar包,exchange-core.jar,通过佣金定位到特定的类中,然后翻看这个类,只有一个方法名可疑,而且里面有二级推荐人的字符存在

用ai分析了一下,主要就是先进行一级推荐人的返佣,然后再进行二级推荐人的返佣,至于什么是一级推荐人,那就是他的直接推荐人,二级推荐人是推荐一级推荐人的人。但是目前没有返佣的比例,可以去数据库看看。在一个表里面发现two代表的是0.1,但是感觉这比例太高了,很奇怪,而且one是0.9,更奇怪了,佣金不可能这么高。想起来个人赛有一道题我算出来是17000000元礼金,这道题肯定哪里也有东西。

可以发现这个小jar包里面并没有关于这个类的内容,是从别的地方导入进来的,然后可以去admin.jar这个包里面找到

他在使用这个two之前还进行了除以100的操作,也就是最后要乘0.001

然后我们再来看这个fee是从哪里来的,是不是就是5.2。发现上面的方法先对fee进行了处理,可以借助ai分析一下fee进行的操作

发现fee是订单的手续费,我们需要知道coin的值是多少,就能计算最终到手的佣金是多少了

没有找到coin的值,但是直接找到了fee的值,为0.001

总体做下来可以知道,进行币币转化的总金额为5.2ETH,它手续费的费率是0.001,然后一级推荐人可以得到的佣金是手续费的0.009,二级推荐人可以得到的佣金是手续费的0.001。所以,最终结果为5.20.0010.001=0.0000052,题目要求保留5位小数,所以四舍五入

9.请找到受害人"王涵"的手机号; (1.0分)

15780139471

数据库里面全局搜就行了

10.请写出嫌疑人的违法交易网站的中文名称;(答案格式:2个汉字) (3.0分)

币严

查看nginx配置文件,发现监听的是8801端口,在虚拟机里面打开网站,说是在前端/home/web里面写死了127.0.0.1访问后端接口

这里需要注意几个点,一个是先在/home/project下的两个admin和cloud需要运行一遍restart.sh脚本,以及/home/gass/Desktop/project/blockchain下需要运行start.sh脚本。

然后再打开/etc/nginx/nginx.conf文件,修改代理使其转发到本地的6010端口,然后需要重启nginx服务

打开网页是这样的,发现让我们输入用户名和验证码,有点奇怪。

打开html源码,发现请输入验证码实际对应的是password

后面还有验证码的输入框,但是被隐藏了,我们修改一下display

修改之后,就显示验证码了,我们可以根据上面题目构造的密码替换数据库原先的密码,然后就成功登录了

终于,登录进来了!

11. 请写出数据库中Recharge表的status字段中,0代表的中文含义; (1.0分)

未到账

可以直接看表的注释

12. 平台中所有账户中ETH余额最多的地址是多少?(答案格式:0x123F...) (6.0分)

0x2c8d0ff224e79b296f00714933ef8be09d4d28f2

直接在后台看发现好像大家的余额都是0不太对,既然是区块链,应该不会存储在数据库里面,然后用ai在geth的终端里面跑了一遍脚本,出来一个地址,但是发现看的几个博客最终数据不一样,于是我跑了一个新的

这个最终最多的数据和这个师傅跑出来是一样的【电子取证】2024数证杯决赛团队赛------服务器取证 | CN-SEC 中文网,然后其他人的答案是第三个地址,我用他们给的脚本跑了,跑出来确实是第三个,这就不知道为什么了。

把它们写的脚本丢给ai,发现应该是这个问题了,第三个地址的首个数字是9导致它会是最大的,这应该是它们脚本的问题了,所以应该是第一个地址是对的,但是第一个地址在数据库里面找不到对应的用户,有点奇怪了

13. 区块链搭建工具是?(答案格式:abcd) (1.0分)

geth

可以在运行脚本.txt 文件里面看见

14. 区块链对外提供的的http端口是? (2.0分)

8545

需要先起那个geth,然后才能看见端口,可以发现有两个端口一个是8545端口,一个是30303端口,问问ai就行了

  • 8545 端口:对外提供 HTTP RPC 接口,用于进行各种区块链操作。
  • 30303 端口:主要用于 P2P 网络通信。

15. 服务器网站数据库使用的字符集为?(答案格式:如有字母,请小写) (1.0分)

utf8mb4

让ai写命令,直接去数据库里面看

16. 由于服务器定时清理了交易数据,请找寻整个区块链中最大的交易金额(答案格式:0x123F...) (6.0分)

0x960c77907381d08ecc019c0ad9d668a4bd456070f6f17ce0696d716150a50138

直接问ai,发现和他们的答案都不一样,但是我的最大交易金额比他们的大,就不管了。然后这一题按照给的答案格式,应该是问交易哈希

然后用它们的脚本跑,发现应该也是和之前一样的问题,它们能跑出来12ETH,也有9.512ETH,为什么最终输出了9.512ETH呢?感觉有点像是问ai9.9和9.11哪个大的感觉,没想到整数部分也会这样判断错误。

贴一下代码段吧,第一个是云淡纤尘师傅的代码,第二个是我用deepseek跑出来的代码

var blockNumber = 1996;  // 当前最新区块号
var maxAmount = 0;
var maxTx = null;

// 设置查询范围,查询最近2000个区块
for (var i = blockNumber; i >= Math.max(0, blockNumber - 2000); i--) {
    var block = eth.getBlock(i, true);  // true 表示获取区块中的所有交易
    block.transactions.forEach(function(tx) {
        var valueInEther = web3.fromWei(tx.value, 'ether');  // 将交易金额转换为以太坊单位
if (valueInEther > maxAmount) {
            maxAmount = valueInEther;
            maxTx = tx;
        }
        console.log("交易量: " + valueInEther + " ETH, 交易哈希: " + tx.hash);  // 输出交易量和哈希
    });
}

console.log("最大交易金额: " + maxAmount + " ETH");
console.log("最大交易的哈希: " + maxTx.hash);

// 初始化最大交易记录
var maxTx = {hash: "", value: new BigNumber(0)};
var startBlock = 0;
var endBlock = eth.blockNumber;

// 进度跟踪(每100个区块输出进度)
function scanBlocks(from, to) {
    for (let i = from; i <= to; i++) {
        var block = eth.getBlock(i, true);
        if (block && block.transactions) {
            block.transactions.forEach(tx => {
                var txValue = new BigNumber(tx.value);
                if (txValue.gt(maxTx.value)) {
                    maxTx.hash = tx.hash;
                    maxTx.value = txValue;
                }
            });
        }
        // 进度显示
        if (i % 100 == 0) console.log("扫描进度:", i + "/" + endBlock);
    }
}

// 执行扫描
scanBlocks(startBlock, endBlock);

// 输出结果
console.log("最大交易哈希:", maxTx.hash);
console.log("金额:", web3.fromWei(maxTx.value, "ether"), "ETH");

17.请写出嫌疑人在chrome上使用的钱包名称;(答案格式:如有字母全小写) (2.0分)

metamask

直接看就行了,服务器为数不多的送分题

18. 请写出chrome钱包插件使用的pbkdf2加密算法的轮次;(答案格式:纯数字) (4.0分)

600000

第一次知道这种插件可以看前端代码来分析,既然是看轮次,可以先看看能不能静态分析,不行的话下断点看看实际加密了多少次

根据返回的密码错误信息来定位判断加密的函数的位置,发现下文有pbkdf2存在

静态看不了,下断点看看发现params为600000

19.Chrome钱包密码的算法中对iv的加密方式是什么?(答案格式:如有字母请小写,如md5) (4.0分)

aes-gcm

这一题不知道是不是这样看,这个函数name:i,然后在刚刚断下来那里往下翻,发现也有个i:AES-GCM

20.已知服务器中嫌疑人的钱包登录密码为八位纯数字生日1994****,请写出该密码; (6.0分)

19940822

刚刚断下来,直接把那个data,iv值,轮数和salt值提取出来丢给ai,让ai生成脚本直接跑跑看

import base64
from cryptography.hazmat.primitives.kdf.pbkdf2 import PBKDF2HMAC
from cryptography.hazmat.primitives import hashes
from cryptography.hazmat.primitives.ciphers.aead import AESGCM
from concurrent.futures import ThreadPoolExecutor
from datetime import date, timedelta

# 解码参数(替换为实际值)
salt = base64.b64decode("fhlH2383hn7sqEKiLN8zSqv/F/v9x0s3xj/1zBI1zkA=")
iv = base64.b64decode("oi49chysOL0hAXfqbviWIA==")
data = base64.b64decode(
    "4OBSCQ3fpgiiQG1CUT2KVKU9Sma1ixgcZ1xBb+XeQXlX9yFbyj6HgpPH4vKktB39FPVD5wlV0fFrKkrB4YvkwS4y0P2y15GrSMvJ7ZPV2FdT+o7/s9ydryf4j/dvWssWhlpIf8+Z/GTWxrd0pEKCumJ0SgM7pNCn+LPufqgAAc8Phk1V2G78YFFn27hoPalU+mfyLirBvbcNCe7PZhUEf02OB9HJxc6NL8VGHZ0mugf8CMCU4CfoMWBjGB358XwYgqVCAYfPeP612BcqH/2qGsf4v5MUynaoWjR3CDxg6z5n/SzvayET9KxzpnP5/YwrI1Kr6KSuX8hfWa4G7Qect7gRcJ5OSP9vjDAE0Oa7+2RoOvSuDhONrit9JD1j3PlF/HLHjCWcAxFPAqQHnaXHUT7+O/UR/nHBBUjwZqXcA3NvY6Up9gEyp7v252JKw/ybv9PYsNVBNNzaOCHM+2vLu4AEdhsJjEmzz1BMnl2a10lX3PIxT6g+eVdHNVOkeESS7Xiufrh1BNEXemU+/Mj8zOzC8X3sC+h7k6V+j8FO5gFFIsGVsehmhjQ0g3hv5OjHLu+8UbJ19HVC6nzyopbHF1EbgVc4bEfnsqxpBQT4xGY27MQLFa2SlcpRpue1NpZWdhV2C8/wTSBmcgnm3PHWgvBiuA==")

def try_password(date_str):
    password = date_str.encode("utf-8")
    try:
        # 生成密钥(PBKDF2核心步骤)
        kdf = PBKDF2HMAC(
            algorithm=hashes.SHA256(),
            length=32,
            salt=salt,
            iterations=600000  # 必须与加密时一致
        )
        key = kdf.derive(password)

        # 尝试解密(AES-GCM验证完整性)
        aesgcm = AESGCM(key)
        plaintext = aesgcm.decrypt(iv, data, None)
        return date_str
    except Exception as e:
        # 打印错误信息(调试用)
        print(f"密码 {password} 失败: {str(e)}")
        return None

# 生成所有可能的日期
start_date = date(1994, 1, 1)
end_date = date(1994, 12, 31)
delta = timedelta(days=1)

# 多线程加速破解
with ThreadPoolExecutor(max_workers=8) as executor:
    futures = []
    current_date = start_date
    while current_date <= end_date:
        date_str = current_date.strftime("%Y%m%d")
        futures.append(executor.submit(try_password, date_str))
        current_date += delta

    for future in futures:
        result = future.result()
        if result:
            print(f"[+] 成功破解!密码为: {result}")
            executor.shutdown(wait=False, cancel_futures=True)
            break

比赛的时候好像是直接试的,好像也没多少量,很快就试出来了,登录一下验证答案,可以进去,说明是对的

(请勿在真机上运行或分析该exe)请根据exe检材,回答问题: (9道题,共29.0分)

1. 通过分析恶意程序,找出运行该软件必要的参数是?(答案格式:--xxx-xxx) (2.0分)

--access-token

有点逆天,这道题我还在ida里面搜半天,没想到直接-h就可以出了

2.该程序为了控制最大并发数,在注册表中设置了MaxMpxCt参数,请给出设置参数的具体值。(答案格式:纯数字) (2.0分)

65533

直接用ida打开,搜索字符串

3. 该程序运行过程中会创建新的分区磁盘,请写出该分区磁盘一级目录中的文件名。(答案格式:如有字母请大写) (2.0分)

BOOT

注意需要传入参数才能运行,温馨提醒,进行这种操作之前一定要有快照保存。

4. 该程序获取计算机名时使用的kernel32库函数是什么?(答案格式:kernel32.xxx) (2.0分)

kernel32.GetComputerNameW

这题参考X1NRI师兄的wp2024数证杯决赛团体赛-恶意软件分析 | X1NRI's trashkernel32库是一个动态链接库,所以我们看ida的import项,要知道是获取计算机名,所以我们搜name,发现就两个和计算机名有关的函数,交叉引用找到函数被引用的地址,下断点。

在计算机被加密后面运行了后面这个GetComputerNameW函数,然后寄存器里出现了计算机的名称

5. 根据该程序的加密过程逻辑,已知加密文件后缀为cvz8n37,且系统中存在core_code.c文件,请写出程序在加密该文件前生成的文件名。(答案格式:xxx.cvz8n37) (3.0分)

checkpoints-core_code.c.cvz8n37

比较阴的是这个文件本身系统里面是没有的,所以我们得先创建一个。然后过滤这个文件名和进程名,就能知道了

加密过程中有中间名字,就是我们需要的

6. 该程序在提权过程中会申请多项Windows权限,请写出尝试申请的第三项权限名。(答案格式:答案格式需与实际一致) (4.0分)

SeSystemProfilePrivilege

Privilege是权限的意思,所以去ida里面搜这个,就两个,第一个应该是提权用的,第二个是看当前权限的

所以断点下在第一个这里,步进入函数,发现寄存器显示已经申请了第一项权限了

这是第二项权限

这是第三项权限

7. 该程序运行过程中获取UUID时的完整命令为?(答案格式:"D:\xxx...\xxx.exe" xx "xxx xxx xxx xxx" (4.0分)

"C:\Windows\system32\cmd.exe" /c "wmic csproduct get UUID"

直接用沙箱跑就行

如果是断网环境,那么就先分析一下,可以定位到获取uuid的位置

理论上应该可以动调看的,但是我没调出来。还有个思路是进程监控

8. 该程序存在着默认配置文件,在该配置文件中默认不加密且文件后缀为sys的文件名是?(答案格式:包含后缀名,如xxxx.sys) (4.0分)

GASS_SYS.sys

说是不加密的文件名,那就直接开搜,直接能搜到

验证一下,在config_id下面

9.请写出该程序加密文件过程中,生成私钥函数返回值内"chipher"键对应的值。 (6.0分)

55C3-5171-4C53-0439

可以搜到可疑的字段

下断点调调看就有了

请根据数据分析检材,回答以下问题: (6道题,共18.0分)

1. 分析数据库检材,请分别计算该数据库中每个用户审核通过的提现总金额,写出审核通过的提现总金额最大值; (2.0分)

343916.84

2.数据库中用户真实名称为"祝钦"的有效银行卡号是多少; (2.0分)

72282800515037280116

通过用户信息表得知用户id,然后在银行信息表里面找这个id的卡号

第二张卡是启用的

3. 请计算数据库中地址在江苏省的启用用户数量; (2.0分)

803

4. 请计算手机号字段中的号码数字"8"的数量大于等于3的用户数量; (4.0分)

2810

5. 计算每个用户审核通过的总提现金额与其总消费金额的比值,该比值大于等于0.5的用户数量是多少? (4.0分)

323

连接两个表,导出数据,进行计算统计

6. 计算uid为"20257"的用户的下线最大层级数是多少(自己为第1层,若用户A是自己的直接下线,那么此时用户A所在层级=2); (4.0分)

24

跑一个关系图,用上下层的架构,然后看哪个地方向下走的最多,就是那一支,然后数就行了

有点难数,从这个uid为30683开始往上数就行了


  1. A-Za-z ↩︎