The nack

100

Our IT staff captured this weird looking transaction.
Can you tell us what it says??

pcapngファイルをWiresharkで開きます。TCPストリーム0を表示してみます。
00000000  47 4f 41 54 01 47 49 46  38                        GOAT.GIF 8
次にTCPストリーム1を表示してみます。
00000000  47 4f 41 54 01 39 61 4e  02                        GOAT.9aN .
TCPストリーム2を表示してみます。
00000000  47 4f 41 54 01 e1 00 a1  00                        GOAT.... .
TCPストリーム3を表示してみます。
00000000  47 4f 41 54 01 00 ff ff  ff                        GOAT.... .
TCPストリーム4を表示してみます。
00000000  47 4f 41 54 01 00 00 00  ff                        GOAT.... .
以上を整理すると、次のとおり、GOAT.の後ろの4バイトがGIFのデータになっていることがわかります。
47 49 46 GIF
38 39 61 89a
4e 02 幅=590
e1 00 高さ=225
a1 
00 
00 
ff ff ff 00 00 00 ff 
それでは、GOAT.(47 4f 41 54 01)の次の4バイトを抽出してファイルに保存するPythonプログラムを書きます。
import re

filename = r'ce6e1a612a1da91648306ace0cf7151e6531abc9.pcapng'
with open(filename, 'rb') as f:
data = f.read()

i = 0
with open("aaa.gif", 'wb') as f:
while i >= 0:
i = data.find("GOAT\x01", i+5+4)
f.write(data[i+5:i+5+4])
作成されたファイルを開くと、次のようなアニメーションGIFファイルです。下図は1フレーム目の画像です。

1
 
順番にフレームを見てみると、17フレーム目にフラグがあります。

17

フラグは、 
TUCTF{this_transport_layer_is_a_syn}