1、首先用binwalk查看里面的内容,发现里面有Zip文件。
要想把Zip文件弄出来有两种方法:
一是用虚拟机里面的foremost+文件名
然而,在终端中已经见到二零password文件夹,然而我却不知道foremost分离出来的文件放在哪个位置,真的是望眼欲穿呀。没办法,只好另谋出路。
二是用winhex里面的“工具-磁盘工具-按文件类型恢复(本题是Zip)”,这个办法不错,得到了两个压缩包,一个有密码一个没有密码:
里面提到的checksum,我也不知道是啥,然后也不知道如何计算checksum的值,好像是每个人计算的方式都不一样,蛤?而且用的好像是C#写的,我不会,就直接用百度找来的代码计算了checksum的值,不过python也能运行出来:
# -*- coding:utf8 -*- file = open(‘O:\\ctf\\Security miscellaneous\\2019-4-30\\损坏的U盘镜像\\CTF.hdd‘, ‘rb‘) content = file.read() checksum = 0 for i in range(0, 11*512): if i == 106 or i == 107 or i == 112: continue checksum = (((checksum << 31) & int(‘0xFFFFFFFF‘, 16)) | (checksum >> 1))+content[i] print(hex(checksum))
听说直接就这样按照刚才文件里面的提示MD5加密,并不能得到第一个压缩包的解压密码,得用94FAC681进行MD5加密才行(具体为啥要大写我也母鸡),加密后得到密码:
C9737665D39274F6C5A256B943748068,解压第一个压缩包,得到key.txt。
原文:https://www.cnblogs.com/BASE64/p/10798133.html