Análisis de paquete comprimido CTF

Fuerza bruta

Use ARCHPR

Ataque de texto sin formato

El ataque de texto sin formato se refiere a un ZIP cifrado y un archivo comprimido no cifrado. Dado que todos los archivos del mismo paquete comprimido ZIP se cifran con la misma clave de cifrado, se pueden usar archivos conocidos. El método de ataque para adivinar la clave y descifrar el archivo ZIP.

Ideas para resolver problemas:

Suponiendo que el título proporciona una imagen y un paquete comprimido, se descubre que el paquete comprimido está encriptado y hay una imagen en el paquete comprimido que se denomina igual que la imagen exterior. La suposición es un ataque de texto sin formato. Después de usar el software para comprimir las imágenes, se descubrió que el valor CRC32 de las imágenes en el paquete comprimido y las imágenes comprimidas era el mismo, lo que se confirmó como un ataque de texto sin formato.

Practica

Abra ARCHPR, abra el paquete comprimido que se descifrará, seleccione "tipo de ataque" como "texto sin formato", haga clic en la opción "texto sin formato" para seleccionar el paquete comprimido que acaba de comprimir la imagen. Haga clic en "Inicio" para comenzar a descifrar y obtener la clave.

[Nota: diferentes programas de compresión utilizan diferentes algoritmos de compresión. El paquete de compresión autocomprimida requiere el algoritmo de compresión del paquete de compresión dado en la misma pregunta para poder realizar ataques de texto sin formato (software de compresión común: buena compresión, winRAR, 7z, compresión rápida, 360 Compresión)]

Colisión CRC32 (adecuado para pequeños archivos comprimidos)

El nombre completo de CRC es Cyclic Redundancy Check (Cyclic Redundancy Check, CRC). Las constantes de diferentes longitudes corresponden a diferentes algoritmos de implementación de CRC. Se puede usar para verificar si un archivo está en error pero no se puede usar para la corrección automática de errores.

Ideas para resolver problemas:

El título de descompresión se abrió y descubrió que hay múltiples paquetes comprimidos para probar la colisión CRC32

Practica

Escriba un script e intente usar la colisión CRC32 para restaurar el contenido de todos los archivos en el paquete comprimido

参考大神写的脚本
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()

Si el archivo comprimido tiene 6 bytes

Herramientas disponibles https://github.com/theonlypwner/crc32

Cómo utilizar:
python crc32.py reverse crc32密文(16进制形式)

pseudo cifrado zip

Composición: área de datos del archivo fuente comprimido + área del directorio del archivo fuente comprimido + marca final del directorio del archivo fuente comprimido La
identificación del encabezado del archivo ZIP está fijada en 0 × 50 4B 03 04
la marca del área del directorio central es 0x 50 4B 01 02
marca final del directorio central 0 × 50 4B 05 06

Ideas para resolver problemas

Ver la marca de modo de diseño completo del área del directorio del archivo fuente comprimido

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

Cambie la marca de bit del modo global a 00 00

Ocultar el paquete comprimido en la imagen

binwalk o separación principal

Tome el archivo jpg como ejemplo, el archivo jpg termina con FF D9, y el navegador de imágenes ignorará el contenido detrás de FF D9, esta vez puede agregar otros archivos detrás de él.

Para tales problemas, puede arrastrar la imagen al editor hexadecimal y observar el formato del archivo

O directamente en el kali binwalk / foremost scan para separar

Supongo que te gusta

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