一.常規(guī)操作
- winhex打開,搜索字符pass 、 key 等,查看是否有含有密碼
- 工具爆破( ARCHPR,Accent RAR)
- 根據(jù)題意或者社工猜密碼
二.CRC32碰撞
壓縮文檔中會提供一個CRC32的值,這個值是文檔在壓縮之前的CRC32值,每個不同的文件都有唯一的一個CRC32值,小范圍內(nèi)基本不可能重復(fù)
- 第一步
先在7-zip里看CRC32值和文檔字節(jié)大小

也可以用腳本獲取CRC32值
# 我這里flag.zip里有5個文檔
import zipfile
import binascii
f = zipfile.ZipFile('flag.zip', 'r')
for I in range(1,6):
GetCrc = f.getinfo(str(I)+'.txt')
crc = GetCrc.CRC
print hex(crc)
- 第二步
用工具碰撞,命令:python crc32.py reverse CRC32值
https://github.com/theonlypwner/crc32

所以這里猜測“can_U_”就是flag的一部分了
同樣也可以用腳本碰撞,只不過字節(jié)數(shù)大了就要爆破很久...
# 我這里字節(jié)數(shù)為6
import binascii
dic = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*()_+- ={}[]"
crc = 0x1bf18e63
for i in dic :
for j in dic:
for p in dic:
for q in dic:
for a in dic:
for b in dic:
s=i+j+p+q+a+b
if crc == (binascii.crc32(s) & 0xffffffff):
print(s)
三.偽加密
- 直接用7z解壓或linux下打開
- ZipCenOp修改或手改加密標(biāo)記位
四.明文攻擊
如果有一個加密壓縮包里的相同的未加密文件,把該文件用zip壓縮即可利用它來破解加密壓縮包,由于用不同的壓縮工具壓縮的壓縮包進(jìn)行破解時會提示不符,可以挨個兒試一下,反正常用的壓縮軟件也不多,winrar,好壓,7z,Bandizip
- 一般加密壓縮包作為破解文件,但也有例外。例題:我們的密碼,secret.bin提出一個壓縮包和readme.txt,可以直接使用secre.bin作為要破解的文件 ,然后把readme.txt壓縮為zip
- 破解時要注意看,哪怕破解成功了,它也會繼續(xù)運行下去,這時暫停即可看到密碼
五.掩碼爆破
- 例如已知壓縮包密碼為:ISCC****(未知),掩碼爆破:ISCC????即可
六.字典爆破
- 常用字典
- 自己構(gòu)造字典
例如已知壓縮包密碼為:ISCC****(字母和數(shù)字)
# Python3
pw = 'ISCC'
dic = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890'
f = open('dic.txt','w')
for i in dic:
for j in dic:
for a in dic:
for b in dic:
f.write(pw+i+j+a+b+'\n')
f.close
七.在圖片中隱藏壓縮包
- 使用foremost分離或直接改后綴名
八.通過進(jìn)制轉(zhuǎn)換隱藏信息
- 例如一串16進(jìn)制信息:504B0304.....或52617221....,分別是zip和rar的文件頭,我們就可以在winHex中創(chuàng)建壓縮包