想要多人运动队-练习题 Write up | Misc

目录

  • 想要多人运动队-练习题 Write up | Misc
    • 0x00 签到
    • 0x01 zip
    • 0x02 sth_hide_in_mp3
    • 0x03 新千层饼
    • 0x04 A_Story
    • 0x05 群主女装666
        • 第一层
        • 第二层
        • 第三层
    • 0x06 Layers_of_Fear
        • 第一层
        • 第二层
        • 第三层
    • 0x07 Recover_Password
    • 0x0a Bad_PNG
    • 0x0b outguess
    • 0x0c Find_flag
    • 0x0d 真千层饼
    • 0x0e easy_.raw
    • 0x0f trace_tcp

题目均为萌新级别,大佬轻喷

想要多人运动队-练习题 Write up | Misc

misc题目地址链接: https://pan.baidu.com/s/1PQnFuFhsYdvZWf-2RfKgSg 提取码: 8rsb

0x00 签到

题目给了二维码的两部分,用PS将两张图拼起来扫码得flag
想要多人运动队-练习题 Write up | Misc_第1张图片
flag{W31c0Me!}

0x01 zip

zip伪加密,使用winhex修改或者使用binwalk直接提取,得到flag.png
想要多人运动队-练习题 Write up | Misc_第2张图片
flag{N0_P@sswOrd_foR_th1s_zip}

0x02 sth_hide_in_mp3

mp3stego隐写,直接使用mp3stego解密,没有密码(输入密码直接按回车)
解出flag
想要多人运动队-练习题 Write up | Misc_第3张图片
flag{Ch1cken_@r3_n0t_bEaut1ful}

0x03 新千层饼

根据pie.txt文本中的第二行,只有33层的套娃
pie.txt第一行末尾有两个’=‘,推测为base家族的编码,尝试后确定为base64编码
写python脚本解密

from base64 import b64decode
f=open('pie.txt','r',encoding='utf-8')
s=f.readline().encode('utf-8')

for i in range(33):
    s=b64decode(s)
    print(i)
    
print(s)
f.close()

flag{Tired_to_decode_me_1000times}

0x04 A_Story

