安全矩阵

 找回密码
 立即注册
搜索
查看: 2028|回复: 0

CTF杂项之基础流量分析

[复制链接]

65

主题

65

帖子

241

积分

中级会员

Rank: 3Rank: 3

积分
241
发表于 2022-7-23 20:38:28 | 显示全部楼层 |阅读模式
本帖最后由 PEnticE 于 2022-7-23 20:41 编辑

CTF杂项之基础流量分析 (qq.com)第一关:明文flag
直接搜索flag,打开wireshark,搜索设置成字符串,分组字节流。
得到flag---》flag{This_is_a_f10g}
第二关:编码flag
flag的16进制编码是--->666c6167
所以外面搜索这个即可。

然后外面把这串编码复制出来,再还原。

这样就得到了flag。
当然编码的方式不止这一种,来看看下面这个题,这个使用的是Unicode编码。
他编码后flag就变成了这样。
flag ---> flag
然后我们去搜索看看。

当我们去搜索的时候发现没有,那怎么办呢,我们就只搜索102也就是f

发现这里是存在的,我们复制出来还原一下。

发现flag变成了f1ag,怪不得搜不到,也告诉我们还是要变通一下。
例如还可以变成fIag,f|ag,fiag等,要多去尝试吧。
这边有大佬写的一个脚本,可以自己搞来玩一下,解放双手。
我们只需要修改一个地方,就是查询条件,你可以把你觉得可能遇到的flag的编码值,变形等等,全部加到里面去。

然后我们把脚本和文件流量文件放到一个目录下执行即可。

运行结束后生成一个output.txt。

他会帮我们标注flag的地址和flag出现的分组字节的内容,不过缺点是需要我们自己再去做一个解码。
第三关:压缩包

我们这边先查找http协议,然后对他的数据流做一个简单的分析。

我们来到第二个数据流的时候,这边发现返回数据包的格式应该一个压缩文件的格式,具体是什么,我们需要先对上面的发送数据进行解码。

因为这里是做了url编码,所以我们先解一下,然后再进行bs64解码。

发现是flag.tar.gz格式。

然后我们右击,选择分组字节流。
这里的X@Y是菜刀的标志位,所以我们要去掉,所以右下角的开始位我们设置为3。
然后将下面的解码设置为压缩,即可得到flag。

这种是直接查看,还有些情况是需要我们导出来。也比较简单。
显示数据格式选择为原始数据,然后点击另存为,命名成压缩包格式即可。


案例1
这是应该是一个真实赛题。
我们还是先打开,习惯性的看看http协议。
还是老样子,分析http的tcp流。

我们看到第十个数据流这边,发现他的应用层这边应该是传输了一个文件。
z1一般是文件名,z2一般是文件数据。
我们把zi解码看看,发现有一个压缩文件。

我们这边可以直接右击选中数据,然后直接点导出分组字节流,也是可以直接重命名成zip的。

导出时候,我们这边先用notepad++打开

然后转成ascll码,然后保存,这样就可以打开压缩包了。

不过这里需要密码,这里要注意一个知识点,zip加密是有一个伪加密的。
如何操作呢,也很简单,我们把我们的压缩包拖入winhex中。
具体原理解释可以看这个文章。
zip伪加密https://blog.csdn.net/kajweb/article/details/76474476

将09改成00即可。
第四关 telent协议
因为题目写的是telent,那么我们先过滤一下,只留telnet。
然后我们还是老样子,追踪一下tcp流。


会发现,他这边的发送的数据应该就是我们要的flag信息。
注意我们不能直接提交28dxws...982kwalx8e这串字符,这里的三个点是不可打印字符。所以我们还要进行一步操作,就是先把数据格式转换成hex转储格式。

这三个点对于的ascll码其实就是08,我们再对照ascll码表看一下。
08代表的应该是三个退格键。也就是往前删除三格,所以flag就应该是下面这样
原始未处理flag:flag{28dxws...982kwalx8e}正确的flag:flag{28d982kwalx8e}第五关 蓝牙协议
对于蓝牙题协议题我们可以直接搜索obex协议,因为这个协议是蓝牙传输文件的,很多flag都会在这里面。
可以在统计,协议分级统计中进行查看OBEX协议。

也可以直接搜索obex

找到传输的文件后,打开body信息,选中压缩包内容,导出为压缩包。

打开压缩包后发现需要密码

不过有提示,密码是蓝牙的PIN值。
然后我们就可以直接搜索了,选中分组详情,字符串,关键词为pin。

找到了我们的pin值为141854。

成功得到了flag。
第六关 USB键盘流量
打开数据包,发现协议均为usb的流量,一般来说是键盘和鼠标流量为主。

对于这种题,我们可以直接使用脚本。

注意:这里脚本用到了wireshark的tshrk文件,所以,要把wireshark的目录设置为环境变量。

设置好之后,我们就直接运行脚本。

直接得到flag。(原理可以看一下py脚本的注释。)
第七关 USB鼠标流量

这一关显示的全部都是鼠标流量。
这边我们还是直接用大佬写好的脚本。原理的话可以看看这篇文章。
USB流量分析https://blog.csdn.net/fjh1997/article/details/105841367最好的话可以在自己的电脑中安装一个gnuplot,然后加入到环境变量,这样的话可以直接出flag,如果不安装也可以,因为这个工具是kali自带的,所以可以把脚本跑出来的文件丢kali中再使用gnuplot也可以。

