2024红明谷卫星应用数据安全场景赛初赛|加密的流量Writeup

先跟我把比赛的名字念一遍

2024数字中国创新大赛卫星应用数据安全赛道暨第四届“红明谷”杯大赛

加密的流量

题目描述

在某个日常巡查卫星系统中,发现有人私自向外传输了一份文件。

Wireshark打开之后可以看到少量的数据包。

在第4个和第5个UDP包的Data字段可以看到hex数据。

分别hex解密看看结果:


现在得到如下信息:

HANDSHAKE
AES-EBC FF

那么本道题的主旋律肯定是AES-ECB解密,以及在某个环节需要FF出场。接下来就是漫长的脑洞解密,挨个尝试解密数据包的Data字段。
最终发现过滤UDP协议后,在第7个数据包和第31个数据包中可以提取出hex数据。

ada796133d9a31fa60df7a80fd81eaf6114e62d593b31a3d9eb9061c446a505698608c1e8a0e002b55272a33268c3752

第31个数据包

ada796133d9a31fa60df7a80fd81eaf6a8642abc3e1b87b97d5914deaf34a5990de3339105f40d4bca0dc7c82893c8f470d2ce54ec5386a6e7dda6adbe92c7fdbb0f328790f6a2f098084892b2f2554fc6e632da9e00f4791118444dc7f58666f1a568ed25a8a4ef039bc2d92432e514f1a568ed25a8a4ef039bc2d92432e514f1
……
5de1412332af74da88961b8df9c59ded5de1412332af74da88961b8df9c59ded5de1412332af74da88961b8df9c59ded5de1412332af74da88961b8df9c59ded5de1412332af74da88961b8df9c59ded5de14123c85cd6129c2a98f1c62bcbd45ca9f559

对比可以发现,前32个字符是一致的,分别将数据异或FF之后观察。
第7个数据包中前32个字符ada796133d9a31fa60df7a80fd81eaf6异或FF之后的结果是525869ecc265ce059f20857f027e1509,猜测这个大概率是Key。

删掉第7个数据包中前32个字符,解密剩下的数据,是一个测试的flag:

114e62d593b31a3d9eb9061c446a505698608c1e8a0e002b55272a33268c3752


再用525869ecc265ce059f20857f027e1509作为Key来解密第31个数据包,同样的,要删掉第31个数据包Data字段的前32个字符。

综上,可以得到一个ole2文档,接下来可以分析文档宏代码,也可以用https://github.com/decalage2/oletools来提取。

pip3 install oletools
olevba download.ole2


可以得到6c666b6d713f333f323c383a6b6c6f3e693f3c6f683b396f326c6e683f6f3b3a6e3e6c3d3977
再使用Cyberchef的XOR Brute Force模块来解密,发现再次异或0a即可得到flag:

再次感谢

2024数字中国创新大赛卫星应用数据安全赛道暨第四届“红明谷”杯大赛