金盾杯2024


misc

大赛宗旨

下载附件

一眼零宽解密

base解密

最后flag为

1
flag{5d5555fa-1303-4b43-8eef-d6ea7c64c361}

esab

下载附件

1
RcBg1cNg9oFgpkdkNodoVoxkhsxsJoxk9kFkBoFglkFghktkxoxc9cFkls5kNodoBoNotg5klcxclgVgZ8BkdklkhkpgBo9o9cFkRopkxgpkdkpkdklcpgFgRoZoVodk5gpktgRg1sFkdk1k9spgdcxk1sBcpktkBc1sdkdoJodsBslotc1sBsxkJgxsBoloBk5ctghk9opgRoFgJoBg5cdo9cFg5c9oVoxsFsBgJgxoxk5oBcpklg5o1kVgdkFgBs9gRoloJ8ZoNoRgpslkVopk

esab倒过来就是base,先将编码reverse

特定base62解密

base编码解码-base64、base32、base16加密与解密 - 在线工具

base64解密

base91解密

base62再解一次

最后flag为

1
flag{634285be-e7f0-9f0a-fb90-8da3a27fce06}

ezPNG

下载附件

password文本内容

1
5oOz5oOz6L+Z5piv5YGa5LuA5LmI55qE5a+G56CB77yaY2ltYmFy

赛博厨子一把梭得到

有密码 cimbar,然后png文件不能正常打开,只能想到异或XOR

百度搜索得到

用摄像头传输文件 —— Cimbar - 哔哩哔哩

找到解码工具

1
https://github.com/sz3/cimbar

最后flag为

1
flag{c06ff653-d96e-4c59-9667-655a8a18862e}

so far so good

国外原题

OliCyber.IT-Writeups/2024-nazionale/misc03.md at master · OliCyberIT/OliCyber.IT-Writeups

改一下脚本即可

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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
import pyshark
from collections import defaultdict
from Crypto.Cipher import ChaCha20
import sys

KEYSET = 0x74
NONCESET = 0x11
STORE = 0xC1
RESET = 0xB8
ACK = 0x14
ERROR = 0xFF

streams = defaultdict(lambda: b"")
cap = pyshark.FileCapture(f"C:\\Users\\23831\\Desktop\\so far so good\\dump.pcapng")

for p in cap:
try:
i = int(p.tcp.stream)
streams[i] += bytes.fromhex(p.data.data)
except:
pass
cap.close()

stream = streams[0]

kidxs = [i for i, x in enumerate(stream) if x == KEYSET]
nidxs = [i for i, x in enumerate(stream) if x == NONCESET]
print(f'{kidxs = }')
print(f'{nidxs = }')


def read():
global stream
s = stream[0]
stream = stream[1:]
return s

class Message():
def __init__(self) -> None:
self.code = None
self.param = None
self.len = None
self.data = None

def read(self):
self.code = read()
self.param = read()
self.len = read()
self.data = []
for i in range(self.len):
self.data.append(read())

def handle(self):
global KEY, IV, cipher, keyset, nonceset, cipherset
match self.code:
case KEYSET:
for i in range(32):
KEY[i] = self.data[i]
keyset = True
cipherset = False
case NONCESET:
for i in range(8):
IV[i] = self.data[i]
nonceset = True
cipherset = False
case STORE:
if not keyset or not nonceset:
return
if not cipherset:
cipherset = True
cipher = ChaCha20.new(key=bytes(KEY), nonce=bytes(IV))
dec = cipher.decrypt(bytes(self.data))
for i in range(self.len):
FLAG[10 * self.param + i] = dec[i]
if -1 not in FLAG:
print(bytes(FLAG))
return True
case RESET:
KEY = [0] * 32
IV = [0] * 8
keyset = False
nonceset = False
cipherset = False

_stream = stream[:]
for ki in kidxs:
for ni in nidxs:
if ki > ni:
continue

print('key index:', ki, '\tnonce index:', ni)

KEY = [-1] * 32
IV = [-1] * 8
FLAG = [-1] * 40
keyset = False
nonceset = False
cipherset = False
cipher = None

try:
stream = stream[ki:]
m = Message()
m.read()
m.handle()

stream = stream[ni-ki-35:]
m = Message()
m.read()
m.handle()

while len(stream)>0:
ni = stream.index(NONCESET) if NONCESET in stream else 99999
si = stream.index(STORE) if STORE in stream else 99999
next_idx = min([ni, si])
stream = stream[next_idx:]
m = Message()
m.read()
if m.handle():
break
except:
print('Exception')
pass
stream = _stream[:]

最后flag为

1
flag{0h_usb_0v3r_1p_i5_s0_c00l_567c08e6}

Forensics

恶意数据处理行为分析(操作日志分析) (DSA)

题目描述:

1
请选手根据该员工办公电脑系统内存镜像进行分析溯源,识别出数据窃取者的恶意进程与外联的恶意ip,按照flag{md5(进程名_恶意ip)}进行提交

下载得到内存文件,载入lovelymem

找恶意进程那就查看进程列表

恶意进程为

1
Mfpmp.exe

官方wp上说是svchosts.exe,也是没找到……

恶意进程ip,那就查看网络连接

进程对应的外联地址为

1
40.19.35.4

但官方wp上是8.130.117.137,没找到不知道为什么

最后结果为

1
svchosts.exe_8.130.117.137

md5加密得到flag

1
flag{a711ef019b3dc8054a0ce28fc69644d9}

数据加解密识别和分析(数据水印)(DSA)

题目描述:

1
经分析该大数据平台网络无外联情况,通过溯源锁定了公司内部某位员工的办公电脑,现给出该员工上网的部分流量以及办公电脑系统内存镜像,请选手根据给出的信息找到泄露的网络拓扑图。将图内含有flag的字符提交平台进行评分。(提示:了解到内部员工具备一定安全意识,重要的文件采取了加密措施)

下载得到一个流量包文件和上题的内存文件

还是用lovelymem载入内存文件,先文件扫描过滤zip字符串,发现有zip文件

导出文件

发现有密码,再看流量包文件,使用ctfnat-A一把梭得到一些文件

解压pass压缩包得到

一眼双图盲水印

得到压缩包密码:ffzx1f90

解压压缩包打开拓扑图得到flag

最后flag为

1
flag{51edaf9b227870c1a274a3d8d3eb8a60}

数据处理业务分析(路径分析)(DSA)

题目描述:

1
结合相关威胁情报,泄露的网络拓扑图通过自动化程序发送到外联恶意IP,请选手根据办公电脑系统镜像进行溯源,分析自动化程序为何种网络应用服务(邮箱、网址、ftp等),请将该应用服务对应的账号或地址信息转化为小写32位md5值提交到平台进行评分

还是lovelymem载入内存文件,直接查看cmd命令记录

估计是环境变了,找不到,官方wp上是

1
upload.exe-send 5f09e9053f238ce5@gmail.com

将邮箱md5加密

最后flag为

1
flag{952be779626f9fed2159e21d67ee0c3c}

文章作者: yiqing
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 yiqing !
  目录