其他分享
首页 > 其他分享> > 2022第二届鹏城杯预赛 Misc wp

2022第二届鹏城杯预赛 Misc wp

作者:互联网

Misc_water

先分析图片hex值,发现给的图是由一头一尾两个png和中间一个倒置的jpg组成的。于是分别提取并把jpg正过来

with open('1','rb') as f:

  with open('flag.jpg','wb') as g:

     g.write(f.read()[::-1])

由于题目是water,自然想到水印,又因为没有一样的图,于是尝试使用傅里叶盲水印,脚本直接提取

import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt
img = cv.imread('/root/桌面/flag.jpg', 0) #直接读为灰度图像,不过此题已经是灰度图片了
f = np.fft.fft2(img)            #做频率变换
fshift = np.fft.fftshift(f)     #转移像素做幅度谱
s1 = np.log(np.abs(fshift))#取绝对值:将复数变化成实数取对数的目的为了将数据变化到0-255
plt.subplot(121)
plt.imshow(img, 'gray')
plt.title('original')
plt.subplot(122)
plt.imshow(s1,'gray')
plt.title('center')
plt.show()

得到下图,放大后依稀可以看到密码是:ZC4#QaWbW

成功解开压缩包,拿到一张乱码图片。根据经验,应该是宽高错误的图片,拿去爆破得到宽高,复原图片后右下角就是flag。

简单取证

volatility获取版本得到WinXPSP2x86,查看进程发现有一个cmd以及浏览器。

查看iehistory后发现系统里有个secret.jpg

于是使用filescan找到并dump下来,再使用cmdscan发现了一个密码

dump下来的jpg分析后是一个纯base64加密的文本,解密后观察得到这是个倒过来的压缩包

使用上一题的脚本逆序后使用cmd里的密码成功解开压缩包拿到一堆数据。根据经验,这应该是二维坐标拿来画图的,于是使用gnuplot画图。画出来是个二维码,扫一扫就是flag。

babybit

拿到一个磁盘,取证大师一把梭,得到一个假flag和一个flag.zip,flag.zip里是注册表文件。使用MiTeC Windows Registry Recovery打开其中的SYSTEM文件。本题所需的时间数据就在ROOT\ControlSet001\Control\FVEStats里的OsvEncryptInit和OsvEncryptComplete中,如下面两张图所示

按照题目要求拼起来即可。

what_is_log

使用sysdig查看write系统调用

sysdig -r flag2.scap evt.type=write

发现里面有很多数据都包含'data=',猜测秘密可能在里面,于是提取一下

sysdig -r flag2.scap evt.type=write | grep 'data=' > 1.txt

简单看看这个提取出来的数据,发现这个东西

感觉有点像flag,包上PCL{}提交成功

标签:鹏城,plt,Misc,jpg,write,flag,2022,使用,np
来源: https://www.cnblogs.com/zysgmzb/p/16441570.html