2025 盘古石杯初赛 wp
下 载 地 址 : https://pan.baidu.com/s/1x5_chwXg_tAAQo-4CZPVVw 提取码:gihhvc密码 01tn0GdE0]BF00pT0T&f00&u0k-q0Up41UhA00N,0\-L0kRr0j-p0T&R1F&=0\Ni1GR]
手机取证 Mobile Forensics
1、分析安卓手机检材,手机的IMSI是?[答案格式:660336842291717] (1分)
460036641292715
2、养鱼诈骗投资1000,五天后收益是?[答案格式:123] (1分)
175
3、分析苹果手机检材,手机的IDFA是?[答案格式:E377D1D7-BA02-4A79-BB9A-5C2DE5BD1F17] (2分)
E477D4C7-BD02-4979-BC9D-5C5DE7BD1F17
4、Telegram应用的卸载时间是?[答案格式:2023-01-22-17:37:50] (2分)
2025-04-17 10:51:39
5、机主hotmail邮箱地址是?[答案格式:123345@hotmail.com] (2分)
hostsixer@hotmail.com
6、苹果电脑开机密码是?[答案格式:12345] (4分)
翻找截屏就可以发现
mac开机密码 12345678
7、Telegram加密通讯中,加密聊天信息用到的第二个解密载体是?[答案格式:123.zip] (4分)
提到了密语规则
在后面做mac计算机的时候发现可以在通讯录里面找到
2.mp4
查看这个视频 可以发现夹在这个视频里面的加密规则
8、贾韦码的内部代号是?[答案格式:77] (5分)
翻找office元信息 可以发现 应该是解密的结果
代号是48
9、特快专递的收货地址是?[标准格式:老牛市快速路11号ADE公司] (5分)
西红市中山路35号PGS健身房
APK取证 APK Forensics
1、分析安卓检材,远控工具包名是?[标准格式:com.app.cpp] (2分)
这两个一个是远控一个是监听的工具
com.carriez.flutter_hbb
2、远控工具中继服务器IP是?[标准格式:192.168.11.11] (2分)
一开始以为是存在数据库里面
发现这个软件的data目录下是没有数据库的
翻找一下发现
目录下面有配置文件
这个文件存了相关的文件
59.110.10.229
3、远控工具ID服务器端口是?[标准格式:8088] (2分)
21116
4、远控工具中继服务器Key是?[标准格式:HoTwGxUuV9OxSSEWRFsr1DVxQBkbbFRe0ImYMTlzyec=] (2分)
WIUqzRq1Ocx4QNnsF26dZQijKdyd2L9OfaT55hDlQCI=
5、远控工具中收藏的远程ID是?[标准格式:123456] (2分)
这个在下面的配置文件里面
1807892422
6、远程控制该手机的手机型号是?[标准格式:huawei-Hot] (2分)
google-Pixel
7、监听工具包名是?[标准格式:com.app.cpp] (2分)
com.example.liekai
8、监听工具代码主入口是?[标准格式:com.app.cpp.MainActidddy] (2分)
com.example.liekai.MainActivity
9、监听工具的签名算法是?[标准格式:AES123RSA ] (1分)
SHA256RSA
10、监听工具运行多少秒后会跳转成黑色幕布?[标准格式:3.000] (3分)
11、监听工具运行后,黑色幕布上字符串是?[标准格式:aes取证平台] (4分)
12、监听工具检测到多少分贝开始录音?[标准格式:30] (4分)
70
13、监听工具录音连续几秒没有检测到声音停止录音?[标准格式:3] (4分)
4
14、监听工具保存文件存储路径的数据库名称是?[标准格式:sqlite.db] (2分)
recordings.db
15、监听工具保存录像文件的文件夹是?[标准格式:file] (4分)
16、监听工具数据库中保存音视频文件的路径使用什么加密?[标准格式:Rsa] (5分)
17、录音的文件采用什么加密方式?[标准格式:RC4-123] (5分)
18、录像文件加密秘钥的最后一位是?[标准格式:0x6A] (5分)
19、原始文件md5为3b4d****55ae的创建时间是?[标准格式:2024-2-14-16:32:8] (5分)
计算机取证 Computer Forensics
1、分析贾韦码计算机检材,计算机系统Build版本为?【标准格式:19000】 (1分)
18362
2、计算机最后一次正常关机的时间为?UTC +0【标准格式:2025-05-06 09:00:00】 (1分)
2025-04-18 11:20:54
3、计算机网卡的MAC地址为?【标准格式:00-0B-00-A0-00-00】 (1分)
00-0C-29-0F-69-00
4、计算机用户“贾韦码” 安全标识符SID为?【标准格式:S-X-X-X-X-X-X-X】 (1分)
S-1-5-21-3733482367-3411043098-2536183883-1001
5、计算机默认浏览器为?【标准格式:Mozilla Firefox】 (1分)
Google Chrome
6、计算机默认浏览器版本为?【标准格式:000.0.0000.00】 (1分)
135.0.7049.96
7、机主通过浏览器搜索国外社交软件为?【标准格式:Whatsapp】 (1分)
telegram
8、机主的邮箱账号为?【标准格式:pgscup@pgs.com】 (3分)
tqmdavidjohnson300@gmail.com
9、计算机装过一款反取证软件为?【标准格式:EnCrypt.exe】 (1分)
VeraCrypt.exe
10、计算机通过Xshell远程连接的ip地址为?【标准格式:127.0.0.1】 (1分)
192.168.56.129
11、机主曾买过一个美国的TG账号,请给该账号的原两步验证密码?【标准格式:8位数字】 (2分)
13770603
12、给出其电脑内加密容器的解密密码?【标准格式:Abc@123】 (5分)
用3d案件给的信息 就是加密规则是Pgs????d3j
可以找到密码
Pgs8521d3j
13、给出其电脑内加密容器挂载的盘符?【标准格式:C】 (3分)
F
存在一个新的盘符打开记录
就知道是F
14、给出其电脑内存放了多少张伪造身份证?【标准格式:10】 (4分)
挂载上F就可以看到
1023
15、找出任敏的身份证编号?【标准格式:18位】 (4分)
3.jpg可以找到
430529195112085460
16、找出其电脑内存放的密钥文件,计算其MD5?【标准格式:字母小写】 (5分)
全局搜索keyfile可以找到这个文件keyfile.keyfile的rar压缩包
然后就是把这个导出来
新文件以.rar命名 然后就可以解压
1022cc083a4a5a9e2036065e2822c48e
17、找出其电脑内存放的密钥文件,解密此密钥文件,给出其内容?【标准格式:第3届pgscup】 (5分)
zfs加密pool密钥文件
18、对macOS系统进行解析,登陆的电子邮件服务是谁提供的?【标准格式:pgscup】 (1分)
hotmail
19、系统备忘录的包名是什么?【标准格式:com.dfefef.note】 (2分)
com.apple.Notes
20、图片中隐藏的内容是什么?【标准格式:隐藏内容 厨子戏子痞子】 (4分)
这里是3.png存在文件隐写 点一点就可以发现一个二维码
扫出来的文字是
位移加密 正向位移操作
21、被加密文件的扩展名是什么?【标准格式:123】 (1分)
发现一个加密器
下面是个rar的文件
去掉enc看看能不能打开
发现是加密的 所以可以出来加密文件是
.enc结尾的
enc
22、被加密的文件总共有几个?【标准格式:5】 (5分)
只发现有1个
23、贾韦码家使用的智能门锁品牌型号是什么?【标准格式:小米X号】

在苹果手机里面可以找
金刚I号
但是答案没有这么简单
在苹果应用取证 解密那个enc之后会发现大有不同
写一个解密的脚本
import os
from Crypto.Cipher import AES
import hashlibclass DecryptionTool:def __init__(self):self._generate_key()def _generate_key(self):# 复现加密时的密钥生成过程actual_key = 'SecureKey123456'self.enhanced_key = self.enhance_key(actual_key)def enhance_key(self, key):# 完全复现加密时的密钥增强过程round1 = self._add_salt(key)round2 = self._ascii_transform(round1)round3 = self._xor_transform(round2)round4 = round3[::-1]final_key = hashlib.md5(round4.encode()).digest()return final_keydef _add_salt(self, key):salt_components = ['salt', '_', 'value']return key + ''.join(salt_components)def _ascii_transform(self, text):result = ''for i in range(len(text)):ascii_val = ord(text[i])if i % 3 == 0:result += chr((ascii_val + 7) % 256)elif i % 3 == 1:result += chr((ascii_val ^ 15) % 256)else:result += chr(ascii_val * 5 % 256)return resultdef _xor_transform(self, text):xor_keys = ['XorKey123456789', 'AnotherKey987654']result = textfor xor_key in xor_keys:temp = ''for i in range(len(result)):temp += chr(ord(result[i]) ^ ord(xor_key[i % len(xor_key)]))result = tempreturn resultdef unpad_data(self, data):padding_length = data[-1]return data[:-padding_length]def decrypt_file(self, input_file, output_file=None):if not output_file:if input_file.endswith('.enc'):output_file = input_file[:-4]else:output_file = input_file + '.dec'try:with open(input_file, 'rb') as f:file_data = f.read()# 提取IV(前16字节)iv = file_data[:AES.block_size]encrypted_data = file_data[AES.block_size:]cipher = AES.new(self.enhanced_key, AES.MODE_CBC, iv)decrypted_data = self.unpad_data(cipher.decrypt(encrypted_data))with open(output_file, 'wb') as f:f.write(decrypted_data)return (True, output_file)except Exception as e:return (False, str(e))# 使用示例
if __name__ == '__main__':def main():import argparseparser = argparse.ArgumentParser(description='File Decryption Tool')parser.add_argument('-i', '--input', required=True, help='Encrypted input file')parser.add_argument('-o', '--output', help='Output file path')args = parser.parse_args()decryptor = DecryptionTool()success, result = decryptor.decrypt_file(args.input, args.output)if success:print(f'Decryption successful! Output file: {result}')else:print(f'Decryption failed: {result}')main()
可以把enc文件解密
其实是
金刚金刚Ⅲ号
EXE取证 PE Binary Forensics
1、分析Windows木马,其控制端ip是?[标准格式:192.168.1.11] (2分)
首先很明显确定这个exe是
lupg.exe
104.18.45.79
2、软件会复制自身到哪个文件夹下?[标准格式:DaTa] (2分)
都在这个文件夹下 SubDir
3、接上题,复制后软件名称是?[标准格式:AppTmp.exe] (3分)
BwAcr.exe
4、软件一共可以窃取多少种浏览器的信息?[标准格式:3] (4分)
6
5、软件查询安装的杀毒软件出错或异常会返回什么字符串?[标准格式:Apps] (3分)
Unknown
苹果应用取证 macOS Apps Forensics
1、对mac电脑中的加密程序进行分析,使用了一个特定的数作为密钥生成的种子,请问这个数是什么?【标准格式:1234】 (4分)
先找到这个加密原理的脚本
找一个在线pyc反编译的网站 encrypt_deobfuscated.pyc - PyLingual 反编译一下
得出来的结果
import os
import sys
import tkinter as tk
from tkinter import filedialog, messagebox
from Crypto.Cipher import AES
import base64
import hashlib
import time
import randomclass EncryptionTool:def __init__(self):self._generate_key()def _generate_key(self):seed_values = [(19, 7, 83), (5, 31, 69), (13, 11, 86), (41, 3, 76), (2, 57, 55), (23, 5, 96), (17, 13, 58), (29, 7, 94), (11, 19, 102), (7, 17, 42), (43, 3, 48), (37, 11, 51), (3, 43, 52), (59, 7, 53), (47, 5, 54)]key_parts = []for a, b, base in seed_values:val = (a * b % 60 + base) % 256if val % 2 == 0:val = (val + 13) % 256else:val = (val + 7) % 256key_parts.append(chr(val))scrambled = []indices = [3, 7, 2, 12, 0, 11, 5, 14, 9, 1, 6, 4, 10, 8, 13]for idx in indices:scrambled.append(key_parts[idx])raw_key = ''.join(scrambled)timestamp = int(time.time()) % 1000random_val = random.randint(1, 255)entropy = chr(timestamp % 256) + chr(random_val)temp_key = hashlib.sha256((raw_key + entropy).encode()).digest()self._descramble_key(temp_key)def _descramble_key(self, temp_key):mixed_base = b''.join([bytes([b ^ 42]) for b in temp_key[:10]])actual_key = 'SecureKey123456'self.enhanced_key = self.enhance_key(actual_key)def enhance_key(self, key):round1 = self._add_salt(key)round2 = self._ascii_transform(round1)round3 = self._xor_transform(round2)round4 = round3[::-1]final_key = hashlib.md5(round4.encode()).digest()return final_keydef _add_salt(self, key):salt_components = ['salt', '_', 'value']return key + ''.join(salt_components)def _ascii_transform(self, text):result = ''for i in range(len(text)):ascii_val = ord(text[i])if i % 3 == 0:result += chr((ascii_val + 7) % 256)elif i % 3 == 1:result += chr((ascii_val ^ 15) % 256)else:result += chr(ascii_val * 5 % 256)return resultdef _xor_transform(self, text):xor_keys = ['XorKey123456789', 'AnotherKey987654']result = textfor xor_key in xor_keys:temp = ''for i in range(len(result)):temp += chr(ord(result[i]) ^ ord(xor_key[i % len(xor_key)]))result = tempreturn resultdef pad_data(self, data):block_size = AES.block_sizepadding_length = block_size - len(data) % block_sizepadding = bytes([padding_length]) * padding_lengthreturn data + paddingdef unpad_data(self, data):padding_length = data[-1]return data[:-padding_length]def encrypt_file(self, input_file, output_file=None):if not output_file:output_file = input_file + '.enc'try:cipher = AES.new(self.enhanced_key, AES.MODE_CBC)iv = cipher.ivwith open(input_file, 'rb') as f:file_data = f.read()padded_data = self.pad_data(file_data)encrypted_data = cipher.encrypt(padded_data)with open(output_file, 'wb') as f:f.write(iv + encrypted_data)return (True, output_file)except Exception as e:return (False, str(e))class EncryptionGUI:def __init__(self, root):self.root = rootself.root.title('File Encryption Tool')self.root.geometry('500x300')self.root.resizable(False, False)self.encryptor = EncryptionTool()self.setup_ui()def setup_ui(self):file_frame = tk.Frame(self.root, pady=20)file_frame.pack(fill='x')tk.Label(file_frame, text='Select File to Encrypt:').pack(side='left', padx=10)self.file_path = tk.StringVar()tk.Entry(file_frame, textvariable=self.file_path, width=30).pack(side='left', padx=5)tk.Button(file_frame, text='Browse', command=self.browse_file).pack(side='left', padx=5)action_frame = tk.Frame(self.root, pady=20)action_frame.pack()tk.Button(action_frame, text='Encrypt File', command=self.encrypt_file, bg='#4CAF50', fg='white', width=15, height=2).pack(pady=10)status_frame = tk.Frame(self.root, pady=10)status_frame.pack(fill='x')self.status_var = tk.StringVar()self.status_var.set('Ready')tk.Label(status_frame, textvariable=self.status_var, bd=1, relief=tk.SUNKEN, anchor=tk.W).pack(fill='x', padx=10)def browse_file(self):filename = filedialog.askopenfilename(title='Select File to Encrypt')if filename:self.file_path.set(filename)def encrypt_file(self):file_path = self.file_path.get()if not file_path:messagebox.showerror('Error', 'Please select a file first!')returnself.status_var.set('Encrypting...')self.root.update()success, result = self.encryptor.encrypt_file(file_path)if success:self.status_var.set(f'Encryption complete! Output: {result}')messagebox.showinfo('Success', f'File encrypted successfully!\nOutput: {result}')else:self.status_var.set(f'Encryption failed: {result}')messagebox.showerror('Error', f'Encryption failed: {result}')def main():root = tk.Tk()app = EncryptionGUI(root)root.mainloop()
if __name__ == '__main__':main()
42
2、分析文件头部元素并确定它们的正确顺序。将字段名称按顺序连接并提交?【标准格式:字段1_字段2_字段3...】 (5分)
这里也可以验证前面的 .enc
这里答案是
iv_encrypted_data
3、密钥派生过程中使用了几个算法步骤。其中一个函数使用了与其实际功能不符的名称。找出这个函数名并提交?【标准格式:函数名】 (5分)
丢给ai
_descramble_key
4、程序中实现了一个故意减慢加密过程的机制,延迟值是多少?【标准格式:1.1】 (5分)
5、程序中隐藏了一个版本标识符,请找出版本号?【标准格式:v1.1.1】 (5分)

