1. 程式人生 > 其它 >CTF - MISC - 關於zip破解的幾種方式

CTF - MISC - 關於zip破解的幾種方式

## 前言

被壓縮包虐得欲仙欲死,按照慣例,應當予以記錄,以便後續的複習和使用。

## 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

,轉載請註明原文連結:https://www.cnblogs.com/ardyh/p/13838470.html