
题目2026 DesCTF\MISC\Real sign inThe picture for pixls Please find the secret and send it to the WeChat official account background to get the flagWeChat official account is 天命团队解题过程工具准备bkcrack下载地址https://github.com/kimci86/bkcrack/releases/tag/v1.8.1将bkcarck.exe放到待解密的压缩包下破解步骤1. 查看压缩文件内容首先我们需要查看压缩文件中包含的文件信息./bkcrack.exe--listchallenge (2).zip输出结果Archive: challenge (2).zip Index Encryption Compression CRC32 Uncompressed Packed size Name ----- ---------- ----------- -------- ------------ ------------ ---------------- 0 ZipCrypto Store e9a0f4d1 45927 45939 challenge.png从结果可以看出压缩文件中包含一个challenge.png文件大小为 45927 字节使用了 ZipCrypto 加密方式。2. 利用已知明文破解由于 PNG 文件有固定的文件头我们可以使用这个作为已知明文来破解 ZIP 密码。PNG 文件的文件头为89504E470D0A1A0A十六进制。./bkcrack.exe-Cchallenge (2).zip-cchallenge.png-x089504E470D0A1A0A0000000D参数说明-C: 指定包含密文的 ZIP 档案-c: 指定 ZIP 档案中的密文文件-x: 指定已知明文的偏移和内容十六进制输出结果[15:39:03] Z reduction using 5 bytes of known plaintext 100.0 % (5 / 5) [15:39:03] Attack on 1075319 Z values at index 6 Keys: 5eb34ede c49019bf 815834b9 46.4 % (499110 / 1075319) Found a solution. Stopping. You may resume the attack with the option: --continue-attack 499110 [15:45:09] Keys 5eb34ede c49019bf 815834b9成功破解出了 ZIP 文件的内部密钥5eb34ede c49019bf 815834b93. 解密压缩文件使用破解得到的密钥我们可以创建一个解密后的压缩文件./bkcrack.exe-Cchallenge (2).zip-k5eb34ede c49019bf 815834b9-Ddecrypted.zip参数说明-k: 指定内部密码表示三个 32 位整数的十六进制-D: 创建一个解密后的 ZIP 档案副本输出结果[15:45:17] Writing decrypted archive decrypted.zip 100.0 % (1 / 1)4. 解压解密后的文件使用 PowerShell 解压解密后的 ZIP 文件解压后我们可以看到challenge.png文件已经成功解压到当前目录Expand-Archive-Path decrypted.zip-DestinationPath.5. 查看结果查看图片疑似是ZigZag之字形图片编码后的结果6. 查看结果我编写了一个在线的静态网站用于ZigZag之字形图片编码和解码https://echoofcloud.github.io/ZigZag_Image_Processor/7. 识别二维码二维码里面的内容为I_love_DesCTF8. 获取flag根据题目提示WeChat official account is 天命团队关注该公众号发送I_love_DesCTF得到flag答案DesCTF{Have fun and enjoy the challenges ahead!!!}附录bkcrack技术原理1. 已知明文攻击bkcrack 使用 Biham 和 Kocher 的已知明文攻击方法来破解传统的 ZIP 加密。这种攻击方法利用了 ZIP 加密算法的弱点通过已知的明文和对应的密文来恢复加密密钥。2. PNG 文件头PNG 文件有固定的文件头格式字节 0-7:89 50 4E 47 0D 0A 1A 0APNG 签名字节 8-11:00 00 00 0DIHDR 块长度字节 12-15:49 48 44 52IHDR 块类型我们使用了前 12 字节作为已知明文这足够 bkcrack 进行破解。3. 破解过程Z 约简使用已知明文减少可能的密钥空间密钥搜索在减少后的密钥空间中搜索正确的密钥密钥验证验证找到的密钥是否正确