-
-
[原创]记一次有趣的木马样本恢复之旅_使用已知明文攻击恢复样本文件
-
发表于: 1天前 225
-
文章概要
在整理历史攻击事件的时候偶然翻到以前收藏的木马样本“乌克兰BlackEnergy.zip”,尝试infected、threatbook等常见密码,均解压失败。也就是说,我把解压密码忘记了。不过压缩包里能看到样本的目录结构和文件名,其中文件名直接是哈希值,这让我想到可以通过文件哈希找到样本文件,进而使用已知明文攻击的方法恢复木马样本。在尝试这个思路的过程中有些磕绊,但最终成功恢复。最后的感慨就是,虽然现在CTF比赛环境不太行,但CTF技巧有时候确实有用。
需要恢复的木马样本
乌克兰BlackEnergy.zip,有密码,解不开。


根据文件哈希找木马样本(找已知明文)
在万能的海鲜市场,找大佬帮忙下个样本。

使用已知明文攻击恢复加密的zip包
尝试1:失败,压缩包里有中文路径会导致编码问题
解决方法:直接使用7zip打开压缩包,把中文换掉即可。

尝试2:失败,报错“ciphertext is smaller than plaintext”
解决方法:直接使用7zip用用相同的压缩算法把“已知明文”打包,然后用-P指定即可。这里我将木马文件052ebc9a518e5ae02bbd1bd3a5a86c3560aefc9313c18d81f6670c3430f1d4d4打包为了plain.zip,用的是标准压缩。


尝试3:成功,使用已知明文攻击,先找Keys,然后用自己指定的密码生成一个新压缩包,最后解压获得原始文件。
1 2 3 | bkcrack.exe -C vir.zip -c "Ukraine BlackEnergy/XLS with Macro/052ebc9a518e5ae02bbd1bd3a5a86c3560aefc9313c18d81f6670c3430f1d4d4" -P plain.zip -p 052ebc9a518e5ae02bbd1bd3a5a86c3560aefc9313c18d81f6670c3430f1d4d4bkcrack -C vir.zip -k 3b39e30c a7a794f5 2d96c0f8 -U vir2.zip "newpass" |

参数解释
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | -C vir.zip (大写C): 指定目标压缩包(Ciphertext archive)。即那个有密码的 vir.zip。-c "Ukraine BlackEnergy/.../052ebc..." (小写c): 指定目标压缩包内部的文件路径(Ciphertext entry)。即要拿哪个加密了的文件来做比对。-P plain.zip (大写P): 指定明文压缩包(Plaintext archive)。-p 052ebc... (小写p): 指定明文压缩包(plain.zip)内部的文件名(Plaintext entry)。告诉工具,plain.zip 里的哪个文件对应加密包里的那个文件。-k 3b39e30c a7a794f5 2d96c0f8: 输入第一步计算出来的 3 个内部密钥。-U vir2.zip "newpass": Unlock 解锁并重设密码,执行完后,可以直接用 newpass 这个密码打开 vir2.zip。 |
相关功能
1.列出压缩包的详细索引信息(List)
1 | bkcrack -L vir.zip |
使用这个命令,可以大致知道“已知明文”对应的密文用的是什么压缩算法。

参考
赞赏
他的文章
赞赏
雪币:
留言: