Non ho la capacità di determinare / recuperare la password principale per un sistema di produzione che utilizza archivi zip 2. Tuttavia, devo essere in grado di aggiungere nuovi file agli archivi crittografati esistenti. Esistono vari strumenti che possono "rompere" la crittografia zip 2.0 con un attacco in chiaro, che consente il recupero dei contenuti. Tuttavia, non sono interessato a recuperare i contenuti.
Poiché questi strumenti recuperano la chiave 0-2 (tripletta 3x a 4 byte) per l'app zip 2.0 (scorrere fino quasi alla fine), in teoria sarebbe quindi possibile per quegli strumenti (o un'utilità zip open source modificata che può scrivere archivi zip 2.0 crittografati) per inizializzare il keyset con il noto da decrittografare key triplet, genera un "random" a 12 byte, quindi utilizza questi valori per aggiungere ulteriori file all'archivio esistente?
L'obiettivo, in parole povere, è aggiungere 06_14.dat
, 07_14.dat
, 08_14.dat
, ecc. a un file di backup che il sistema di back-end può leggere.
Si noti che la semplice aggiunta di file non crittografati non è sufficiente - il sistema utilizza un token hardware per la chiave di crittografia / decrittografia (che è il motivo per cui non posso ripristinarlo) E prova a decrittografare ogni file singolarmente utilizzando la logica: 1) elenca l'archivio; 2) ordina i nomi sopra indicati dove le prime 2 cifre rappresentano il mese 01-12 e le seconde 2 cifre rappresentano l'anno 1997-2014; 3) e quindi tenta di estrarre prima il file NEWEST - bail al primo errore di decrittografia. Se il file corrente che desidera decrittografare / decomprimere, facendo corrispondere la firma ##_##.dat
, non è crittografato, quindi si applica anche alle balene.
Non dovrebbero essere necessarie ulteriori specifiche del sistema, ma il motivo per cui questo problema si è verificato è dovuto al fatto che il nostro sistema front-end che ha condiviso la chiave simmetrica (e aggiunto automaticamente i file .dat per noi) è passato al un altro mondo in cui l'hardware obsoleto funziona quando non funziona correttamente.
Sono aperto a possibili soluzioni al problema, ma solo una vivace discussione sul fatto che sia fattibile / pratico / ecc. è più che sufficiente - Creerò la soluzione se questa linea di ragionamento appare possibile.