2022春秋杯春季赛勇者山峰-misc _

admin 2022年11月18日14:13:57CTF专场2022春秋杯春季赛勇者山峰-misc _已关闭评论18 views2873字阅读9分34秒阅读模式

这几天搞完取证就开始弄这些个东西,属实把我整麻了,临场我就整不出来,可能是功利心太重了 ,一着急就啥也不会,毕竟这misc只是用来辅助锻炼我的取证的。。

tiger

1.These are rot for 47 days
2.Have you heard that lsb steganography also requires a password?

第一行提示采用了rot47

第二行提示是一个需要密码的lsb隐写

醉了搞这个环境搞了很久,非要用python2,然后各种包都要重新弄

得到了解压密码71zr9H6jnXRHn64WBxMbCzz16saCZWiw

key中的内容,是一篇文章中的一段You Have Only One Life

There are moments in life when you miss someone so much that you just want to pick them from your dreams and hug them for real! Dream what you want to dream;go where you want to go;be what you want to be,because you have only one life and one chance to do all the things you want to do.

不知道干啥用,但是flag需要密码,无奈只能爆破,挂后台一个小时多总算是出来了,重新展示一下确实能爆破到[email protected]=

flag没有后缀,查看后可以看到是png,修改后缀

打开是二维码

扫出来的数据不对经,用手机扫出来直接就是flag is not here,结合这个表现,猜测可能是零宽隐写,用utools提供的二维码工具可以提取出来正确的数据,然后在网站中解密

维吉尼亚暴力破解

结果为flag{866d3755-c358-5119-abeb-bda666a8099d}赛后解出,结果未验证

被偷走的机密文件

挂载,导出SAM和SYSTEM注册表文件,mimikatz抓取密码哈希,cmd5解密为[email protected]

仿真进去看了半天结果什么都没得到,一大堆烟雾弹

借助工具到是直接出来了

后来我在深入分析注册表的时候,发现计算机连接过打印机设备

定位到了其缓存文件

spl文件保存了打印的内容,找一个spl查看器就能查看到

结果为flag{1136d459-2885-409a-bc54-beea0739544b}

PINTU

我被文件尾的信息蒙蔽了心智,导致我即便发现他留了flag is not here or reversed这么明显的话出来,我也没察觉到保留数据中的数据就是这张图片的坐标。。。。

from PIL import Image

img1 = Image.open("0.bmp")
result = Image.new(img1.mode, (32*120,18*120))
result.paste(img1, box=(0, 0))
for i in range(14400):
    fr = open(str(i)+".bmp","rb")
    weight = fr.read()
    x,y = weight[6],weight[8]
    img = Image.open(str(i)+".bmp")
    result.paste(img,box=(32*x,18*y))
    fr.close()
result.save("flag.bmp")

结果为flag{Bmp_index_PinTu}

RecoverMe

显而易见passware用给的字典进行爆破,然后veracrypt挂载打开

花了10分钟。。。一共就69个,我一个个试说不定都不要10分钟

什么都是假的。。。

x-ways打开磁盘试试,结果有重大发现

居然有流量在,导出来分析,数据包里真是完全没有用,突然发现了第一个包报文长度80,第二个包75,第三个包3,第四个包4,这不就是zip吗!!只不过是10进制而已

with open("1.csv") as f:
    line = f.readlines()
    print(len(line))
    res = ""
    for i in range(1,len(line),2):
        tmp = str(hex(int(line[i].split(",")[5][1:-1])-42))[2:]
        if len(tmp) == 1:
            tmp = '0' + tmp
        res += tmp
    f.close()
print(res)
fw = open("res.zip","wb")
fw.write(bytes.fromhex(res))
fw.close()

压缩包有密码,不是伪加密,初步爆破了一下也没有结果,看到文件有注释

发现确实有ip变化,在38和39之间来回变,应该是高低位表示二进制

写个脚本跑出密码

with open("1.csv") as f:
    line = f.readlines()
    res = ""
    for i in range(1,len(line),2):
        tmp = (line[i].split(",")[3])[1:-1].split(".")[3]
        if tmp == "39":
            tmp = "1"
        else:
            tmp = "0"
        res += tmp
    f.close()
print(res)
print(len(res))
for i in range(0,len(res),8):
    print(chr(int(res[i:i+8], 2)), end='')

解压得到flag

结果为flag{efaaf34db0bad8e1888e8f671f3cb7ab}

Capture_Radiate_Chart

只给了一张png图片,初步调试后没有啥发现,后来发现这个png有很多的idat块,非常非常多

发现在CRC中有rar文件头

那么就是拼出一个rar压缩包就行了

fr = open("alien.png","rb")
msg = fr.read()
fr.close()
res = []
length = len(msg)
fw = open("res.rar","wb")
i = 0
while True:
    #遍历crc的下标
    index = msg.find(b'IDAT',i,length)
    if index == -1:
        break
    crc = str(hex(msg[index-5]))[2:]
    if len(crc) == 1:
        #补0
        crc = "0" + crc
    res.append(crc)
    i = index + 4
#最后一个IDAT的crc在IEND之前
res.append(str(hex(msg[msg.find(b'IEND',i,length)-5]))[2:])
#去掉第一个IDAT之前的crc
fw.write(bytes.fromhex(''.join(res[1:])))

提取出来一个flag.pdf,打开一看啥都没有

开始分析文件,这里是pdf中内部放置的文件的起始,好像有那么一点眼熟??

原来在这里见到过!!

那么补全这个png头部,补全头尾后打开还是什么都没有,我把这个png单独提出来生成一个文件,在010editor中发现是crc校验错误

改成对应的crc,还要注意pdf中给出的长宽高。。

最后才是终于弄出来

结果为flag{Create_Remarkable_Ctf}

__EOF__

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年11月18日14:13:57
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  2022春秋杯春季赛勇者山峰-misc _ http://cn-sec.com/archives/1416615.html