CTF - MISC - 關於zip破解的幾種方式
阿新 • • 發佈:2021-12-01
## 前言
被壓縮包虐得欲仙欲死,按照慣例,應當予以記錄,以便後續的複習和使用。
## 1. zip屬性隱藏
## 2. 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 檔案註釋長度
如果是 偽加密 ,我們可以用16進位制編輯器新增檔案頭或檔案尾,即可修復zip
有沒有工具可以簡便的識別這種情況?
使用檢測偽加密的ZipCenOp.jar,解密後如果能成功開啟zip包,則是偽加密,否則說明思路錯誤
解密例子:
java -jar ZipCenOp.jar r xxx.zip
加密例子:
java -jar ZipCenOp.jar e xxx.zip
## 3. 弱密碼(暴力破解)
這個就不多思考了,上工具
Windows下一般使用的是ARCHPR
掩碼攻擊就是通過已知密碼的某幾位進行構造,例如 在介面中 範圍-掩碼 ,構造 ??T 進行爆破
Linux下使用pkcrack
## 4. 明文攻擊()
大致原理:
當你不知道一個zip的密碼,但是你有zip中的一個已知檔案(檔案大小要大於12Byte)或者已經通過其他手段知道zip加密檔案中的某些內容時,因為同一個zip壓縮包裡的所有檔案都是使用同一個加密金鑰來加密的,所以可以用已知檔案來找加密金鑰,利用金鑰來解鎖其他加密檔案
本文來自部落格園,作者:ardyh