鹏城杯 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 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")

然后扫描二维码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值