CTF——MISC习题讲解(流量分析winshark系列)
前言
上一章节我们已经做完一场流量分析杂项题目,接下来继续给大家讲解流量分析系列。
一、misc4
打开题目后除了一个流分包还有一个txt文档

既然都这么告诉了,那就直接在统计里寻找一下这个特殊的PHP文件


然后直接在界面搜索一下这个文件看看
直接能得到flag,其实这个题也就是基础题,并不是太难,只要会统计这个功能几乎就可以的。
flag{FLAG-GehFMsqCeNvof5szVpB2Dmjx}
二、telnet
打开题目后发现还是有一个wishing文档,这样的文档一定得读一下

目前没有什么大的用处,那么我们就继续看看流量分析包,因为题目是telent,那指定和这个有关,直接筛查telent协议即可
然后直接右键追踪流看看
发现有flag字眼了已经

发现flag直接呈现了出来,但是正常的flag不会有中间那3个点
这个题的重难点就在于这3个点,其实这3个点叫做不可打印字符
那么接下来我们就应该考虑一下如何把这个处理一下,我们要把这个数据存为16进制的
发现这三个点对应的ASCII码是08
那么查看对应的ASCII表格可以看到08对应的是退格
所以28dxws…982kwalx8e
退格之后变成 28d982kwalx8e,这也就是最终的flag
flag{28d982kwalx8e}
三、蓝牙协议2
打开题目后观察如下
因为题目中已经告诉是蓝牙,所以点击 统计->协议分级
搜索后发现在这里有一个压缩包,感觉应该是一个突破点
直接导出压缩包进行查看
保存后发现,得用7z为结尾才可以,压缩包没有办法暴力破解解密,看文档中名字是
搜索一下pin看看有没有什么线索
试试这个密码看看是不是正确的
最终获取到flag{6da01c0a419b0b56ca8307fc9ab623eb}
四、USB-键盘流量
这个题因为题目告诉我们是USB-键盘流量分析
可以看到都是USB的,直接上脚本就可以,但是在上脚本之前要做些配置
先查看一下脚本
我们找到winshark文件所在的目录
给他设置一个全局变量

设置完后,开始运行脚本即可
flag{thisisgoodkeyboard}
代码脚本如下
-*- coding: cp936 -*
import os
os.system("tshark -r test.pcapng -T fields -e usb.capdata > usbdata.txt")
normalKeys = {"04":"a", "05":"b", "06":"c", "07":"d", "08":"e", "09":"f", "0a":"g", "0b":"h", "0c":"i", "0d":"j", "0e":"k", "0f":"l", "10":"m", "11":"n", "12":"o", "13":"p", "14":"q", "15":"r", "16":"s", "17":"t", "18":"u", "19":"v", "1a":"w", "1b":"x", "1c":"y", "1d":"z","1e":"1", "1f":"2", "20":"3", "21":"4", "22":"5", "23":"6","24":"7","25":"8","26":"9","27":"0","28":"<RET>","29":"<ESC>","2a":"<DEL>", "2b":"\t","2c":"<SPACE>","2d":"-","2e":"=","2f":"[","30":"]","31":"\\","32":"<NON>","33":";","34":"'","35":"<GA>","36":",","37":".","38":"/","39":"<CAP>","3a":"<F1>","3b":"<F2>", "3c":"<F3>","3d":"<F4>","3e":"<F5>","3f":"<F6>","40":"<F7>","41":"<F8>","42":"<F9>","43":"<F10>","44":"<F11>","45":"<F12>"}
shiftKeys = {"04":"A", "05":"B", "06":"C", "07":"D", "08":"E", "09":"F", "0a":"G", "0b":"H", "0c":"I", "0d":"J", "0e":"K", "0f":"L", "10":"M", "11":"N", "12":"O", "13":"P", "14":"Q", "15":"R", "16":"S", "17":"T", "18":"U", "19":"V", "1a":"W", "1b":"X", "1c":"Y", "1d":"Z","1e":"!", "1f":"@", "20":"#", "21":"$", "22":"%", "23":"^","24":"&","25":"*","26":"(","27":")","28":"<RET>","29":"<ESC>","2a":"<DEL>", "2b":"\t","2c":"<SPACE>","2d":"_","2e":"+","2f":"{","30":"}","31":"|","32":"<NON>","33":"\"","34":":","35":"<GA>","36":"<","37":">","38":"?","39":"<CAP>","3a":"<F1>","3b":"<F2>", "3c":"<F3>","3d":"<F4>","3e":"<F5>","3f":"<F6>","40":"<F7>","41":"<F8>","42":"<F9>","43":"<F10>","44":"<F11>","45":"<F12>"}
nums = []
keys = open('usbdata.txt')
for line in keys:
#print(line)
if len(line)!=17: #首先过滤掉鼠标等其他设备的USB流量
continue
nums.append(line[0:2]+line[4:6]) #取一、三字节
#print(nums)
keys.close()
output = ""
for n in nums:
if n[2:4] == "00" :
continue
if n[2:4] in normalKeys:
if n[0:2]=="02": #表示按下了shift
output += shiftKeys [n[2:4]]
else :
output += normalKeys [n[2:4]]
else:
output += '[unknown]'
print('output :' + output)
五、无线流量
这个题是我第一次遇到,不过也是非常好的一个典例,大家可以看下
在这里先给大家说一下802.11协议

题目中也说了,这是一个无线流量,对于这个题可以直接看流量即可

发现这个无线网名字就是ctf
接下来就得对这个无线网进行破解密码
这里给大家介绍一个kali中自带的工具——aircrack-ng
aircrack-ng是一个与802.11标准的无线网络分析有关的安全软件,主要功能有:网络侦测,数据包嗅探,WEP和WPA/WPA2-PSK破解。Aircrack-ng可以工作在任何支持监听模式的无线网卡上(设备列表请参阅其官方网站或[1])并嗅探802.11a,802.11b,802.11g的数据。该程序可运行在Linux和Windows上。Linux版本已经被移植到了Zaurus和Maemo系统平台, 并概念验证可移植到iPhone。
aircrack-ng ctf.pcap -w 1000.txt
字典的话大家可以直接自己整理或者私聊我都可以
发现密码后,就对这个流量包进行破解即可
airdecap-ng -p password1 ctf.pcap -e ctf -o wife.pcap
然后得到wife.pcap,对这个流量包在进行分析即可,直接查找flag
最终得到flag{H4lf_1s_3n0ugh}
本文详细介绍了CTF比赛中的MISC类型题目,通过Wireshark进行流量分析解决各种谜题。涉及misc4、telnet、蓝牙协议2、USB键盘流量和无线流量等多个案例,讲解如何利用Wireshark的功能提取关键信息,如搜索PHP文件、追踪流、解密蓝牙协议、分析USB键盘流量和破解无线网络密码。每个案例都给出了具体的解决步骤和flag。
&spm=1001.2101.3001.5002&articleId=123493192&d=1&t=3&u=3419f610767d49f3ba531e3b3e5ea53f)
5100

被折叠的 条评论
为什么被折叠?



