抓到一只苍蝇 writeup
題目在 http://ctf.idf.cn/index.php?g=game&m=article&a=index&id=57
下載到的文件是misc_fly.pcapng,使用wireshark打開,能看到一堆tcp、http和dns協(xié)議混合的數(shù)據(jù)包,在上面的框里面輸入http,讓它只顯示http協(xié)議的數(shù)據(jù)包。
逐個(gè)展開大致的看了下,是在qq郵箱里面發(fā)送郵件。其中有一個(gè)上傳文件行為,分為5個(gè)HTTP請(qǐng)求。
{"path": "fly.rar","appid": "","size": 525701,"md5": "e023afa4f6579db5becda8fe7861c2d3","sha": "ecccba7aea1d482684374b22e2e7abad2ba86749","sha3": "" }
接下來提取文件 在每個(gè)請(qǐng)求的media type上點(diǎn)右鍵export
發(fā)現(xiàn)提取出來的文件比實(shí)際的要大呢
-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懷疑是文件頭部添加了東西,對(duì)比一下每個(gè)文件,確實(shí)在大約0x4d0的位置以上都是一樣的。后來搜索得知這是文件分塊的頭部,存儲(chǔ)有分塊大小等信息。
提取出來的文件總大小是527521,而上面提示的文件大小是525701,(527521 - 525701) / 5.0 = 364就是每個(gè)文件被添加的頭部的大小,手動(dòng)的去掉就可以了。
可以使用命令?dd?if=輸入文件名?bs=1?skip=364?of=輸出文件名?然后cat,或者用Python seek一下就好了。
最終得到一個(gè)rar文件。
其實(shí)提取文件還有簡(jiǎn)單的方法就是使用foremost,?foremost?-i?-e misc_fly.pcapng?,然后output/rar/xxx.rar就有了。但是文件大小是對(duì)的,md5卻是錯(cuò)的。再研究一下。。。。
文件在mac和linux打開都提示輸入密碼,在windows下使用360壓縮提示文件損壞,懷疑文件被修改過。使用Bless打開文件,看到第17個(gè)字節(jié)處rar加密標(biāo)志位是84,可能是偽加密,將它修改為80以后,保存并正常解壓得到一個(gè)exe。
繼續(xù)開windows虛擬機(jī),
運(yùn)行這個(gè)exe得到一屏幕的蒼蠅,也倒符合了這個(gè)題目的意思。。。
回到linux,使用binwalk分析可以看到文件末尾包含一個(gè)圖片,有點(diǎn)異常,提取出來看看。還是用?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得到一個(gè)二維碼,掃一下就能獲取到flag了。結(jié)果是?flag{m1Sc_oxO2_Fly}
總結(jié)
以上是生活随笔為你收集整理的抓到一只苍蝇 writeup的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Wireshark 命令行捕获数据
- 下一篇: idf实验室--简单编程字符统计