运行脚本后,他先会把坐标数据写到当前目录的result.txt文件中,然后调用gnuplot进行绘图,这样我们就拿到了我们的flag。
第八关 无线流量-湖湘杯原题
打开流量包,发现都是路由器的无线流量,协议使用的是802.11也就是无线协议。

因为是无线网数据包,直接搜索flag这些字眼是没有的,所以我们先要把这个无线网的密码给爆破出来。
这里我们丢到kali中。
aircrack-ng -w 10000.txt ctf.pcap

得到密码为password1。
然后我们再使用airdecap-ng工具加密码将流量解密。
airdecap-ng ctf.pcap -e ctf -p password1 -o open.pcap
这里的-e后面跟的是SSID的参数,我们可以在无线LAN统计中看到为ctf。

执行后得到解密后的流量包,open.pcap。

再打开,然后搜索关键词flag,就可以得到flag{H4lf_1s_3n0ugh}

扩展:其实爆破出密码后我们可以在Wireshark直接添加密码。
Ctrl+Shift+P 打开首选项,然后打开协议这边。

找到对应的协议,添加密码。

这里的密码添加是密码+SSID的键值对形式。

保存后我们直接搜http,就可以直接拿到flag。

第九关 SSL流量
开局两个文件,一个流量包一个log。

打开流量包,发现基本上都是TLS协议。

这是给经过加密的流量。
不过我们这边有ssl的密钥,也就是log文件,所以我们只需要把ssl密钥添加到首选项中既可,和刚刚添加802.11的方法是一模一样的。

加载成功后数据包中就出现了http协议。

然后我们发现请求了一个flag.txt文件,我们在看返回包中的内容,就得到了flag。
第十关 压缩包
打开数据包,搜索flag后发现有个flag.rar

我们追踪数据流,发现压缩包内容,然后我们老样子,导出为flag.rar。

打开需要密码。

还记得我们之前说的伪加密吗,但是这道题用16进制打开后发现,加密位均为00,所以是真实加密。
我们在流量包中搜pass,password等关键词,也是没有的,所以我们之内先尝试爆破了。

一般来说应该是就是纯数字,我们可以从第四位到第八位开始,这样节约时间。
压缩包爆破工具下载地址:https://hzgzs.lanzoui.com/iroJNri9s8f

得到flag,非常简单。
第十一关 加密的压缩包
还是老样子,直接打开流量包,搜索flag。

这边因为是tcp传输,所以这个27fc就是他的分段的标志位。我们这边导出的需要把标志位去掉。不过我们可以去追踪他的http流,http是不带标志位的,我们可以直接导出。

我们右击选中http数据中的rar的压缩包数据,导出为111.rar

然后我们用hex工具打开,把前面的标志位删除掉,这个应该是菜刀的标志位。

文件因为是加密的,所以我们可以尝试爆破,不过我们导入文件后,软件无法识别,这是因为这个rar是5.0以上是版本压缩的,所以我们的软件就派不上用场了。

这里我们可以使用hashcat工具进行爆破,kali自带的。
首先获取到rar压缩文件的hash。
rar2john 1111.rar

然后将hash保存成test.hash文件。然后使用hashcat进行爆破。
hashcat -m 13000 -a 0 test.hash 1000.txt


成功后密码就在这里展示,密码为123456。

得到flag。
第十二关 数据包中的线索
打开数据包会发现,基本上都是dns和TCP。

我们这边就过滤一下,先看http。

发现这边有个fenxi.php,然后返回包是200,里面有数据,我们右击显示分组字节看看。

看着有点像bs64,我们可以直接在左下方选中解码为bs64。

可以看到是图片格式,我们可以选择显示为图像。

得到flag。
第十三关 工业协议分析
打开流量包,搜索flag。

我们这边使用一个小技巧,就是利用数据大小排序,先看看最大的一个包。

发现最大的这个包传输了一张图片。

然后我们需要把前面的标志位去掉,然后bs64解码,显示为图片。

得到flag。
第十四关 sql流量
打开数据包,我们看到大部分流量为http,我们就先统计一下http请求。

可以看到,这边请求是一个sql的盲注。

看到这边,应该是是对flag字段的爆破。
所以我们把这边这个流量提取出来,我们使用一个flag提取工具。

然后我们导出成txt格式。
我们知道,我们flag的f的acsll码是102。

所以这个1,1这个位置爆出来是f,所以他开始爆破下一位,我们可以根据这个方法,找到每位爆破的最后一位,其他的全部删除即可。

最后搞完的样子就是这样,然后我们把每一位的ascll提取出来,转成字符即可得到flag。

我们这边再使用xls把最后的数字进行分列提取,接着可以把ascll码复制到单独的表中,然后插入公式。

我们就可以得到。

然后我们只需要选择B1,然后我们往下拖动即可,相信大家都是会的。

这样我们就拿到了flag。
我也是第一次搞流量分析题,有啥不对的还请大佬们指点指点
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2025-4-26 09:59 , Processed in 0.014949 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表