學習CTF的經歷-文件分析


文件分析-ZIP偽加密

最近在准備鐵人三項賽的比賽,所以在實驗吧上嘗試着學習CTF,目前菜雞一枚

我主要負責的是Web和安全雜項這一塊,安全雜項的知識點較為薄弱,在實驗吧練習的過程中遇到一個很有趣的題目,題目URL:

http://ctf5.shiyanbar.com/misc/LOL/LOL.pcapng

這個題目有很多大神已經給出了wirteup,在這里主要是想記錄一下其中未接觸到的東西,比如等會要說到的ZIP偽加密

將這個文件下載下來之后,顯然這需要用wireshark進行流量分析,使用wireshark打開,發現整體上,可疑的流量就是兩個上傳的文件了

我們過濾一下http,可清楚看到兩個上傳的文件

我們追蹤一下HTTP流,可以發現,里邊上傳的兩個文件分別是LOL.docx和LOL.zip

導出分組字節,得到兩個文件。

其中,LOL.docx里面是一張圖片和一句話(這里的這個文件是一個誤導,重點是在Zip文件)

我們把目光轉向LOL.zip這個文件夾,解壓發現是要密碼的,可能這里很多人會認為解壓密碼隱藏在文檔里面的圖片里,然后去做圖片隱寫,但是這並不是一個正確的方向。

把zip文件丟入winhex中進行分析,在查閱了很多資料后,發現這是一個zip偽加密。

那什么是zip偽加密

首先,我們來看zip文件頭協議。

一個 ZIP 文件由三個部分組成:

壓縮源文件數據區+壓縮源文件目錄區+壓縮源文件目錄結束標志

實例

下面給出西普的一個實例:
這里寫圖片描述
壓縮源文件數據區:
50 4B 03 04:這是頭文件標記(0x04034b50)
14 00:解壓文件所需 pkware 版本
00 00:全局方式位標記(有無加密)
08 00:壓縮方式
5A 7E:最后修改文件時間
F7 46:最后修改文件日期
16 B5 80 14:CRC-32校驗(1480B516)
19 00 00 00:壓縮后尺寸(25)
17 00 00 00:未壓縮尺寸(23)
07 00:文件名長度
00 00:擴展記錄長度
6B65792E7478740BCECC750E71ABCE48CDC9C95728CECC2DC849AD284DAD0500
壓縮源文件目錄區:
50 4B 01 02:目錄中文件文件頭標記(0x02014b50)
3F 00:壓縮使用的 pkware 版本
14 00:解壓文件所需 pkware 版本
00 00:全局方式位標記(有無加密,這個更改這里進行偽加密,改為09 00打開就會提示有密碼了)
08 00:壓縮方式
5A 7E:最后修改文件時間
F7 46:最后修改文件日期
16 B5 80 14:CRC-32校驗(1480B516)
19 00 00 00:壓縮后尺寸(25)
17 00 00 00:未壓縮尺寸(23)
07 00:文件名長度
24 00:擴展字段長度
00 00:文件注釋長度
00 00:磁盤開始號
00 00:內部文件屬性
20 00 00 00:外部文件屬性
00 00 00 00:局部頭部偏移量
6B65792E7478740A00200000000000010018006558F04A1CC5D001BDEBDD3B1CC5D001BDEBDD3B1CC5D001
壓縮源文件目錄結束標志:
50 4B 05 06:目錄結束標記
00 00:當前磁盤編號
00 00:目錄區開始磁盤編號
01 00:本磁盤上紀錄總數
01 00:目錄區中紀錄總數
59 00 00 00:目錄區尺寸大小
3E 00 00 00:目錄區對第一張磁盤的偏移量
00 00:ZIP 文件注釋長度

綜上,也就是說,當壓縮源文件目錄區的全局方式位標記被更改,就會限制Zip文件的可讀性

所以,我們就會想到,修改后的話,就會改變Zip文件的可讀性了

從百度上找到的資料說,全局方式位標記如果第二位是偶數,那么就不加密,反之,如果是奇數的話,就是加密的

那我們就可以通過WinHex將其修改,就能成功得到里面的文件了。

解壓后,得到4個TXT文件,通過WinHex看其標志,發現是Png類型的文件,將其添加Png類型,得到4個圖片,用PS拼接后得到一個二維碼,掃碼后就可以得到flag


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM