打开数据包发现存在大量的ICMP的请求包和响应数据包。
分析发现请求包和响应包的数据部分都存在着内容,内容是一串字符内容,尝试进行解密,但是失败。
发现包长度从90到164
而data段的长度从48到122
对应ascii码是0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_abcdefghijklmnopqrstuvwxyz
ICMP数据部分(data)的长度对应的ASCII码有可能是flag值,利用脚本将ICMP数据部分的长度提取出来,发现是一串base64编码的字符串,然后利用base64解码,得到flag,flag值为:flag{xx2b8a_6mm64c_fsociety}
#!/usr/bin/python
# coding=utf8
import pyshark
import base64
L_flag= []
packets = pyshark.FileCapture('fetus_pcap.pcap')
for packet in packets:
for pkt in packet:
if pkt.layer_name == "icmp":
if int(pkt.type) != 0:
L_flag.append(int(pkt.data_len))
c=len(L_flag)
for i in range(0,c):
L_flag[i]=chr(L_flag[i])
print(''.join(L_flag))
print(base64.b64decode(''.join(L_flag)))
flag{xx2b8a_6mm64c_fsociety}