PolarEDF电子取证2026秋季个人挑战赛(write up)
计算机取证1. 在制作 E01 取证镜像时取证人员对原始证据和生成的镜像文件分别计算了 MD5 和 SHA-1 哈希值并进行比对。这一操作的主要目的是BA. 确保镜像文件可以被 Autopsy 等工具正常打开和解析B. 验证镜像文件与原始证据的数据完全一致防止证据被污染或篡改C. 确认原始磁盘没有坏道或物理损坏D. 计算镜像的存储占用空间以便后续归档管理读取注册表2. 根据电子数据取证的相关法律法规和行业规范以下关于电子证据的说法哪一项是正确的CA. 电子证据容易被篡改因此必须经过公证才能作为定案依据B. 取证人员可以直接对嫌疑人的原始硬盘进行分析只要事后出具情况说明即可C. 电子证据必须附有完整的取证记录、哈希校验值和操作日志形成完整的证据保管 链才具备法律效力D. 只要使用正版取证软件提取的电子证据就天然具备法律效力无需其他佐证3. 获取Build 内部版本号。例12345.6789查看基本信息19045.64664. 写出嫌疑人日常登录系统的用户名字母全拼小写。查看登录信息发现是 zhaojingchen5. 提取 Edge 浏览器历史记录给出查找OpenClaw 介绍的链接完整 URL。(例: https://zhidao.baidu.com/1/2/123.txt)看一下历史记录得到urlhttps://openclaw.cocoloop.cn/wiki/zh/index.html6. 第一个时间变更后的新系统时间例1111-11-11 11:11:11,UTC8。查看你一下系统变更记录2026-07-11 11:09:26,UTC8不知道为什么不对。答案最后是2026-07-11 11:09:26没有后面的东东仿真后WinR eventvwr.msc 回车打开事件查看器。查看了 newtime 也是这个7.找到一个压缩包解压后读取里面的通信端口。这个在最近访问项目可以看到或者仿真之后此电脑--文档里面也有.或者仿真之后查看最近使用文件打开看一下 80808. 获取server.exe最后运行的时间。例1111-11-11 11:11:11这个看应用程序运行时间2026-07-11 14:22:06运行了 3 次9. 写出网关开启流量中转的首次时间。例1111-11-11 11:11:11和第七题同理在最近访问中可以看到2026-09-02 20:10:0010. 获取server.exe程序一共运行的次数。见第八题311. 他们交流有关线下联络的秘密信息发出者的用户名是什么例abc_def_012这个在这里找到了base64 解码一下可以得到TGwzy_dev_09112. 所有参与人员中谁分红最多。字母全拼小写例laomao。还有一个 account.log 看文件名就可以知道在这里面确实有账单但是并没有说分红往下看到了分成预结算 totg应该是个密码因为前面就省下了个 c.rar 压缩包刚好就是加密的打开看一下分红最多的是自己zhaojingchen13. 分析下载记录下载了一个解压软件它的图形界面版exe完整路径。例D:\Program Files\123\123.exe这个应该是文件管理系统的图形化界面C:\Program Files\7-Zip\7zG.exe这个才是软件图形化界面14. 获取受害者李沐阳被骗的总金额(格式阿拉伯数字)。见十二题4300015. 见面暗号是什么本来以为跟压缩包目录下的那个图片有关系半天发现没啥用最后在 account.txt 中发现了零宽隐写最近刚入门 misc这种题还不是很熟悉好像零宽隐写方式很多。让 ai 写了一个工具来解决下次结算0910 暗号hellobrothersisterpartner手机取证1. 根据安卓.tar该手机型号是什么答案格式A1234B5C)查看基本信息M2011K2C2. 根据安卓.tar该手机的设备 WLAN MAC地址(答案格式00:0A:00:00:00:00)基本信息50:8E:49:47:73:323. 根据安卓.tar优赚企划专员的qq号是多少答案格式1234567899查看 qq 联系人35518525664. 根据安卓.tar李沐阳与优化专企专员的聊天记录中发现可疑的docx文档兼职工作说明根据线索找到最终flag答案格式flag{123_Abcd_Ef_Qwertyu_Asdfg}flag{903_Claw_AI_Malware_Trace}见第 14 题给的 docx 文档的作用在哪...非预期解么5. 2026-7-12-19:06:50发送的内容MD5值是多少答案格式1sfs234679666adsdc在聊天记录里面找这个时间拖出来计算一下 hash 即可80fb20f33de83dad0222c0d0ba80d7746. 蓝牙的Mac地址答案格式000000000000查看蓝牙连接记录41:42:B2:D2:83:C97. 嫌疑人曾在手机搜索过电脑远控的记录请问用的什么浏览器答案格式火狐浏览器查看所有浏览器的历史记录发现是 Edge 浏览器8. 9-03”专案组在对涉案手机进行深度电子取证时发现一款专为安卓用户打造的智能后台管理工具无需 Root 权限的软件请写出其包名答案格式com.xiaomi.market在apk中查找发现一个可疑的黑阀上网搜索相关资料得知黑阈/黑阀 Brevent免 RootADB 激活强停App Standby包名 me.piebridge.brevent9. 综上嫌疑人一共敲诈了受害者多少钱答案格式6666666查看聊天记录得知是 1300010. 收到的验证码是多少答案格式123456查看短信55667211. 屏幕使用时长最长的软件是什么答案格式抖音查看app使用时长答案是qq12.总计使用流量最多的软件包名是什么答案格式com.microsoft.emmx查看网络流量使用情况最多的是应用商店com.xiaomi.market13. 玻璃酸钠滴眼液的产品型号答案格式12345678在基本信息里面的图片1125090114. VC容器的挂载密码是多少答案格式123456比便签里面有个密码cqygfxgfst试了一下不找到了 vc 容器诶嘿.txt这么大肯定是 vc 容器早期 Android 设备/sdcard直接对应插入的物理 microSD 卡用于存放照片、音乐、下载文件等用户数据。现代手机无物理 SD 卡槽/sdcard实际上是指向/storage/emulated/0的符号链接这是系统从内部存储中划分出的一个模拟 SD 卡分区用于兼容旧应用的文件读写逻辑。或者在这里可以找到后面看到这个 luotianyiofficial 的目录下的照片居然有个 flag没想到是第四题的答案这里第二个文件导出来解压发现还有个压缩包 pass.zip 可能里面有 vc 密码但是被加密了用了前面的密码不对最后是用 bkcrack 破解破解要求是:至少12 字节已知明文其中至少8 字节必须连续。单文件、无注释 ZIP 的 EOCD前 12 字节固定为50 4B 05 06 00 00 00 00 01 00 01 00偏移值字段说明0–350 4B 05 06签名4–500 00当前磁盘号6–700 00中央目录所在磁盘号8–901 00本磁盘上的中央目录条目数1个文件10–1101 00中央目录总条目数1个文件有了这些就可以动手破解 zip 了建立二进制明文文件$known [byte[]](0x50,0x4B,0x05,0x06,0,0,0,0,1,0,1,0) [IO.File]::WriteAllBytes(.\known_eocd.bin, $known)恢复 ZipCrypto 内部密钥.\bkcrack -C .\0a00000000007dbeb15cf346.zip.txt -c pass.zip -p .\known_eocd.bin -o 151 -x 171 0000恢复结果Keys: 4d9b256a 5eb05e2a 76c850f2解出pass.zip.\bkcrack -C .\0a00000000007dbeb15cf346.zip.txt -c pass.zip -k 4d9b256a 5eb05e2a 76c850f2 -d .\pass.zipOCBill15. vc容器中图片隐藏的信息是什么答案格式路明非挂载一下查看照片发现给出了提示写一个脚本来解决from pathlib import Path import numpy as np import zxingcpp from PIL import Image SOURCE Path(oo.png) OUTPUT_DIR Path(qr_output) TILE_SIZE 128 # (标签, RGB 通道下标, 位序号) # 通道下标R0, G1, B2位序号 0 表示最低有效位 LSB。 MAPPING [ (R0, 0, 0), (G0, 1, 0), (B0, 2, 0), (R1, 0, 1), (G1, 1, 1), (B1, 2, 1), (R2, 0, 2), (G2, 1, 2), (B2, 2, 2), ] def main() - None: OUTPUT_DIR.mkdir(exist_okTrue) # shape 为 (高度, 宽度, 3)每个通道的取值范围是 0~255。 source np.asarray(Image.open(SOURCE).convert(RGB), dtypenp.uint8) # 最终二维码由 3×3 个 128×128 tile 组成。 assembled np.full( (TILE_SIZE * 3, TILE_SIZE * 3), 255, dtypenp.uint8 ) for index, (label, channel, bit) in enumerate(MAPPING): # 右移 bit 位再与 1提取该位。按照题意1 显示为白0 显示为黑。 plane ((source[:, :, channel] bit) 1).astype(np.uint8) * 255 # 保存完整位平面便于观察左上角的二维码碎片。 Image.fromarray(plane, modeL).save(OUTPUT_DIR / fplane_{label}.png) # 每个 tile 都从位平面的像素 (0, 0) 开始。 tile plane[0:TILE_SIZE, 0:TILE_SIZE] Image.fromarray(tile, modeL).save(OUTPUT_DIR / ftile_{label}.png) # 顺序依次为R0 G0 B0 / R1 G1 B1 / R2 G2 B2。 tile_row, tile_col divmod(index, 3) y0 tile_row * TILE_SIZE x0 tile_col * TILE_SIZE assembled[y0 : y0 TILE_SIZE, x0 : x0 TILE_SIZE] tile # 保存原始拼接图以及放大 4 倍、方便查看/扫码的版本。 qr_image Image.fromarray(assembled, modeL) qr_image.save(OUTPUT_DIR / assembled_qr.png) qr_image.resize( (TILE_SIZE * 12, TILE_SIZE * 12), resampleImage.Resampling.NEAREST ).save(OUTPUT_DIR / assembled_qr_4x.png) # 解码并直接读取原始字节避免某些解码器错误处理二维码的 ECI/中文编码。 results zxingcpp.read_barcodes(assembled) if not results or not results[0].valid: raise RuntimeError(二维码拼接成功但解码失败) raw results[0].bytes text raw.decode(utf-8) report fUTF-8 hex: {raw.hex()}\n二维码内容: {text}\n (OUTPUT_DIR / result.txt).write_text(report, encodingutf-8) print(report, end) if __name__ __main__: main()我是林七夜我会斩神16. 手机中安装的优企管家软件的Report 模块使用的 seed 字符串是什么答案格式xxx-xxx-xx)在app分析中找到相关apk进行分析在这里可以看到verifyreport模块中的seed是module-report-v217. 接上题Raw 模块读取的密文来自 APK 中哪个文件APK内的完整路径答案格式xxx/xxx/xxx.xx在这里可以找到相关信息文件是.raw.report找一下相关文件得到目录res/raw/report.bin18. 接上题Payroll 模块参与 AES key 派生的业务 path 是什么答案格式xxx/xxx/xxx.xx在这里可以找到AES的相关逻辑这里很明显有一个路径payroll/aes/v3/offline也有相关AES的key的相关逻辑所以判断答案是payroll/aes/v3/offline19. Settlement 模块动态加载的校验类完整类名是什么(答案格式xxx.xxx.xxx.xxxxxx在这里可以分析出在 verifySettlement 方法中是先解密 assets/settlement.pkg 为 dex 文件再通过 DexClassLoader 动态加载 com.youqi.sec.LicenseGate 类并调用其 verify(String) 方法。所以答案是com.youqi.sec.LicenseGate20. Audit 模块读取 /proc/self/status 中哪个字段判断是否被 trace(答案格式xxxxxx)这块的逻辑就是 isTraced() 方法读取了 /proc/self/status 文件并搜索 TracerPid: 字段如果其值不为 0 则判定为被 trace所以答案是TracerPid服务器取证说明从第一题开始本来想着仿真后好做题但是发现仿真后登陆上宝塔一直报错里面什么都没有所以就是纯在文件里面找答案都可以做出。1.查看已启用的 nginx 站点名称格式aaaaaa在文件系统里面/etc/ngnix/enable-siets目录下看一下启动的site名称是mysite2. 查看 nginx 站点配置找到静态文件根目录路径(格式/etc/cloud)在这里看见了静态文件root目录/var/www/mysite/frontend3. 服务器定时任务中有一个以人名命名的调度文件背后是著名的密码破解工具这个人名是什么格式aaaa在定时任务目录下。看到了john这是著名密码破解工具 John the Ripper。4. 除 root 以外唯一拥有有效登录 shell 的用户名是什么(格式aaaaa)在/etc/passwd下找到了相关记录发现还有一个 admin5. 服务器所在的时区城市是哪里格式American在基本信息的时区里面是 Shanghai6. 后台配置文件中隐藏了后门验证凭证请找到该凭证(格式flag{xxxxxxxxxxxxxxxx})在config.php下找到了flagflag{2d77f13aef65f06fc0d55f9ea8d58351}7. 诈骗平台数据库中存储了用户信息统计共有多少名注册用户并找到隐藏的关键证据标志(格式flag{xxxxxxxxxxxxxxxxx})这里就肯定是要查看数据库了翻到后面看到了flagflag{7c67e12cad8dc09067a04f275ef2ee96}8. 管理员在销毁证据的过程中留下了关键证据标志请找到该标志(格式flag{xxxxxxxxxxxxxxxxxxxxxxxxx})销毁证据那应该就是在用户的日志文件中会有体现在第六题的目录那里有日志文件打开搜索一下flagflag{7e66f7c31e7a4b6c8ac2f9898fbb1f68}9. 管理员发现 AI 服务访问日志 ai_server.log 被人为篡改——攻击者删除了某条关键的越狱绕过检测记录,试图掩盖第一次 jailbreak 尝试。但在备份文件 ai_server.log.bak 中仍保留了完整记录。请比对两份日志,找出被删除记录对应的越狱绕过的类型名称(bypass 字段的值,格式:aaaa_aaaaa这个就简单了直接比对一下两个文件发现了不一样的Bypass detected: jailbreak_ignore答案即是jailbreak_ignore10 被删除记录对应的时间戳(格式:YYYY-MM-DD HH:MM:SS)见上题的时间戳2026-07-06 21:53:4111. 文件分析系统的管理员密码是什么格式Aas123-2026在securecorp目录下发现了ai server等相关内容这还有个bin目录下的文件ida 反汇编一下查看do_login得到密码s3cur3corp_admin_2025!12. 栈溢出覆盖返回地址求 username 缓冲区到返回地址的偏移量格式12不难知道 username 就是 v9 可以看到是 0x20(32 字节)返回地址固定占 8 字节计算一下偏移量0x20 0x8 0x28 4013. 管理员删除了数据库中的充值记录以毁灭证据请恢复被删除的数据找到隐藏的关键证据格式flag{xxxxxxxxxxxxxxxxxxxxxx}找到相关的数据库文件finance.db用hxd打开搜索一下flag得到flag{513ffed8fab237ea30fd9ce7ce5662d7}14. 后台管理页面源代码中暗藏了 Webshell 后门请分析代码找到后门验证凭证(格式flag{xxxxxxxxxxxxxxxxxx})查看一下相关的php文件发现了flagflag{491b63ebbc8445a28b919f7db3da93d8}15. 服务器上发现一份网络抓包文件分析其中的 HTTP 流量找出泄露的认证凭据和关键证据标志(格式flag{xxxxxxxxxxxxxxxxxxx})找到抓包流量用wireshark打开直接搜索一下flag{就可以得到flagflag{d4t4_l34k_v1a_http_p0st_9527}16. 服务器认证日志备份中发现大量暴力破解记录找到成功爆破 root 密码的攻击来源和凭证(格式flag{xxxxxxxxxxxxxxxxxxxxxxxxx})找到相关日志文件搜素flagflag{brut3_f0rc3_ssh_f0und_8842}17. 日志显示 ghost-backup 模型的隐藏 GHOST PROTOCOL 被多次触发。请综合分析 ai_server.log 与 ai_server.log.bak,找出两份日志中 [!] GHOST PROTOCOL ACTIVATED! 出现的总次数(格式1)搜素以下ghost这里有两个备份文件里面也搜索一下还有一个一共 3 个18. 在同一份抓包文件中发现大量异常 DNS 查询有人利用 DNS 协议将数据外泄到外部服务器请提取外泄数据并还原证据标志(格式flag{xxxxxxxxxxxxxxxxxxxxxxxxx})分析流量包tshark -r capture_final.pcap \-Y dns.flags.response 0 dns.qry.name \-T fields \-e frame.number \-e frame.time_relative \-e ip.src \-e ip.dst \-e dns.qry.type \-e dns.qry.name提取一下全部 DNS 查询再处理重复查询tshark -r capture_final.pcap \-Y dns.flags.response 0 ip.src 127.0.0.1 ip.dst 127.0.0.53 dns.qry.type 1 dns.qry.name contains evil.c2server.xyz \-T fields \-e frame.number \-e dns.qry.name最后按照帧号提取数据片段帧号DNS查询名Hex片段ASCII558666c.evil.c2server.xyz666cfl5616167.evil.c2server.xyz6167ag5637b64.evil.c2server.xyz7b64{d5756e73.evil.c2server.xyz6e73ns5845f33.evil.c2server.xyz5f33_35947866.evil.c2server.xyz7866xf604316c.evil.c2server.xyz316c1l6365f74.evil.c2server.xyz5f74_t6527234.evil.c2server.xyz7234r46626666.evil.c2server.xyz6666ff6863163.evil.c2server.xyz31631c6985f66.evil.c2server.xyz5f66_f7153075.evil.c2server.xyz30750u7276e64.evil.c2server.xyz6e64nd7397d.evil.c2server.xyz7d}拼接一下666c61677b646e735f337866316c5f747234666631635f6630756e647d解码得到flag{dns_3xf1l_tr4ff1c_f0und}19. 检材中有一份 IoT 路由器固件镜像 router_fw.bin提取文件系统找到隐藏的 WiFi 配置凭证(格式flag{xxxxxxxxxxxxxxxxxxxxxxxx})在这里找到路由器固件镜像router_fw.bin用 binwalk 解包一下sudo binwalk -e --run-asroot router_fw.bin查看解包后的文件在这里找到 flagflag{i0t_f1rmw4r3_dump_m4st3r_3398}20. 检材中有一份无线网络抓包文件 包含 WPA2 四次握手数据。请破解该 WiFi 密码(格式flag{xxxxxxxxx})打开流量包WPA2 的握手报文本身不加密只有 MIC 是校验指纹。所以下面这些可以直接读出来字段值来源SSIDlinksysBeacon 帧AP/BSSID00:0b:86:c2:a4:85802.11头STA00:13:ce:55:98:ef802.11头ANonceae12a150...f448af85消息1SNoncee8dfa16b...343e8dd2消息2MIC56f98b98da5d55e3be396b43c7eb012a消息2wlan.ssid → SSID (linksys) 和 Address 3 (BSSID) eapol → 看 Info 列 Message N of 4 帧 50 的 WPA Key Nonce → ANonce 帧 51 的 WPA Key Nonce → SNonce 帧 51 的 WPA Key MIC → MIC 帧 51 的 Key Information → 0x010a确认 KDV2然后WPA2 故会把密码经过一次 慢哈希 才变成密钥这个是固定的慢哈希是 WPA2 的 结构性弱点PMK PBKDF2-HMAC-SHA1(passphrase, SSID, 4096 次迭代, 32 字节//4096 次迭导致只能用字典暴力破解不能反推MIC 的产生逻辑PMK PBKDF2-HMAC-SHA1(pw, linksys, 4096) PTK PRF-512(PMK, Pairwise key expansion, min(AP,STA) ‖ max(AP,STA) ‖ min(ANonce,SNonce) ‖ max(ANonce,SNonce)) KCK PTK[0:16] ← 前 16 字节 MIC HMAC-SHA1(KCK, EAPOL-消息2 帧, MIC 字段填 0)[0:16]让 ai 生成一个脚本用 rockyou 字典来爆破即可最后得到密码是 dictionaryflag{dictionary}