2024年“羊城杯”粤港澳大湾区网络安全大赛 MISC部分

2024年“羊城杯”粤港澳大湾区网络安全大赛 MISC部分

Author:Ns100kUp
From:极安云科-服务中心
Data:2024/08/27
Copyright:本内容版权归属极安云科,未经授权不得以任何形式复制、转载、摘编和使用。
培训、环境、资料、考证
公众号:Geek极安云科
网络安全群:624032112
网络系统管理群:223627079 
网络建设与运维群:870959784 

极安云科专注于技能提升,赋能
2024年广东省高校的技能提升,受赋能的客户院校均获奖!
2024年江苏省赛一二等奖前13名中,我们赋能客户占五支队伍!
2024年湖南省赛赋能三所院校均获奖!
2024年山东省赛赋能两所院校均获奖!
2024年湖北省赛赋能参赛院校九支队伍,共计斩获一等奖2项、三等奖7项!

1.hiden

some thing hiden in the wav

据题意,该文件为音频隐写,binwalk显示存在mysql索引文件,但是一直分离不出,其实是误报,被误导了好久浪费了很长时间

import wave

with wave.open("hiden.wav", "rb") as f:
    attrib = f.getparams()
    wav_data = bytearray(f.readframes(-1))

txt_data = bytearray()
for index in range(0, len(wav_data), 4):  #从 wav_data 中每四个字节取第一个字节,存储在 txt_data 中
    txt_data.append(wav_data[index])

file_len = int.from_bytes(txt_data[:3], byteorder='little')  #前三个字节被解析为隐藏文本的长度
original_txt_data = txt_data[3:]

with open('recovered_flag.txt', 'wb') as f:
    f.write(original_txt_data)

print(f"Original file length: {file_len}")
print(f"Recovered data: {original_txt_data.decode('latin-1')}")

image-20240827204953522

2.不一样的数据库_2

嗨兄弟,不要忘了注意一下名字哦

附件名称为:6 (1).zip

由题意得出灵感6位数字爆破zip,果然成功,解压后是一张缺失定位角的二维码 13.png+Kee.kdbx,该后缀为一款密码记录软件,猜测flag肯定在里面

先完成简单的,补全定位角后扫码得到字符串NRF@WQUKTQ12345&WWWF@WWWFX#WWQXNWXNU

rot13解出AES@JDHXGD12345&JJJS@JJJSK#JJDKAJKAH

导入KeePass软件后需要密码,尝试填入rot13解出的秘钥发现正确,果然发现了留下的记录,并且标题为passisDASCTF

image-20240827205546960

点进去后在历史这里发现了历史版本,其中前两个版本的高级里面存在aes加密,猜测前面的标题为线索

image-20240827205549928

中途遇到一个坑,换了两个解密软件都不行,都说AES秘钥需要128字节,浪费了半小时,由于前一天hvv通宵了,至此已经30个小时没有休息了,坐着睡着了两分钟,醒来马上开窍(垂死梦中惊坐起),换上我最常用的在线解密网站,KYE=DASCTF,直接解出flagimage-20240827205601812

3.so much

咦,为什么这个磁盘文件打不开,里面究竟有什么秘密?

题目附件:c2hpZnQh.ad1

根据题意可知为磁盘的杂项,且附件后缀为ad1,基本就是用FTK没跑了

winhex打开发现底部有提示,FTK打开该复现发现需要密码,1324567不对,试了下按shift输入!@#$%^&发现可以载入,里面很多文件image-20240827235327537image-20240827235159113image-20240827235453406

导出后发现时间很规律,于是考虑二进制解法,20分为1,19分为0,写脚本得到key

import os
from datetime import datetime

# 初始化输出字符串
output_string = ""

# 遍历文件0.crypto到343.crypto
for i in range(344):
    filename = f"{i}.crypto"
    
    # 检查文件是否存在
    if os.path.exists(filename):
        # 获取文件的最后修改时间
        mod_time = os.path.getmtime(filename)
        
        # 将时间戳转换为datetime对象
        dt = datetime.fromtimestamp(mod_time)
        
        # 提取分钟数
        minute = dt.minute
        
        # 检查分钟是否为16:19 (1) 或 16:20 (0)
        if minute == 19:
            output_string += "1"
        elif minute == 20:
            output_string += "0"

# 输出最终结果
print(output_string)
1110100 1101000 1100101 1011111 1101011 1100101 1111001 1011111 1101001 1110011 1011111 110111 110000 110000 110010 110010 111001 1100011 110000 110101 110011 1100010 110100 1100101 1100010 1100010 1100011 1100110 110001 1100001 110011 1100011 1100011 110011 110111 1100011 110011 111000 111001 1100011 110100 1100110 1100001

image-20240828000059635

.crypto这个后缀是由Encrypto for Win这款软件加密生成的,所以我们下载该软件,使用上面得到的key解出0和1的加密文件得到两个文本,拼接为flag

image-20240828000302864

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值