本文主要是介绍鹏城杯 2022 取证writeup,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
简单取证
我们进去首先使用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 structwith 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 pltdef 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")
然后扫描二维码
这篇关于鹏城杯 2022 取证writeup的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!