misc study 流量包

明文

最简单的

1
strings a.pcap | grep -i -E 'flag|ctf'

密文

搜索常见的几个加密

1
2
3
4
5
6
#16
strings a.pcap | grep -i -E '666c6167|464c4147|637466|435446'
#base64
strings a.pcap | grep -E 'ZmxhZ|RkxBR|Y3Rme|Q1RG'
#unicode
strings a.pcap | grep -E 'flag|FLAG|ctf|CTF'

数据包

在压缩包中或者图片中,熟悉rar,zip,tar.gz,jpg,png等常见的文件头,以及jpg,png的base64格式头部特征,提取数据

USB

USB流量可以很杂,可以看看USB2.0协议
最基础最简单是则是键盘流量以及鼠标流量

鼠标流量

首先要抓取流量

1
tshark -r usb.pcap -T fields -e usb.capdata | sed '/^\s*$/d' > usbdata.txt

如果提取出来的数据没有冒号,可以用脚本来加上冒号(因为一般的脚本都会按照有冒号的数据来识别,有冒号时提取数据的[6:8],无冒号时数据在[4:6])

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#加冒号脚本
f=open('usbdata.txt','r')
fi=open('out.txt','w')
while 1:
a=f.readline().strip()
if a:
if len(a)==8: #鼠标流量
#if len(a)==16: #键盘流量
out=''
for i in range(0,len(a),2):
if i+2 != len(a):
out+=a[i]+a[i+1]+":"
else:
out+=a[i]+a[i+1]
fi.write(out)
fi.write('\n')
else:
break

fi.close()

转换坐标轴

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#转换坐标轴脚本
nums = []
keys = open('out.txt','r')
f = open('xy.txt','w')
posx = 0
posy = 0
for line in keys:
if len(line) != 12 :
continue
x = int(line[3:5],16)
y = int(line[6:8],16)
if x > 127 :
x -= 256
if y > 127 :
y -= 256
posx += x
posy += y
btn_flag = int(line[0:2],16) # 1 for left , 2 for right , 0 for nothing
if btn_flag == 2 : # 1
f.write(str(posx))
f.write(' ')
f.write(str(posy))
f.write('\n')

f.close()

键盘流量