题目地址
https://game.fengtaisec.com/#/startQuestions/10
题目描述
不久前,运维人员在日常安全检查的时候发现现场某设备会不时向某不知名ip发出非正常的ICMP PING包。这引起了运维人员的注意,他在过滤出ICMP包分析并马上开始做应急处理很可能已被攻击的设备。运维人员到底发现了什么?flag形式为 flag{} 。
解题思路
下载流量包,使用Wireshark打开,里面全是icmp的流量包,直接搜索flag、png、webshell等关键字一个也没有发现。
看长度异常的流量包,发现流量包里面包含的字符串无法正确解码。
查看其他师傅的wp得知,每个ICMP包中的data段中的数据长度都为十进制ASCII码的可显示字符范围。
将ICMP请求包中的data字段数据提取出来,请求和返回包的数据是一样的,得到data字段的字节流数据,统计每个包提取出来的data字段的长度,转换为ASCII码即可。
python脚本
import pysharkimport base64l = []packets=pyshark.FileCapture('fetus_pcap.pcap')#print(packets[0])for packet in packets: for pkt in packet: if pkt.layer_name == "icmp": if int(pkt.type) != 0: l.append(int(pkt.data_len)) c= len(l)for i in range(0,c): l[i] = chr(l[i]) #print(l)print(base64.b64decode(''.join(l)))
flag{xx2b8a_6mm64c_fsociety}