技术教程破解资源
【misc】buu-面具下的flag——zip伪加密+用NTFS流隐藏文件
依赖
- Windows10
- 虚拟机Ubuntu20.04
- 开源工具foremost
zip伪加密
作者:hans774882968以及hans774882968以及hans774882968
本文52pojie:https://www.52pojie.cn/thread-1692457-1-1.html
本文juejin:https://juejin.cn/post/7147192971103272990/
本文csdn:https://blog.csdn.net/hans774882968/article/details/127037336
题目给了我们一个mainju.jpg
,图片无特殊信息,因此我们首先尝试去找其中的隐藏文件。在power shell里使用foremost开源工具:
.\foremost -i <mainju.jpg的路径>
可以获得一个zip文件。但是解压要求密码。因为没有任何提示(比如密码范围可枚举、有其他隐藏的数据),所以可以考虑这个zip是否是伪加密。根据参考链接1,搜索50 4b 01 02
(只有1处出现),找到压缩源文件目录区,把其第9个字节从09
修改为00
,即可去除伪加密。
2.jpg
zip解压获得flag.vmdk
。
vmdk也是一种压缩包,可以用7z解压。在Ubuntu下,先安装7z,再解压flag.vmdk
:
sudo apt install p7zip-full # 注意要安装full的,而不是仅仅p7zip7z x flag.vmdk -o./flag # 注意这里-o和输出路径之间没有空格的。解压到flag文件夹(不存在会自动创建)
我们可以在Ubuntu下直接看到所有相关的文件,tree
命令安装见附录2。
1.jpg
但如果你是在Windows下解压的,那么因为文件名带冒号的文件被视为NTFS
流的非主文件流(简称非主流),所以你看不见这些文件。附录1提供了一个NTFS
的入门实验,像我这么鶸的可以过一遍qwq。
获取flag
key_part_one
和key_part_two
涉及Brainfuck
和Ook!
。根据参考链接2,可以在这个网站运行Brainfuck和Ook!代码。
key_part_one/NUL
:
+++++ +++++ [->++ +++++ +++<] >++.+ +++++ .<+++ [->-- -<]>- -.+++ +++.<++++[ ->+++ +<]>+ +++.< +++++ +[->- ----- <]>-- ----- --.<+ +++[- >----<]>-- ----- .<+++ [->++ +<]>+ +++++ .<+++ +[->- ---<] >-.<+ +++++ [->++++++< ]>+++ +++.< +++++ [->-- ---<] >---- -.+++ .<+++ [->-- -<]>- ----- .<
获得
flag{N7F5_AD5
key_part_two/where_is_flag_part_two.txt:flag_part_two_is_here.txt
:
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook.Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook?Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.Ook. Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook!Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook.Ook. Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook! Ook! Ook! Ook! Ook!Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook? Ook. Ook? Ook! Ook. Ook?Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook.Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook. Ook.Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook? Ook! Ook.Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook.Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook!Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook?Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook. Ook.Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook!Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook. Ook?Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook. Ook.Ook. Ook. Ook. Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook!Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook! Ook! Ook!Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!Ook? Ook. Ook? Ook! Ook. Ook? Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook.Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook!Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook. Ook.Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.Ook. Ook. Ook. Ook. Ook! Ook. Ook? Ook.
获得
_i5_funny!}
flag{N7F5_AD5_i5_funny!}
。
附录1:用NTFS流隐藏文件
NTFS交换数据流(Alternate Data Streams,简称ADS)是NTFS磁盘格式的一个特性,在NTFS文件系统下,每个文件都可以存在多个数据流,就是说除了主文件流之外还可以有许多非主文件流寄宿在主文件流中,而我们无法看到非主文件的数据流。它使用资源派生来维持与文件相关的信息。
根据参考链接3,做个小实验(与本题无关)。在cmd下执行
echo hans acmer> NTFS_demo.txt:1.txt # 注意大于号左侧没有空格,因为会被当成文本内容
可得到一个NTFS_demo.txt
,里面没有内容,但是看不到NTFS_demo.txt:1.txt
。若以上命令在power shell下执行,会报错名为“NTFS_demo.txt”的驱动器不存在。
。
接下来可以用命令打开NTFS_demo.txt:1.txt
(cmd或power shell下均可)
notepad NTFS_demo.txt:1.txt
此时可以看到NTFS_demo.txt:1.txt
文件内容。
当然我们还可以更进阶地用IDE来查看文件。比如用Notepad++
打开NTFS_demo.txt:1.txt
(cmd或power shell下均可)
<notepad++.exe的路径> <NTFS_demo.txt:1.txt的路径>
附录2:Ubuntu安装tree命令
不需要像 https://zhuanlan.zhihu.com/p/260822274 这里这么麻烦,直接apt安装即可。
sudo apt install tree
参考资料
- zip伪加密:https://blog.csdn.net/wo41ge/article/details/109671137、https://blog.csdn.net/qq_26187985/article/details/83654197
- https://blog.csdn.net/weixin_45485719/article/details/107417878
- NTFS:https://www.jianshu.com/p/a812a78f8646