简单取证
我们进去首先使用imageinfo pslist screenshot clipboard filescan 等等插件查看相关信息。
这里找到一个password姑且先留着
然后使用filescan找到了一个jpg文件
我们先dump下来
vol -f file.raw --profile=WinXPSP2x86 dumpfiles -Q 0x000000000207e3d8 -D .
然后我们可以发现这个jpg文件格式错误,咱们打不开这个文件,所以我们继续到Windows中使用winhex查看文件结构
乱成啥样了,我们姑且也先不管
我们在最后发现一个=号,猜测是base64编码,然后我们复制下来进行base64解密
我们在最后发现了一个KP 文件结构中PK是zip压缩包的头部。我们猜测出题人给他逆序了
然后我们将它逆序回来
然后保存文件。(小声:这里文件出问题了,格式错误。可能是复制了0字节下来导致的。所以这里我们直接使用别人的脚本)
import base64
import struct
with open("secret.jpg", "r") as f:
r = f.read()
lst = list(base64.b64decode(r))
lst.reverse()
with open("flag.zip", "wb") as f:
for i in lst:
s = struct.pack('B', i)
f.write(s)
然后我们发现压缩包需要密码,所以我们就使用在内存取证中拿到的password解密
62b041223bb9a
进去之后有一个flag.txt。我们一眼二维码画图
import matplotlib.pyplot as plt
def plot_coordinates(input_file):
# 读取文件中的坐标信息
with open(input_file, 'r') as file:
lines = file.readlines()
# 提取横坐标和纵坐标
x_coordinates = [int(line.split()[0]) for line in lines]
y_coordinates = [int(line.split()[1]) for line in lines]
# 绘制散点图
plt.scatter(x_coordinates, y_coordinates, color='blue')
plt.title('Pixel Coordinates')
plt.xlabel('X Coordinate')
plt.ylabel('Y Coordinate')
plt.grid(True)
plt.show()
# 调用函数绘制图像
plot_coordinates("1.txt")
然后扫描二维码