根据提示,确定为字符频率隐写(即按字符出现次数排序,由大到小)
写python脚本统计 (写得有点憨

def find(l,x):
    for i in range(len(l)):
        if l[i]==x:
            return i
    else:
        return -1
    
ss=input()
sss=""
for i in ss:
    if i in "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 {}!_":
        sss+=i
ss=sss

s=list(ss)
words=[]
sequence=[]
for i in s:
    if i not in words:
        words.append(i)
        sequence.append(1)
    else:
        sequence[find(words,i)]+=1

for i in range(len(words)):
    for j in range(len(words)-1):
        if(sequence[j]<sequence[j+1]):
            words[j],words[j+1]=words[j+1],words[j]
            sequence[j],sequence[j+1]=sequence[j+1],sequence[j]

for i in range(len(words)):
    print(words[i],end="")

输出:flag{y0u_F1nd m3!}S4TYLbkU5qtNp7sQMc9
截取前面部分作为flag
flag{y0u_F1nd m3!}

0x05 群主女装666

第一层

在题目描述里找到8位一行的二进制序列
将其按ASCII码还原成字符后得到:Zip passwd:QunzhU_666
即压缩包密码为 QunzhU_666

第二层

解压后又获得一个压缩包,提示密码为QQ号,则考虑进行zip密码爆破
(在这里使用ARCHPR进行爆破
想要多人运动队-练习题 Write up | Misc_第4张图片
QQ号只需爆破5-10位的纯数字
想要多人运动队-练习题 Write up | Misc_第5张图片
经过1分钟左右爆破出密码
想要多人运动队-练习题 Write up | Misc_第6张图片

第三层

打开后只发现一行字
想要多人运动队-练习题 Write up | Misc_第7张图片
文件大小比图片应有大小大一些,图片文件中可能藏有其他文件

使用binwalk无果,猜测为图片高度隐写
使用winhex修改高度为一个较大的值
想要多人运动队-练习题 Write up | Misc_第8张图片
还原图片获得flag
想要多人运动队-练习题 Write up | Misc_第9张图片
flag{F0give_me}

0x06 Layers_of_Fear

第一层

在视频的详细信息页面发现提示 base32的Why don’t you multiply two eyes. 和 Try morse code?
想要多人运动队-练习题 Write up | Misc_第10张图片
根据提示一帧一帧看视频,发现骷髅眼睛上的闪光是摩斯电码。左右眼分别解密得到数字
…— .---- ----. ----- --… …-- ----- --… 右
…— --… ----. …-- ----- …-- ----. .---- 左
27930391 21907307

提示压缩包密码是这两个数字做数学运算,尝试之后密码是两个数字的乘积

27930391*21907307=611879650267037

第二层

在jpg文件尾部发现一个压缩包和一串密码
想要多人运动队-练习题 Write up | Misc_第11张图片
密码Base64解码后得到:Zippasswd:Sc@rY
分离并打开压缩包

第三层

L1.png为LSB隐写,使用StegSolve查看通道
想要多人运动队-练习题 Write up | Misc_第12张图片
flag{Im_not_4fr@id}

0x07 Recover_Password

图片提示压缩包密码是:!?!?!?!2!? (’?'代表未知位)
想要多人运动队-练习题 Write up | Misc_第13张图片
使用ARCHPR进行掩码攻击
想要多人运动队-练习题 Write up | Misc_第14张图片
在flag.mp3中听出flag
flag{4a5b6c9d8e7f}

0x0a Bad_PNG

用winhex打开png.png发现乱码
在这里插入图片描述
对比正常的png文件
在这里插入图片描述
发现png.png所有位都被做了 异或66 的运算
用winhex异或回来,得到正常的png
想要多人运动队-练习题 Write up | Misc_第15张图片
用winhex仔细检查发现文件尾部存在一个压缩包,使用上面的密码打开得到flag
想要多人运动队-练习题 Write up | Misc_第16张图片
flag{fun_t0_Recover_A_PnG}

0x0b outguess

检查key.txt,发现空白字符隐写
想要多人运动队-练习题 Write up | Misc_第17张图片
其中Tab为‘-’ Space为‘.’
进行摩斯电码解密得到密码:awsl

在kali下使用outguess直接得到flag
flag{Good_gu3sS!}

0x0c Find_flag

在kali下使用strings查找文件夹下的字符串

grep flag{ Audacity -r -a

想要多人运动队-练习题 Write up | Misc_第18张图片
flag{G0od_search}

0x0d 真千层饼

压缩了1000遍的压缩包,没有密码,而且压缩包名字是从2000到1000
写python脚本解压

import zipfile

for i in range(2000,999,-1):
    f=zipfile.ZipFile(str(i)+".zip",mode="r")
    f.extractall()
    f.close()

flag{Real_1000Layers}

0x0e easy_.raw

kali下使用volatility
先imageinfo

volatility -f koala.raw imageinfo

想要多人运动队-练习题 Write up | Misc_第19张图片
查pslist发现可疑的koala.exe

volatility -f koala.raw --profile=Win7SP1x64 pslist

想要多人运动队-练习题 Write up | Misc_第20张图片
找到并把koala.exe文件dump出来

volatility -f koala.raw --profile=Win7SP1x64 filescan | grep koala.exe

想要多人运动队-练习题 Write up | Misc_第21张图片

volatility -f koala.raw --profile=Win7SP1x64 dumpfiles -Q 0x000000001ebb7070 -D ./out

想要多人运动队-练习题 Write up | Misc_第22张图片
得到了koala.exe原程序,用IDA32逆向
找到main函数 sub_4013B0
想要多人运动队-练习题 Write up | Misc_第23张图片
F5看源码
想要多人运动队-练习题 Write up | Misc_第24张图片
得知程序会创建两个文件

ADpassword
VeraCrypt password is the same as windows login password.
maybe_a_key
#include

镜像中查登录密码

volatility -f koala.raw --profile=Win7SP1x64 hivelist

想要多人运动队-练习题 Write up | Misc_第25张图片

volatility -f koala.raw --profile=Win7SP1x64 hashdump -y 0xfffff8a000024010 -s 0xfffff8a00172c010

想要多人运动队-练习题 Write up | Misc_第26张图片
得密码的MD5值:6eb6e16c149961107f4af97c66d75d4d
上在线解密网站解密
想要多人运动队-练习题 Write up | Misc_第27张图片
密码是 #include

用VeraCrypt 解密decryptme得到AES加密的flag

AES密码就是前面maybe_a_key的内容,AES解密得flag

flag{Go0d_volatility_us3r}

0x0f trace_tcp

wireshark打开分析,确定下载ip为192.168.8.123
想要多人运动队-练习题 Write up | Misc_第28张图片
追踪tcp流tcp.stream eq 1发现压缩包
想要多人运动队-练习题 Write up | Misc_第29张图片
导出压缩包
a.直接使用当前窗口的save as
想要多人运动队-练习题 Write up | Misc_第30张图片
b.使用binwalk直接分离

python binwalk -e trace_tcp.pcapng
在这里插入图片描述

导出后用前面得到ip的md5值做密码,解压得到QRcode.txt

txt的内容为RGB的图片颜色信息
根据行数,计算得二维码是29*29的大小
写python脚本绘制二维码

from PIL import Image
p=Image.new("RGB",(29,29),(255,255,255))
p1=p.load()
f=open("QRcode.txt",'r')
for i in range(29):
    for j in range(29):
        line=f.readline()
        if line[1]=='0':
            p1[i,j]=(0,0,0)
        else:
            p1[i,j]=(255,255,255)
p.save("decode.png")
f.close()

扫码得flag

(未完待续

你可能感兴趣的:(CTF)