追踪 Protocol 为 IRC 的流,可以得到一段聊天内容
大意是传输了一个 encode.pyc 文件,并用其加密了一段文字,密文如下:
Wmkvw680HDzDqMK6UBXChDXCtC7CosKmw7R9w7JLwr/CoT44UcKNwp7DllpPwo3DtsOID8OPTcOWwrzDpi3CtMOKw4PColrCpXUYRhXChMK9w6PDhxfDicOdwoAgwpgNw5/Cvw==
于是就想办法提取出这个 pyc 文件,pyc 是 python 编译后的文件(pyc pyo 等文件格式的详解: https://blog.youkuaiyun.com/willhuo/article/details/49886663 )
继续检查数据包,在筛选器中筛选 data 可以发现这个包
可以看到它的开头是 16 0d ,这是 Python 3.5 编译后的特征码 ,可以确定这就是我们要找的 encode.pyc(Python 各版本编译后的特征码可以在这查询 https://gist.github.com/delimitry/bad5496b52161449f6de )
将提取出的 encode.pyc 文件用 uncompyle6 ( https://github.com/rocky/python-uncompyle6 )反编译如下:
# Offsec Research CTF Team
import random, base64, string, sys
P = [27,35,50,11,8,20,44,30,6,1,5,2,33,16,36,64,3,61,54,25,12,21,26,10,57,53,38,56,58,37,43,17,42,47,4,14,7,46,34,19,