Freefix病毒免费解密与多层加密详解

Freefix病毒免费解密与多层加密详解
Freefix病毒免费解密与多层加密详解

如题,之前自己的文件因为莫名其妙中了所谓Freefix的病毒,导致文件被加密,很长时间以来一直没办法,只能备份之后等待后人的智慧,直到有一天epc大佬和360把Freefix这个病毒给攻破了,我本来很高兴,觉得得亏没删除那些文件,但后来发现因为我当时电脑文件很多,病毒加密的时候被我发现了,于是还没加密完我就重启电脑打断了加密的过程,导致这个神人病毒反复对我的文件进行加密,在这种情况下文件被反复加密了多次,表现为file.docx.FreeFix.FreeFix.FreeFix.N个后缀,每一次后缀代表着被加密了一次
当时我就尝试了来自epc提供的基于GPU计算的脚本和来自360的基于cpu计算的程序,均无法解密,在联系边亮大佬之后,对方表示多次加密的版本没有办法,推荐我自己做一份程序,但由于epc视频里的那个字体让我不好辨认,于是在后续回复无果的情况下,只能放弃了

image
image
image

但就在四个月前,我萌生了自己制作的想法,于是我先跟“当时”的Gemini沟通可能性,并认可了理论上epc给出的gpu版本的程序应该没有加壳,在使用peid查看之后确实没有,这就意味着我可以从程序内获取精确的密钥范围,于是装回了之前已经删除的ida pro,分析了一下确实没有加壳和混淆,最终成功拿到了密钥范围的字符串,在此之后就好说了
在文件被加密的时候,我还在使用4060m作为主力笔记本,开发过程可能还比较困难,但在恢复开发的时候已经升级成了4090的pc,那解密只能说是分分钟的事,假设加密层数为4,那么解密最坏的情况下需要4 × 2³² ≈ 172 亿次计算
最终在Gemini和其他多种llm合作的情况下,我成功完成了对多层加密的破解

与epc的程序类似,由于文件被多次加密,系统必须强行枚举解密从LN到L1
每一步LN都需要检查文件末尾是否正确解密出了来自LN-1个后缀名,既假如文件被加密了6次,L6就为file.FreeFix.FreeFix.FreeFix.FreeFix.FreeFix.FreeFix,那么解密程序在1完成每一次解密的时候都将检查文件末尾是否变成了5个后缀名,既file.FreeFix.FreeFix.FreeFix.FreeFix.FreeFix,如果变成了5个而不是乱码的话则判断该层已解密,密钥和种子就被保存
最终在L1的时候最后一次解密通过文件头来判断文件是否解密成功
以一份加密了三层的example.jpg.FreeFix.FreeFix.FreeFix(L3层)为例,流程从外层往内层逐层剥
读入原始字节,数出3层

├─ l 3 (最外)
│ 1. 解析尾部footer
│ 2. 提取本层密文(处理头部冗余)
│ 3. 先试缓存种子,未命中再爆破
│ 4. 写入缓存
│ 5. rc4整段解密 → 得到l2的版本

├─ l2 (同上,内层统一算法)

└─ l1 (最里)
1. 从文件尾里的原始路径或文件名猜扩展名
2. 先试缓存,未命中按签名爆破
若带扩展名没找到,再用空扩展名兜底
3. 写缓存
4. rc4解密 → 得到原始字节

└─ 按文件尾里的原始文件名 / 检测到的扩展名命名,写出example.jpg

因此在这里我想为所有可能还存在相关问题的朋友们提供免费解密服务

这也是扩充我工具的适用面,以便更好地服务未来其他可能存在相同问题的人,假如有人提供了文件头比较热门的那些后缀,例如常见图像,文档等格式,那么解密会很顺利,最终解密出的多层key可以直接被拿去套用给其他文件,但如果有的人只剩下了一份冷门文件,那么就会很难破解因为程序不知道你的文件头是什么样的
这次经历也是非常庆幸的一次,庆幸有大佬的朋友也遇到了病毒,庆幸病毒作者技艺不精,庆幸自己还保留有被加密的文件,但同时也是一次警示,我平时基本上都是安全软件挂机,但就在中毒的这次,我因为刚重装系统导致懒得装杀毒软件,结果就这一次就中招了,也是第一次遇到勒索病毒,希望各位谨慎且无论如何留有一个基础的安全防护

如果有需要的欢迎回复本帖,不收取任何费用,但请尽量给我你最重要的文件,要不然实在没这么多时间,请留下你的邮箱,文件类型,使用密码加密打包之后的文件,如果看到了我会单独发邮件联系你获取密码

后续考虑出一个webui来开放以提供自助解密服务

3 个帖子 - 2 位参与者

阅读完整话题

来源: LinuxDo 最新话题查看原文