MinecraftCTF 2025

Misc

ezmisc - 签到

关注得到前半部分 MCCTF{Wellcome_To_1th_MCCTF

提示 王梓芷唱过,搜索 王梓芷 排名第一的结果是:一路生花 - 王梓芷 - 单曲 - 网易云音乐

1
MCCTF{Wellcome_To_1th_MCCTF_一路生花}

Minecraft 音乐中的秘密

MinecraftCTF2025-1

注意到后半段与众不同,一听发现是摩斯电码,截取出来用在线工具解密 Morse Code Adaptive Audio Decoder | Morse Code World

MinecraftCTF2025-2

得到前半段 MCCTF{BING

第二段音频是 LSB 隐写,让 AI 搓个脚本提取出来

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import wave

def extract_lsb(wav_path, output_path, max_bits=None):
with wave.open(wav_path, 'rb') as audio:
params = audio.getparams()
frames = audio.readframes(-1)
n_channels = params.nchannels
sampwidth = params.sampwidth # 通常是 2 (16-bit)
n_frames = params.nframes

print(f"[+] 音频参数: {n_channels} 声道, {sampwidth*8}-bit, {n_frames} 个采样")

if sampwidth != 2:
raise Exception("此脚本仅支持 16-bit PCM 音频")

# 将字节流转换为有符号的 16 位整数(每个采样点)
import struct
samples = struct.unpack('<' + 'h' * (len(frames) // 2), frames)

# 提取每个采样点的 LSB(只取最低位)
bits = []
for s in samples:
bits.append(s & 1) # 只取最低位

# 如果未指定最大比特数,则使用全部
if max_bits is None:
max_bits = len(bits)

# 将比特流组合成字节
extracted = bytearray()
for i in range(0, min(max_bits, len(bits)), 8):
byte = 0
for j in range(8):
if i + j < len(bits):
byte = (byte << 1) | bits[i + j]
else:
byte = (byte << 1) # 补 0
extracted.append(byte)

# 写入输出文件
with open(output_path, 'wb') as f:
f.write(extracted)

print(f"[+] 提取完成,共提取 {len(bits)} 个比特,保存到: {output_path}")

if __name__ == "__main__":
wav_file = "Minecraft2.wav"
output_file = "Minecraft2.bin"
extract_lsb(wav_file, output_file)

提取出来的文件用 010 打开

MinecraftCTF2025-3

得到前半段 APPLE} (注意这里出题人多打了 1 个 E,要手动改过来)

1
MCCTF{BINGAPPLE}

取证 - 1.1

MinecraftCTF2025-4

就这么几个 ip,挨个试试就出来了

1
MCCTF{10.10.0.1}

取证 - 2.1

MinecraftCTF2025-5

1
MCCTF{66.240.205.34:9002}

取证 - 3.1

在 NTFS 文件时间线搜索 .php 找到 shell.php

MinecraftCTF2025-6

1
MCCTF{C:/phpstudy_pro/WWW/uploads/shell.php}

取证 - 4.1

4.1 和 5.1 估计是非预期

看到 3.1 的图,图里的搜索结果基本都加上了一个奇怪的后缀 HHuYRxB06,回想起题目附件 access.log.HHuYRxB06 也有这个后缀,题目描述也说了和勒索病毒相关,那么不难推测 HHuYRxB06 就是勒索病毒给加上去的

然后去 GitHub 找找看有没有人讨论这个,竟然真的找到了相关的内容 Code search results

MinecraftCTF2025-7

上面那篇没什么对做题有帮助的信息,再看下面这个 CTF_Writeups/CyberDefenders_LockBit.md at 78ffa802f2b7db12c4fe260d3a2f088a5280b28d · ksyeung/CTF_Writeups

翻了下发现全篇都在讨论病毒 LockBit,不妨先猜测答案就是这个

结合题目描述里的 flag格式:MCCTF{WannaCry 1.0},从 1.0 开始逐个尝试,试到 3.0 就出来了

1
MCCTF{LockBit 3.0}

取证 - 5.1

题目说 勒索组织留下的,那应该就是留在勒索信里的

但是不知道为啥勒索信我提取不出来,vol2 和 vol3 都试过了,好奇怪

然后我就接着搜索 LockBit 3.0的C2

MinecraftCTF2025-8

一篇篇翻,结果翻到第 84 篇:顶级加密勒索组织 LockBit 的深度剖析与技战法分析(上篇)- 腾讯云开发者社区 - 腾讯云这篇的时候有了新发现

MinecraftCTF2025-9

文章图片打码没打全,露出顶级域名了

虽然我第一反应觉得不太可能是 .onion,但交上去竟然通过了。。。

1
MCCTF{.onion}

Web

ez_Minecraft_login

是简单得不能再简单的新生赛水平的连我都能做出来的 SQL 注入!

1
admin' OR '1'='1

用这个用户名登进来之后在 网络 这里直接搜 MCCTF

MinecraftCTF2025-10

1
mcctf{security_Big_Panda}