Análise de pacotes compactados CTF

Força bruta

Use o ARCHPR

Ataque de texto sem formatação

O ataque de texto sem formatação refere-se a um ZIP criptografado e a um arquivo compactado não criptografado.Como todos os arquivos no mesmo pacote compactado ZIP são criptografados usando a mesma chave de criptografia, os arquivos conhecidos podem ser usados. O método de ataque para adivinhar a chave e descriptografar o arquivo ZIP.

Ideias para resolução de problemas:

Supondo que o título forneça uma imagem e um pacote compactado, verifica-se que o pacote compactado está criptografado e há uma imagem no pacote compactado com o mesmo nome da imagem externa.O palpite é um ataque de texto sem formatação. Depois de usar o software para compactar as imagens, verificou-se que o valor CRC32 das imagens no pacote compactado e das imagens compactadas era o mesmo, o que foi confirmado como um ataque de texto sem formatação.

Prática:

Abra o ARCHPR, abra o pacote compactado a ser descriptografado, selecione "tipo de ataque" como "texto sem formatação", clique na opção "texto sem formatação" para selecionar o pacote compactado que acabou de compactar a imagem. Clique em "Iniciar" para começar a quebrar e pegar a chave.

[Nota: Diferentes softwares de compactação usam algoritmos de compactação diferentes. O pacote de compactação auto-compactado exige que o algoritmo de compactação do pacote de compactação fornecido na mesma pergunta seja capaz de realizar ataques de texto sem formatação (software de compactação comum: boa compactação, winRAR, 7z, compactação rápida, 360 Compressão)]

Colisão CRC32 (adequada para pequenos arquivos compactados)

O nome completo do CRC é Cyclic Redundancy Check (CRC), constantes de comprimentos diferentes correspondem a diferentes algoritmos de implementação do CRC, podendo ser usado para verificar se um arquivo está com erro, mas não pode ser usado para correção automática de erros.

Ideias para resolução de problemas:

A descompactação do título foi aberta e constatou que existem vários pacotes compactados para tentar a colisão do CRC32

Prática:

Escreva um script e tente usar a colisão CRC32 para restaurar o conteúdo de todos os arquivos no pacote compactado

参考大神写的脚本
import zipfile
import string
import binascii
 
def CrackCrc(crc):
    for i in dic:
        for j in dic:
            for p in dic:
                #for q in dic:
                    s = i + j + p
                    if crc == (binascii.crc32(s) & 0xffffffff):
#在 Python 2.x 的版本中,binascii.crc32 所计算出來的 CRC 值域为[-2^31, 2^31-1] 之间的有符号整数,为了要与一般CRC结果作比对,需要将其转为无符号整数,所以加上& 0xffffffff来进行转换。如果是 Python 3.x 的版本,其计算结果为 [0, 2^32-1] 间的无符号整数,因此不需额外加上& 0xffffffff
                        #print s
                        f.write(s)	
                        return

def CrackZip():
    for I in range(36):
        file = 'flag' + str(I) + '.zip'
        f = zipfile.ZipFile(file, 'r')
        GetCrc = f.getinfo('flag.txt')
        crc = GetCrc.CRC
        #以上3行为获取压缩包CRC32值的步骤
        #print hex(crc)
        CrackCrc(crc)
 
dic = string.ascii_letters + string.digits + '+/='
 
f = open('out.txt', 'w')
CrackZip()
f.close()

Se o arquivo compactado tiver 6 bytes

Ferramentas disponíveis https://github.com/theonlypwner/crc32

Como usar:
python crc32.py reverse crc32密文(16进制形式)

pseudo criptografia zip

Composição: área de dados do arquivo de origem compactada + área de diretório do arquivo de origem compactada + marca final do diretório do arquivo compactado A
identificação do cabeçalho do arquivo ZIP é fixada em 0 × 50 4B 03 04 a
marca da área do diretório principal é 0x 50 4B 01 02
marca final do diretório principal 0 × 50 4B 05 06

Ideias de resolução de problemas

Exibir a marca do modo de layout completo da área de diretório do arquivo de origem compactado

50 4B 01 02 3F 00 14 00 09 00
第9、10位00 00,即为全布局方式标记,由此判断有无加密(伪加密的关键)
【注:全局方式位标记的四个数字中只有第二个数字对其有影响,其它的不管为何值,都不影响它的加密属性!】 
第二个数字为奇数时 –>加密 
第二个数字为偶数时 –>未加密
Prática

Altere a marca de bit do modo global para 00 00

Ocultar o pacote compactado na imagem

passarela ou separação principal

Tome o arquivo jpg como exemplo, o arquivo jpg termina com o FF D9 e o navegador de imagens ignorará o conteúdo do FF D9; dessa vez, você pode adicionar outros arquivos por trás dele.

Para esses problemas, você pode arrastar a imagem para o editor hexadecimal e observar o formato do arquivo

Ou entre diretamente no kali binwalk / digitalização principal para separar

Acho que você gosta

Origin www.cnblogs.com/NPFS/p/12681213.html
Recomendado
Clasificación