取证分析

[杂项]NTFS隐写

Posted on 2020-01-15,2 min read


首先就是右键打开。看看有没有提示。binwalk一把梭。都没发现什么

通过Stegsolve.jar查看。

最上边有点奇怪
猜测是LSB隐写

发现了一张PNG。直接导出
得到半张二维码。修改得到一整张二维码

这里如果不用QR扫二维码。就需要将白的变黑的。因为二维码颜色反了下。用画图右键

云盘下载得到flag.rar
题目有提示NTFS。
但是这里很坑。只有winrar才会报错。用其他的解压软件都不行
解压完后。用工具导出NTFS流。获得pyc文件。

在线反编译一下。得到python加密脚本

import base64

def encode():
    flag = '*************'
    ciphertext = []
    for i in range(len(flag)):
        s = chr(i ^ ord(flag[i]))
        if i % 2 == 0:
            s = ord(s) + 10
        else:
            s = ord(s) - 10
        ciphertext.append(str(s))
    
    return ciphertext[::-1]

ciphertext = [
    '96',
    '65',
    '93',
    '123',
    '91',
    '97',
    '22',
    '93',
    '70',
    '102',
    '94',
    '132',
    '46',
    '112',
    '64',
    '97',
    '88',
    '80',
    '82',
    '137',
    '90',
    '109',
    '99',
    '112']

反过来解密

import base64
ciphertext = [
'96',
'65',
'93',
'123',
'91',
'97',
'22',
'93',
'70',
'102',
'94',
'132',
'46',
'112',
'64',
'97',
'88',
'80',
'82',
'137',
'90',
'109',
'99',
'112']
def decode():
    data=ciphertext[::-1]
    for i in range(len(data)):
        if i%2==0:
            s=int(data[i])-10
        else:
            s=int(data[i])+10
        print(chr(s^i),end='')
#    print(data)
decode()

得到flag
flag{Y@e_Cl3veR_C1Ever!}

下一篇: [WesternCTF2018]shrine(SSTi2)→