
Gestore di password crittografato AES-256 con derivazione della chiave scrypt/SHA256, che supporta operazioni di creazione, modifica, ricerca e cambio della password principale con cancellazione sicura dei file.
Questo script crittografa o decifra in modo sicuro le password su disco all'interno di un file di database personalizzato. Include anche la funzionalità per recuperare le password da un file di database precedentemente generato. Lo script prende una password principale da stdin/dalla memoria, esegue l'hash della password utilizzando l'algoritmo di hashing specificato passato al parametro -a (scrypt, sha256) e infine crittografa/decifra i dati del file con AES-256 utilizzando l'hash dell'algoritmo come chiave AES-256 (derivazione della chiave). Quando si fornisce l'argomento 'scrypt' al parametro dell'algoritmo, lo script genera un sale scrypt personalizzato per ogni modifica o creazione del file di database. Il sale generato in modo univoco viene codificato in base64 e anteposto ai byte crittografati di ciascun file di database, separato da byte di ritorno a capo e avanzamento riga (per l'analisi) come metadati. Quando si utilizza il parametro di cambio password/-cp, lo script decifra i dati del file di database in memoria, scrive byte casuali*WIPE_PASSES nel file di database, tronca il file e infine scrive i nuovi dati crittografati con AES-256 utilizzando la nuova password principale sottoposta a hash nel file di database. Rendendo di fatto difficile il recupero dei dati/l'analisi forense.
Creare un file di database:
python3 aespasswd_store.py -a scrypt -c <filename>
Cambiare la password principale per un file di database:
python3 aespasswd_store.py -a scrypt -cp <filename>
Modificare un file di database:
python3 aespasswd_store.py -a scrypt -e <filename>
Interrogare i dati dal file di database:
python3 aespasswd_store.py -a scrypt -q <filename>
Esempi:
# Add entry to the database/modify existing data:
pass_id1=password
pass_id2=password
pass_id3=password
# Delete existing data:
pass_id1=delete
pass_id2=delete
# -q parameter: Query data (entering nothing dumps all data):
pass_id1
pass_id3
# Press ctrl+D (linux) or ctrl+Z (windows) to save data from stardard input.