0.28.0
物联网取证 IOT Forensics
1、分析冰箱,请问智能冰箱的品牌?【标准格式:xiaomi】 (2分)
Panasonic
2、请问智能冰箱的型号?【标准格式:MiFridge2024】 (1分)
搜索一下是不是型号
应该是对的
NR-E46CV1
3、请找智能冰箱的uuid?【标准格式:34567890-12cd-efab-3456-789012cdefab】 (4分)
做完发现松下和型号下面的这一行是没有用过的
按照格式填一下
12345678-90ab-cdef-1234-567890abcdef
4、请问智能冰箱默认保存几张图片?【标准格式:1】 (5分)
先用010查一下jpg的标志头 FFD8FF
发现前面有face的标志
接着搜索一下face
默认应该是有5张face
5、请问冰箱中已存的第一张图片上的内容是什么?【标准格式:满城尽带黄金甲】 (4分)
这里我们用一个分离文件的软件
foremost
四张图片被分离出来了
第一张图片写的是
盘古石杯贾韦码
6、请问冰箱中已存的第二张图片的名称是什么?【标准格式:123.jpg】 (4分)
图片本身的exif信息中是不会存储图片的名称的
所以应该是前面的face2
答案应该是face2.jpg
7、请找冰箱中隐藏的内容?【标准格式:chuzixizipizi】 (5分)
这里可以通过搜索和盘古石相关的东西 直接搜到这个
pangushicup
或者使用strings
8、请找出冰箱中嫌疑人图片MD5值的后六位?【标准格式:1a2b3d】 (5分)
jws是这个嫌疑人
882564
9、请找出冰箱最后一次开门时间?【标准格式:10:11】 (5分)
看别人的wp 这里其实可以猜一猜
看到enc解密的文件夹里面也存了face1.jpg
所以可以知道 应该是相当于一个栈的 最后的拍摄照片变成了1
然后查看那个enc图片的1.jpg修改时间
15:48
10、默认图片的存储限制大小是多少?【标准格式:1KB】 (5分)
4个图片的位移是100KB左右
应该是100KB
11、分析video.E01,被修改的录像md5前5位是?【标准格式:1a2b3】 (4分)

看这四个视频 发现 注意第一个视频的前5s左上角的时间 是没有变的 然后过了5s进行了快进
说明被篡改过
fa3b6