CTF杂项之基础流量分析
2022-7-19 19:16:7 Author: 小白渗透成长之路(查看原文) 阅读量:35 收藏

微信公众号:[小白渗透成长之路]
弱小和无知不是生存的障碍,傲慢才是!
[如果你觉得文章对你有帮助,欢迎点赞]

好久不见,最近去忙了一点小东西,因为慢慢开始有打ctf的需求,所以开始研究研究ctf

这边我看的视频是bilbil的。视频地址:https://www.bilibili.com/video/BV1r5411h7aw?p=1环境脚本工具可以在视频详情那下载。

第一关:明文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格式。

然后我们右击,选择分组字节流。

这里的[email protected]是菜刀的标志位,所以我们要去掉,所以右下角的开始位我们设置为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。

我也是第一次搞流量分析题,有啥不对的还请大佬们指点指点


文章来源: http://mp.weixin.qq.com/s?__biz=MzU1NzgyMzA0OA==&mid=2247489461&idx=1&sn=70f82f99518f3b6b8559537403b44e77&chksm=fc2eb292cb593b8406aed3578c10790a1eef190576237125bbb83e085ab7e61849daba9f515d#rd
如有侵权请联系:admin#unsafe.sh