有没有 CTF 或逆向大佬,求 zip 解密思路

17 天前
 faketemp

问题:近期玩某个 debian 系统的 DIY ,发现系统启用页面是用 ngnix 加载的 www 目录,而 www 目录被系统进程守护变更任何文件即刻恢复原始备份;沿线索找到一份加密的备份文件 www.zip ,于是用 auditctl 设置对 www.zip 文件的读写监控,发现只有 nginx 程序对应有读取操作,未发现 unzip/7z 等读取行为但 www 目录已被解压覆盖

说明:用明文攻击可以解密,只是出于好奇和好玩想不用爆破方式尝试逆向一下原密码

是不是需要 gdb 调试 nginx 主程序?但考虑主页面基于 nginx ,一旦附加调试系统就会卡死

总之目标是找出 zip 文件密码,不知道下一步还能朝哪个方向或者有什么小妙招可以继续分析? 没有玩的思路啦~~

976 次点击
所在节点    问与答
8 条回复
ysc3839
17 天前
什么系统呢?
另外有 root 权限的话感觉没必要改,直接 mount 一个 read only 的文件系统到 www 就行了。
faketemp
17 天前
@ysc3839 系统是 debian linux v12.18 有 root 权限
1. 守护进程监控到 www 目录变更会从 www.zip 文件解压恢复 将整个 www 目录 mount 只读不知道是否可行?
尝试过用 chattr 修改 www 目录下的文件,发现 nginx 解压恢复前也会先调用 chattr 复原 www 及子目录权限 哈哈 斗智斗勇

2. 既然系统可以加载 www.zip 解压,说明某个角落或程序肯定有对应解压密码,主要还是想摸一摸有什么办法监控对应解压过程,从而顺藤摸瓜
ysc3839
17 天前
@faketemp 不是,Debian 官方会有这种服务吗,问的是有这个加密文件的系统怎么下载。
zk8802
17 天前
Dump nginx 的进程出来,然后静态分析。找到对应的逻辑应该不难(估计是某个动态库里面实现的),然后分析密码在内存中的位置。
faketemp
17 天前
@ysc3839 飞.牛 os 😂
onetown
17 天前
不是, 这个 www 目录都已经解压缩出来了, 你直接把目录 "COPY" 出来改不行? COPY 的过程也不会多任何文件做变更的吧
faketemp
17 天前
@onetown 额 本想 Diy 一下 www 目录中的主页文件 这样比较好玩不是想看到原文件。既然一修改就会解压覆盖 于是干脆直接修改 zip 压缩包更简单 所以想练练手追一下 zip 密码
onetown
17 天前
@faketemp
如果是想练手 zip 密码,那就忽略

一般如果是做了 zip 静态资源, 都会有一个文件 hash 来判断原始 zip 是否被改动, 也就是说就算解了 zip , 换了文件, 也有可能绕不过去这个问题。 你可以尝试从 nginx 着手, 看是修改了原始的 nginx 代码还是加载了自己的模块。

通过 nginx -V 能看到 configure 参数, 如果有哪个比较可以的模块名字, 那就 dump 一下 nginx 的符号表去找跟那个模块名字相关的符号, 一般都是一些函数名什么的, 然后去分析是哪个函数实现了加载 zip 并解压。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1153433

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX