V3D4's Blog

安全技术记录/分享/交流

0%

pyshark模块的一些用法

好久没更新了,随便写点吧,懒是真的懒,懒狗没救了( ╯□╰ )

做了道比较简单的流量分析题,主要学到了pyshark的一些简单操作,题目是这个

  • 工业信息安全技能大赛-2019-山东站-线上-简单流量分析

打开文件一看发现是一堆icmp流量,观察一下数据长度发现没超过126的,应该是ascii码没错了

之后当然是写个脚本提取一下了,脚本如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import pyshark
import base64

L_flag = []
packets = pyshark.FileCapture('fetus_pcap.pcap')
for packet in packets:
# print(type(packet)) # 整个包,type是<class 'pyshark.packet.packet.Packet'>
for pkt in packet:
# print(type(pkt)) # 分成了三个layer,type是<class 'pyshark.packet.layer.Layer'>
if pkt.layer_name == "icmp": # 判断包类型是否为icmp
# print(pkt.type)
if int(pkt.type) != 0: # 判断是否为请求包,请求包为8,响应包为0
# print(pkt.type)
L_flag.append(int(pkt.data_len)) # 获取长度
c = len(L_flag)
print(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)))

把所有请求包长度提取出来转换为字符,发现是base64,解码后得到flag

Ojpcbm1vbmdvZGI6IToxNzg0MzowOjk5OTk5Ojc6OjpcbnVidW50dTokNiRMaEhSb21URSRNN0M0bjg0VWNGTEFHe3h4MmI4YV82bW02NGNfZnNvY2lldHl9Ojo= b'::\\nmongodb:!:17843:0:99999:7:::\\nubuntu:$6$LhHRomTE$M7C4n84UcFLAG{xx2b8a_6mm64c_fsociety}::'