• CTF流量分析题大全(掘安攻防平台)


    突然想做一下流量分析题,记得掘安攻防实验室上面有很多的流量分析题目,故做之

    流量分析题一般使用的都是wireshark,(流量分析工具中的王牌

    夺取阿富汗

      

    说了分析http头,所以直接过滤http协议

    追踪流

    发现响应头里面有CTF: dGhlRmxhZ0luSHR0cEhlYWRlcg==

    一看就是base64编码,解码得:

    夺取阿曼:

    下载之后解压,使用wireshark打开出错

    当然在题目里面已经提示了pcap文件已经损毁,另外还有zip文件存在,我们先使用windows下的foremost的工具看能否分离出zip文件

     得到压缩包,打开其中的key文件

    获得key

    夺取安哥拉:

    打开之后发现全部都是TCP包,直接追踪流

     仔细观察了一下数据流,发现有CTF{ 

    同时可以看到下一行有some_,所以找到所有带有下划线的单词,即

    some_,leaks_,are_,good_,leaks_

    所以最后的答案是CTF{some_leaks_are_good_leaks_}

    夺取澳大利亚:

     这次的流量包挺大的,网站账户密码,我们首先过滤http数据流,一般账户和密码的提交方式都是post方式,所以我们的过滤语句写成这样:

    http.request.method==POST

    注意到第二个数据包是 /index.php?action=login&show_server_selection=1

    追踪HTTP流

    在流量包的最底端发现了user和password,按照题意拼凑即可

    夺取巴布亚新几内亚:

    随手找一个数据包追踪流就找到了flag(水

    夺取刚果(布)

    这里找了好久,过滤的语句写的是ftp

    一直没有找到,回来看了一下题目,重点是 ftp-data

    第三个数据包追踪流即可

    夺取哥斯达黎加:

    打开之后发现里面都是http的数据包,随便翻了几个数据包追踪流之后,发现里面的文本信息很多(虽然我都看不懂)

    包括有PNG图片隐藏在数据流里面

     所以我们采用foremost 或者 binwalk 分离出里面的东西

    output里面有好几张图片,咱们不着急,慢慢找flag

    先对第一张图片查看属性,然后使用StegSolve进行图像的分析:

    左下角就出现flag了

    flag{J0hn_th3_Sn1ff3r}

    这道题考的知识点比之前几道题要稍微多一点

    夺取格陵兰:

    题目是ssl-sniffer2,对于ssl的嗅探

    同时在下载的压缩包里面有一个私钥文件,所以应该是通过私钥解密数据包后找到flag

    打开后发现里面都是TLSv1.2的数据

    这里我就不会了,采用官方题解里面的做法:

    打开编辑里面的首选项,(也可以使用ctrl+shift+p召唤打开)

    打开Protocols,找到里面的TLS(我这里版本的原因没有找到,SSL一样的)

     

    在右边的这个位置点击Edit

     IP地址填127.0.0.1,端口是445端口(为啥要是445端口,这里我换成了443端口还是可以找到最后的flag),协议是http

    key file放入私钥文件,

     设置好了之后我们就一路ok下去

    回到主页之后发现有两个http的数据包绿了

     直接追踪ssl流,发现已经解密出了key

     获得flag

    夺取古巴:

     打开数据包,查找post传输的数据包

     可以推断是通过post传输一个文件

    然后传输文件的五个包序号是 163,289,431,577,729

    我们直接采用导出HTTP对象的方式导出这五个数据包

    点击wireshark 左上方 文件-->导出对象-->HTTP

     导出刚才那几个序号的文件

    使用WinHex打开第一个文件,发现有Rar文本数据

    (右下角Rar)

    打开第二个文件,发现开头部分跟第一个文件是相同的

     所以可以猜测开头的是干扰数据,实际上POST传输的是一个压缩包文件,所以我们在WinHex里面重新打开一个文件,将五个文件里面的文本数据拼凑成rar文件

     为了防止我们有的地方没有复制到,我们可以记下相同位置的十六进制的值,这里就是:

    0160hB这里,我们之后的四个文件也在这个位置进行拼凑

    拼凑好了之后保存为test1.rar文件

    打开:

     现在可以看到里面已经有flag.txt

    但是此时压缩包报错,说文件头已损坏,并且打开是需要密码的

     这里的话没有什么线索,我们可以猜测 1,需要密码爆破,但是这里文件头报错,所以应该不是密码爆破

    2,是rar伪加密

    不到最后我们不使用爆破,所以在010editor里面更改rar的文件头十六进制

     将第二行里面的84改为80 ,再次打开压缩包的时候,就可以成功打开rar文件里面的flag.txt文件了

    (这里有一个坑点,我们在拼凑rar文件的时候应当按照wireshark传输包的顺序来拼凑rar文件,而不是按照自己储存五个数据包文件的顺序来拼凑,因为windows是按照文件名来排序的而不是传输的顺序,如果不这么拼凑的话,就会提示你,不仅文件头错误而且文件尾也会错误,这里我找了好久才找到原因,太菜了

    flag.txt文件里面打开后看到了 win32,说明这是一个exe文件

    把flag文件的后缀名改成exe,打开看一下

    打开之后就会看到几只苍蝇在桌面上爬行(这里就不截图了)

    exe文件没有多余的线索的话我们就采用foremost 分离它看能否找到线索

    分离出来了一大堆苍蝇的图片,将png图片拉到最下面,发现二维码:

    扫描获取flag

    夺取洪都拉斯:

     打开之后打开几个流量包追踪流

    发现其中有一个有 login 和 password

     用户名是fake,密码是user

    最后的flag就是 fakeuser

    夺取几内亚:

    打开流量包之后随便找一个进行追踪流:

     发现密码,但是输入这个密码是错误的:backdoor...00Rm8.ate

    在流量包里面我们可以发现这是一个传输给linux主机的包,在linux下我们可以使用showkey -a查看键盘跟ASCII码的映射关系:

     在这里我们发现  .点 对应的 ASCII码是0x7f

    而在linux中对应0x7f的键盘位置是退格键

    这就说明了,输入这一串密码的人,是先按下了backdoor之后,又删除了oor,再输入了00Rm8,然后再删除了8,最后输入了ate

    知道了输入者输入的过程之后,我们就知道它的密码了:backd00Rmate

    夺取加拿大:

     打开流量包之后,看了一下导出对象里面的http,发现:

     把flag.zip导出并保存,打开的时候发现有密码

    一般这种有密码的话要么是伪加密,要么是爆破,或者是流量包里面有password

    先观察流量包里面的其他文件,发现第三个是pass.php,而且是text/html格式的,导出看看

     在里面发现了密码

    打开压缩包,获取flag

     夺取喀麦隆:

    打开流量包,发现流量包的数量很少:

     直接跟踪流,发现是以post的方式更新密码

    查看post表单里面提交的数据:

     发现password里面就有flag

    在url在线解密网站上面进行解密,获得flag

    夺取科特迪瓦:

    题目里面已经给出了提示,有两个点是我们需要注意的:有密码的压缩包,通过邮箱传递的密码

    我们先打开wireshark导出对象:

     里面有两个压缩包,一个是flag.rar,另外一个是flag.zip

    我们点击flag.rar可以看到返回的状态码是404,证明这个压缩包是无效的

    所以保存flag.zip

    打开之后有输入密码提示,回到wireshark

    电子邮件是使用的smtp协议,而且在题目里面已经有了提示,所以我们过滤smtp,随手跟踪流量包

     发现里面有一段base64编码,必然是要进行解密的

    得到:

     我们尝试使用ctf@zip.key进行解密,成功

    获取flag

    夺取克罗地亚:

     题目里面已经有POST的提示了,我们打开流量包之后直接过滤post请求

     有两个POST的包,追踪第一个:

     发现了密码,提交flag{pssword},无果

    继而追踪第二个

     发现了url编码的flag

    在线url解码,获得flag:

     夺取肯尼亚:

     我们首先寻找ssc.key

    这里我就不会了,参考官方题解,官方题解猜测key是通过ftp进行传输的,因此过滤ftp-data流

     跟踪流:

     发现私钥,保存在我们本地,导入SSL

    跟之前的一道题类似,我们打开编辑-->首选项-->protocols-->SSL

     点击+号

     最后那里导入的是之前我们保存的本地的ssc.key私钥文件

    然后我们一路OK下去

    接着我们筛选ssl流

     在这些绿色的解密后的传输包里面逐一追踪SSL流进行分析,寻找flag

     发现FLAG

    做道图片杂项题:

    夺取罗马尼亚:

     下载之后发现是docx文档,里面有一张360的图片

     对这张图片进行各种操作,无果;

    然后把doxc文档丢进foremost跑了一下,直接出了另外一张图片

     密码确实是在图片中找。。。。

     夺取马达加斯加:

    感觉这个题目似曾相识,但是这个题目比之前做过的题目简单

    既然是菜刀的流量,我们筛选http的包,查找可疑的流量:

    有一个流量包是这个样子的

     很明显看出来这一部分是十六进制编码,猜测是图片,将其保存

    在winhex里面可以看到这是一张png图片

     保存之

     打开一看是只有一半的钥匙,估计还有另外一半的秘钥,继续在流量包里面寻找

    发现另外一个流量包里面是这个样子的

     看来这是一个rar文件

    显示数据那里点击原始数据,然后save as 

     里面就是一个没有加密的压缩包的图片,正是秘钥的上半部分

    拼凑起来即可获得flag

     夺取马来西亚:

    打开wireshark,因为是用户登录中的密码,密码一般都是通过http的POST请求进行传输的,所以我们筛选http里面的post请求

    只有一个,直接跟踪TCP流

     发现有pswrd,是经过url编码再经过base64加密的,解密得到

    夺取毛利塔利亚:

     看到题目里面有ftp流量包的提示,进去之后直接筛选ftp流量包

    随便追踪一个看到里面有传输压缩包文件

     筛选ftp-data,跟踪一下流文件

     看到是pk头,看来是压缩包,存储在本地,打开

    压缩包里面是一张png图片,直接就是flag了

    夺取缅甸:

     这里我们筛选ftp数据包:

     随机追踪流量包:

     因为是查找密码,所以这里的密码就是:cdts3500

    夺取摩洛哥:

     对打开的流量包进行分析

    这里找了很久都没有什么发现,然后发现有SYN包

     就是这种的:

     同时这些SYN包都是发现同一个IP地址的

    而且一会出现一个,一会出现一个,很奇怪,于是我们筛选ip是这样的数据包:

     这里可以看出来他的端口号非常奇怪,因为每次的端口号都不一样

    所以我们猜测信息藏在端口号里面,看上去端口号减去一万之后是ASCII码,于是我们写一个python脚本进行处理

    st=[102,108,52,54,58,32,73,74,117,115,116,77,97,100,101,89,111,117,87,97,116,99,104,77,101,83,117,114,102,84,104,101,73,110,116,101,114,110,101,116]
    test=''
    for i in st:
        test+=chr(i)
    print test

    得到flag:

     把前面的fl46改成flag即可

    夺取南苏丹:

     本来以为是找猜到的密码的,key{123}死活不对

     在流量包里面发现了

     flag.tar.gz

    使用kali 下面的binwalk 进行数据包里面文件的分离

    binwalk caidao.pcapng -e

    得到flag

    夺取葡萄牙:

    感觉题目的话好多。。。

    打开流量包,筛选smtp的流量包,跟踪流

     有一个很明显的base64加密的字符串

    解密

     获取flag

    挪威:

     题目里面是寻找船舶的位置,猜测是寻找经纬度

     随机跟踪一个TCP流就找到了

    瑞典:

     既然是telnet进入了电脑,我们就找telnet的数据包进行追踪

     发现在某一个数据流里面有flag.txt

    后面跟的就是key了,即key{ZmlsZUB6aXAua}

    苏丹

     因为是webshell,所以我们一开始进去的时候就筛选http POST的数据包

     这里全部都是shell.php的数据包

    开始一个个的数据流分析,最后发现一个返回的可以数据:

     将z2 进行base64解密之后获得flag

    土耳其

    这个题目的思路跟之前的某个题目思路差不多,这里就不重复说了

    ftp-->获取rar,http-->获取密码

    获得flag

    土库曼斯坦:

     都说了是送分题了

    打开wireshark之后随即追踪流即可获得flag

    FLAG:385b87afc8671dee07550290d16a8071

    伊朗

     这道题跟之前的题目也有相似

    具体来说就是通过ftp-data下载压缩包到本地,然后通过smtp寻找密码,解密即可,前面的题目如果认真的了的同学这里应该也是很快就可以AK掉的

    越南

     这道题的知识是知识盲区

    引用官方正解流程来做题

    voip是ip电话,我们需要从数据包中提取出电话的语音,然后从中找到flag

     发现有大量的RIP包,wireshark有自带的分析云因数据解码功能,点击 电话-->RTP-->RTP Streams

     开启一个RIP流VOIP的窗口,选择源IP为192.168.56.101的流,点击右下角的Analyze解码

     然后点击右下角的播放流

    点击那个播放的图标即可听到flag

    听到的语音为:

    The flag is: S E C C O N open brace(反正我是没有听清楚,hhh)9 0 0 1 I V R close brace

    因为题目限制了flag的格式,所以最终的flag为

    flag:{9001IVR}

    (此处主要是学知识,听不听得清不重要,手动捂脸)

    赞比亚

     因为是找到一个修复的数据包,所以我们先在导出对象里面看看,

     发现里面有JPG 和 pdf 文件,下载下来看看

     pdf里面找到了flag

    有空再更

  • 相关阅读:
    Canvas与Paint的0基础使用
    PHP经常使用功能
    java枚举在android项目应用
    POJ1833 & POJ3187 & POJ3785 next_permutation应用
    usb芯片调试经验
    Equals和==比較
    JSTL标准标签库具体解释
    零基础学python-3.3 标识符
    用react native 做的一个推酷client
    Linux异常关机后,Mysql启动出错ERROR 2002 (HY000)
  • 原文地址:https://www.cnblogs.com/Cl0ud/p/11824023.html
Copyright © 2020-2023  润新知