第八届浙江省大学生网络与信息安全竞赛 初赛 红头文件之谜
红头文件之谜
一份即将发布的战略规划(红头文件)疑似被境外APT组织窃取,调查人员在对方的服务器上找到了一个被破坏的WPS文档碎片以及零散的系统日志和流量,你能发现其中隐藏的flag吗?
下载得到一个QAQ.wps,一个system_log.hex和一个1.zip。
其中1.zip是加密的。看到wps,我蠢蠢地就去虚拟机上下载了wps,以为能够用wps打开。正所谓一步错,步步错,在第一步上翻车,我也只好去看wp了。
好吧,原来是把这个.wps文件转换为压缩包。众所周知,docx文件的本质就是压缩包,那么,.wps文件应该也是吧。使用010Editor打开,发现是一个缺少了文件头的zip:
那还说啥了,直接补上50 4B 03 04就得了。不过我对于在010Editor中插入字节有点疑问。为啥只能一个字节一个字节的插入?是我打开方式不对吗?
插入,并重命名为.zip。
打开可以发现里面有一个app.xml,用记事本打开。
在这里又猪脑过载了。看到XOR_key,但是不知道是啥跟啥XOR??我还以为是Adm1n和2025异或💦
是原文和XOR_key异或,得到system_log.hex啦!根据异或的可逆性,只要再把system_log.hex和XOR_key异或就能得到原文了。
这里使用cyberchef内置的XOR就可以了。首先拉一个from HEX的recipe,把hex转化为binary,这样才能异或嘛!但是为啥cyberchef显示的是utf-8字符?因为utf-8才可能是“人类的语言”啊,相当于cyberchef自动把转化得到的binary再次转为utf-8显示了。
然后再拉一个XOR的recipe。
这样我们就解密得到了看得懂的system log。从中可以看到一串base64的zip密码,对这个密码使用from base64 recipe即可。
得到zip密码:eXywHM0F4YypMhl0。打开1.zip,可以获得一个流量包。乍一看好像里面的流量都差不多。看看详细信息,发现似乎有许多“噪音”–“noise”。于是我就一个一个详细信息地看过去,直到看到了这一条……
停停停,这样有点麻烦了。可以点击info进行排序,你就会发现突破口就是唯一的那个POST流量。
挖藕我看到了什么?是SM4加密哦。既然有了key和iv(初始化向量。但大概不是这里的3,我也不清楚,不需要这个似乎也能解密),那再把这个任务交给cyberchef就行了。
复制这些内容也是一个小问题。怎么做呢?右键选中左下框里你想复制的内容,选择显示分组字节,然后在弹出的窗口中记得选择显示为UTF-8,这样就方便复制了😋
然后就是cyberchef的工作了。但是需要注意,我们的密文X-Blob好像有点特殊?有“/”“+”,这不是base64编码吗?所以在使用SM4 Decrypted之前,不要忘了先使用from base64哦!
这样,flag就出来啦!
- Title: 第八届浙江省大学生网络与信息安全竞赛 初赛 红头文件之谜
- Author: Realknow
- Created at : 2025-11-19 00:00:00
- Updated at : 2026-02-12 16:16:48
- Link: https://realknowtech.github.io/2025/11/19/第八届浙江省大学生网络与信息安全竞赛-初赛-红头文件之谜/
- License: This work is licensed under CC BY-NC-SA 4.0.