目录
简介
简单检索
简单Modbus协议分析(*)
方法一(ctrl+f)
whireshark中3个导出字符串的方法
方法二(strings)
方法三(010编辑器)
工控现场的恶意扫描(*)
modbus(*)
方法一(strings)
方法二(tcp流)
检索文件夹
异常的工程文件(*)
方法一(strings)
方法二(vscode)
2.pcap
方法一(vscode)
方法二(strings)
3.pcap
方法一(vscode)
方法二(strings)
总结
简介
检索篇基本就是流量分析中的签到题,必须要拿到的分数的题
今天要学习的是流量分析最简单的检索篇,就是只用检索一下,ctrl+f一下就出答案的题。
这些文章是给学习ctf的22级23级学弟写的,最近我会更新一些流量分析的做题技巧和知识。当然我也就是多做了一些题,理论方面也不是那么清楚,有问题大家指出来就行。
注意:有些题是网上有的,大家可以搜索去实践,但是有的是我自己收集的,搜不到的。
这一篇里面除了第一题之外的所有题全是ctfhub的
tips:*表示可以在网上搜到的题
简单检索
4G工业企业通信流量分析
这是最近比赛的拿到的题,很简单
打开后直接ctrl+f搜索flag
就会发现
很简单就出来了,至于如何提取出来在简单Modbus协议分析(*)这道题里已经详细讲过了——whireshark中3个导出字符串的方法,这里简单描述
提取字符的简单方法
方法1(显示分组字节)
方法2(追踪流)
方法3(qq微信提取)
qq、微信的截图提取文字也挺快的
注意:这题是写完加上去的,所以写的简略了些
简单Modbus协议分析(*)
打开t3.pcap,这是刚打开的页面
tips:流量分析的后缀经常事pcap和pcapng结尾
方法一(ctrl+f)
ctf流量分析入门第一步,ctrf+f查找flag,注意调成我这样
然后会发现查找不到,然后我们
这里简单按我的理解讲解一下
分组字节流:最常用的,搜索的区域就是我们数据包的内容分组详细:是查看这一部分的(截图的全部部分)
打开看看
分组列表(这个就不太清楚了,ai回答的):表示捕获到的数据包的列表,每个数据包作为一个行显示。这一部分显示了数据包的基本信息,如时间戳、源地址、目标地址、协议类型等。
没事不重要,因为分组列表用不上
搜索666c6167,666c6167是flag的16进制表示
whireshark中3个导出字符串的方法
方法1(显示分组字节)
右键,显示分组字节
或者直接复制也行
方法2(另存储)
其他的几个
然后就到你粘贴板上了,直接复制就行
方法3(追踪流)
追踪tcp流,但是这个里面没有,不知道为啥,没成功,可能是我对这个功能了解不深吧。
但是工控现场的恶意扫描(*)可以用
所以答案是
flag{DGswTfgy1GD236fs2sfF2dskLng}
方法二(strings)
这是kali里面自带的工具,好多作用,我现在就知道一个查询可见字符串的作用,挺好用的
别看他现在没什么作用,一会立大功了
方法三(010编辑器)
工控现场的恶意扫描(*)
和上一题一样,直接搜索666c6167
找到后右键,追踪流->tcp流
但是这个就可以最终tcp流
modbus(*)
这一题比较特殊,检索需要加一个条件
开始我们正常检索,像这样,只能检索到一半
两种方法
方法一(strings)
tips:这个命令会在PCAP文件“6.pcap”中查找所有长度为10个字符的字符串,并将它们输出到终端上
grep -E是启用正则表达式的意思
666c61677b => flag{
3138676854 => 18ghT
317772337d => 1wr3}flag{18ghT1wr3}
要是flag不是10位一个那就惨了,换换另一个解法
方法二(tcp流)
追踪后发现666c6167是红色,蓝色是发包,红色是回报
然后在整个对话里面赛选一下,这样就全是回包了。筛选完巴拉巴拉,就能找到,还全
666c61677b => flag{
3138676854 => 18ghT
317772337d => 1wr3}flag{18ghT1wr3}
异常的流量分析(*,离谱的检索)
这题太杂了,就放t"cp_杂"篇了
链接:
检索文件夹
异常的工程文件(*)
这一片要学习的是检索文件夹这个技巧
打开文件,发现是个文件夹
搜索众多文件中的某个字符,我有两个方法
方法一(strings)
strings $(find . | xargs) | grep flag
或者strings $(find .) |grep flag -i
tips:
$(find . | xargs)
的作用是将当前目录下所有文件和文件夹的路径作为参数传递给strings
命令。
“find .”的意思是当前文件下的所有文件(包括子文件)
xargs
命令用于将多行的输入转换为单行的参数,以便后续命令可以正确处理
$()
是命令替换的语法,用于将命令的输出作为另一个命令的参数。
flag{854P_l5q2_9Y4a_30Yw}
方法二(vscode)
ctrl+shift+f搜索flag
翻车了,没找到
2.pcap
这个道题将会教会大家学习如何在流量分析中导出文件,并进行flag查找
打开后一篇绿,全是http和tcp协议,所以我们直接开导,开导开导
tips:遇到没思路的题,可以导一下,或许就有新发现,看见http协议的,导就完了
注意一定要创建一个文件夹!!!!!!!!要不然你的桌面会炸!
报错不用管
方法一(vscode)
我们有vscode打开文件夹,ctrl+shift+f搜索flag
tip:文件夹里的文件多看php后缀的文件和app、admin文件夹下的文件
方法二(strings)
strings $(find . | xargs) |grep flag -i
flag{GehFMsqCeNvof5szVpB2Dmjx}
3.pcap|tcp
这一题也可以归到web的常规题里面,回来还会再拿来用一遍
可以取http里面看看有没有东西
很少
导出来看看
方法一(vscode)
用vscode发现flag
tips:flag经过base64加密后的头一般都是ZmF7什么什么
还有一个栅栏
flag{oDTvbhIouUObfsZRBeiPxNUZTzGLZOHO}
方法二(strings)
tips:strings $(find . | xargs) | grep -Ei 'flag|zmf7'
用正则匹配更方便
总结
1.检索字符
1)strings [文件名字] | grep -i flag
或者strings [文件名字] | grep -i 666c6167
2)ctrl+f
3)010编辑器
2.检索文件夹
1)strings $(find . | xargs) | grep -iE "flag|zmf7"
2)vscode中ctrl+shift+f
文件夹里的文件多看php后缀的文件和app、admin文件夹下的文件