Bugku-CTF分析篇-抓到一只苍蝇(在哪?here!卧槽?!好大一坨苍蝇。)
抓到一只苍蝇
抓到一只苍蝇
本题要点:pcapng包导出文件、合并连续的pcapng包、rar文件头、binwalk基本使用、foremost安装及使用
下载完成后,发现有这样一个弹框。
先试试能不能打开pcapng包呢~
我们发现是可以打开的~
在wireshark中.....
先来试试包里有没有类似flag这样的字符串
选择字符串->选择分组字节流->输入flag->查找 ~
点击 查找 按钮,寻找有用的信息。
查找出来的大多数都是类似这个样子的~
但是我们发现了 flag.txt ,它很有可能是一个压缩包中的文件,因为我们目光向上两三行,看到了 Rar! 的字符串~
我们试着把这个压缩包导出~
这里 选择文件->导出分组字节流->保存文件
啊哦....
再试试 文件->导出对象->http->save all
注意: save all 的时候,会弹出一个保存选择文件夹的窗口,一定要新建一个空文件夹..不然会混淆你原来的文件..忠告.....
导出看看,也没发现有用的信息......
so sad....
但是....我们可以看到这是在使用qq邮箱传文件...
使用包过滤语句
http.request.method==POST
我们发现好像有 fly.rar
并且,这有五个连续的包~
当然,脑洞大的大佬们可能不需要之前这么复杂的过程,直接通过题目中的苍蝇(fly),直接搜索 fly 字符串就可以发现有 fly.rar 的存在~
由于是好几个文件,需要将其合并成一个文件
以下是错误思路.....
笔者原以为,只需要将每个包内的数据拼接起来就可以了.....
于是乎,就将每个包中的数据先粘贴到 notepad++ ,然后单独选取了十六进制又放入 winhex 里准备导出....
结果事实证明.....毫无用处.....QWQ
--------手动分割线----------
借鉴了大佬们的wp....
才知道.....这里就需要去掉相同的文件头~
那么怎样才能知道文件头有多少字节呢?
首先我们从这几个数据包里观察~
先点第一个数据包,我们可以从Data看到长度 131436 bytes
然后依次点击第2、3、4个数据包~
我们发现,长度均为 131436 bytes ...
第5个包长度为 1777 bytes
那么五个包的总长度为~
131436*4+1777=527521
接着我们 ctrl+f 搜索 logattsize , logattsize 这个参数为该包中通过qq邮箱传输的文件大小参数。
527571-525701=1820
1820就是五个包的文件头总和~
1820/5=364
364就是每个包的文件头字节数~
这里我们把字节数算出来之后,就需要把这五个包导出来啦~
导出之后用 shell命令 dd,依次把五个文件去掉文件头保存成另一文件....
思路大概就是这样,现在我们开始 操作步骤 :
第1步:文件->导出对象->http
选中上图红框标记的文件逐个导出为1,2,3,4,5。
第2步:放在kali Linux中用shell命令dd
命令格式: dd if=文件名 bs=1 skip=364 of=需要保存的文件名
依次对1,2,3,4,5文件执行,分别保存为01,02,03,04,05~
第3步:将01-05迁移到自己的本机Windows中
第4步:合并文件。使用windows下cmd命令(powershell不可以的哦~)
进入文件目录
笔者这里是 C:\Users\Administrator\Desktop\bugkufly
可以自定义~
命令格式: copy /B 文件1+文件2+... 合并文件名.rar
激动的心颤抖的手,打开压缩包!!!
(最好用winrar打开~报错信息会更详细...)
蛤?????
怎么肥四!!!!
文件头损坏还是带着加密的!!!
有可能是伪加密~
第5步:把压缩包放入winhex(软件)看看情况
网上的资料大都是关于zip伪加密破解的资料。
简单来说就是通过zip文件头前缀十六进制的某些地方的奇数和偶数修改。
但是,这个是rar文件哦~
如果不知道rar伪加密怎么破,没有关系,我们先通过正常的rar文件看看长什么样~
这是随便一个rar压缩包, 01.rar ~
我们再来观察一下,我们生成的压缩包 bugkufly.rar
这个红线的地方似乎有点奇怪,试着将 84改为80 呢~
保存。
发现可以解压了~~~
解压文件!!!
发现有个 flag.txt
打开它吧~
乱码........再仔细看看呢~
有一句话: This program must be run under Win32
那么我们将 .txt 文件修改成 .exe 吧~
woc...不要过来啊!!!!.....哼....出题人过分了..........哭......
第6步:将flag.exe放到kali Linux中,使用binwalk,查看包内是否存在其他信息,比如图片。
命令: binwalk -e flag.exe
打开文件夹,发现,里面并没有图片,因此我们需要用到 foremost 工具来将图片分离出来~
有些kali Linux可能没有foremost~
安装参考笔者下面的命令:
git clone https://github.com/korczis/foremost.git //此步可以替换为在Windows下访问链接将文件下载下来后,传至kali linux中
cd foremost
make
make install
注: git clone https://github.com/korczis/foremost.git 克隆不成功,则可以直接从Windows端将文佳打包传至kali Linux中,解压后再进行 cd foremost 及下面的操作。
ps:安装过程中,遇到问题,欢迎在此文章底部评论或者私信我,我会尽我最大努力帮助你哟~
下图是安装完成的效果~
好啦~我们继续做题。
第7步:对flag.exe用foremost进行图片分离
命令: foremost -T flag.exe
打开png文件夹~
万恶之源.....好多苍蝇.....打码打码........
除此之外还有一个二维码~
第8步:扫码。
可以选择用手机扫~
也可以用在线链接来扫~
扫码链接: https://online-barcode-reader.inliteresearch.com
flag{m1Sc_oxO2_Fly}
flag到手~
真是不容易~
参考资料:
https://blog.csdn.net/hkdoor/article/details/51284055
https://www.jianshu.com/p/f3cecd528c1f
--------------------- ┑( ̄Д  ̄)┍ --------------------------
作者:0yst3r[一只在安全领域努力奋斗的小菜鸡]
来源:博客园[ https://www.cnblogs.com/0yst3r-2046/ ] 引用时请注明来源哦~
(๑•̀ㅂ•́)و✧ヽ(✿゚▽゚)ノ(*^▽^*) φ(≧ω≦*)♪
如果本文对你有用,本人不胜欢喜。
The world is your oyster.