抓到一只苍蝇 writeup
題目在 http://ctf.idf.cn/index.php?g=game&m=article&a=index&id=57
下載到的文件是misc_fly.pcapng,使用wireshark打開,能看到一堆tcp、http和dns協議混合的數據包,在上面的框里面輸入http,讓它只顯示http協議的數據包。
逐個展開大致的看了下,是在qq郵箱里面發送郵件。其中有一個上傳文件行為,分為5個HTTP請求。
{"path": "fly.rar","appid": "","size": 525701,"md5": "e023afa4f6579db5becda8fe7861c2d3","sha": "ecccba7aea1d482684374b22e2e7abad2ba86749","sha3": "" }
接下來提取文件 在每個請求的media type上點右鍵export
發現提取出來的文件比實際的要大呢
-rw-r--r-- 1 root root 131436 6月 18 15:47 1 -rw-r--r-- 1 root root 131436 6月 18 15:47 2 -rw-r--r-- 1 root root 131436 6月 18 15:48 3 -rw-r--r-- 1 root root 131436 6月 18 15:48 4 -rw-r--r-- 1 root root 1777 6月 18 15:48 5懷疑是文件頭部添加了東西,對比一下每個文件,確實在大約0x4d0的位置以上都是一樣的。后來搜索得知這是文件分塊的頭部,存儲有分塊大小等信息。
提取出來的文件總大小是527521,而上面提示的文件大小是525701,(527521 - 525701) / 5.0 = 364就是每個文件被添加的頭部的大小,手動的去掉就可以了。
可以使用命令?dd?if=輸入文件名?bs=1?skip=364?of=輸出文件名?然后cat,或者用Python seek一下就好了。
最終得到一個rar文件。
其實提取文件還有簡單的方法就是使用foremost,?foremost?-i?-e misc_fly.pcapng?,然后output/rar/xxx.rar就有了。但是文件大小是對的,md5卻是錯的。再研究一下。。。。
文件在mac和linux打開都提示輸入密碼,在windows下使用360壓縮提示文件損壞,懷疑文件被修改過。使用Bless打開文件,看到第17個字節處rar加密標志位是84,可能是偽加密,將它修改為80以后,保存并正常解壓得到一個exe。
繼續開windows虛擬機,
運行這個exe得到一屏幕的蒼蠅,也倒符合了這個題目的意思。。。
回到linux,使用binwalk分析可以看到文件末尾包含一個圖片,有點異常,提取出來看看。還是用?dd?if=flag.txt bs=1skip=991232?of=1.png
0xEDCC2 Zlib compressed data, best compression, uncompressed size >= 14460 47 0xEF3EB PC bitmap, Windows 3.x format, 49 x 23 x 8 96 0xF1BF4 XML document, version: "1.0" 32 0xF2000 PNG image, 280 x 280, 1-bit colormap, non-interlaced得到一個二維碼,掃一下就能獲取到flag了。結果是?flag{m1Sc_oxO2_Fly}
總結
以上是生活随笔為你收集整理的抓到一只苍蝇 writeup的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Wireshark 命令行捕获数据
- 下一篇: idf实验室--简单编程字符统计