Fork me on GitHub

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
 
 
 
 
 
 
posted @ 2020-02-12 17:16  0yst3r  阅读(1655)  评论(5编辑  收藏  举报
返回顶部