2023年全国工业和信息化技术技能大赛(工业互联网安全福建省选拔赛)复盘

初赛

MISC

Covertchannel2

近日,公司Windows服务器被入侵,黑客使用了一个比较隐蔽的信道将机密凭据传输了出去,但是蛛丝马迹还是被流量采集设备捕获了,你能从中找回丢失的flag吗?

流量分析

此时打开这个pcap包发现此时都是MQTT协议的流量包,此时我们注意MQTT协议中传输的Message信息,此时发现在Message中存在rsa.key

这个时候我们可以使用命令将所有的Message全部提取出来
tshark -r '/home/hey/桌面/Covertchannel.pcap' -T fields -e "mqtt.msg"

此时进行转换后发现存在三个数据包分别是rsa.key、sercet.txt、data.zip

此时感觉是base64编码;继续进行解码;此时发现data.zip存在密码
先对rsa.key进行解码发现这是个rsa的私钥

此时继续对sercet.txt进行解码并使用rsa私钥对其进行解密得到一串字符串

此时因为前面的data.zip存在密码,此时我们怀疑该字符串是zip的密码

flag{a3e0f096-17ed-4c0b-8895-4dd0cbabafaf}

ezudp

此时给了我们一个客户端和一个服务端;此时很疑惑的是为啥没有其他的信息或者隐藏信息类似于压缩包或者流量包;那么此时变考虑抓取流量包包试试;此时将客户端和服务端运行并使用wireshark进行抓包

抓取流量包

此时发现了一个异常流量,此时该流量中除了我发送的信息还有另外一条中包含了一张png图片;这个时候我们直接将这张图片提取出来

此时发现这张图片无法打开,使用010打开后观察发现存在多余字符删除后即可

此时打开图片后发现是张乱码图片,此时考虑使用脚本对其进行反混淆

反混淆

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
from PIL import Image, ImageOps
import random

img = Image.open("D:/桌面/福建省工业互联网创新大赛/c.png").convert("L")
W, H = img.size

img_pixels = img.load()

res = []

for i in range(W * H):
res.append((i))

random.seed(114514)
random.shuffle(res)

a = [0 for i in range(W * H)]

for i in range(len(a)):
j = res.index(i)
a[i] = img_pixels[j % 200, j // 200]

inm = Image.new(img.mode, img.size)
inm_pixels = inm.load()

for i in range(W * H):
inm_pixels[i % 200, i // 200] = a[i]

# inm.show()
ImageOps.flip(inm).rotate(-90, expand=True).show()

决赛

文件上传上传getshell

数据库密码泄露

Rdp弱口令+Simatic敏感信息泄露