
Gerenciador de senhas criptografado com AES-256 e derivação de chave scrypt/SHA256, suportando operações de criar, editar, consultar e alterar senha mestre, com exclusão segura de arquivos.
Este script criptografa ou descriptografa senhas em disco de forma segura, dentro de um arquivo de banco de dados personalizado. Também possui funcionalidade para recuperar senhas de um arquivo de banco de dados gerado anteriormente. Este script recebe uma senha mestre de stdin/da memória, faz o hash da senha usando o algoritmo de hash especificado passado para o parâmetro algorithm/-a (scrypt, sha256) e, finalmente, criptografa/descriptografa os dados do arquivo usando o hash do algoritmo como chave AES-256 (derivação de chave). Ao fornecer o argumento 'scrypt' para o parâmetro algorithm, o script gerará um salt scrypt personalizado para cada edição ou criação de arquivo de banco de dados. O salt gerado exclusivo é codificado em base64 e anexado a cada arquivo de banco de dados com bytes criptografados separados por bytes de carriage return e line feed (para análise) como meta-dados. Ao usar o parâmetro de alteração de senha/-cp, o script descriptografará os dados do arquivo de banco de dados na memória, escreverá bytes aleatórios*WIPE_PASSES no arquivo de banco de dados, truncará o arquivo e, finalmente, escreverá os novos dados criptografados em AES-256 com a nova senha mestre com hash no arquivo de banco de dados. Tornando efetivamente a recuperação de dados/perícia forense difícil.
Criar um arquivo de banco de dados:
python3 aespasswd_store.py -a scrypt -c <filename>
Alterar a senha mestre de um arquivo de banco de dados:
python3 aespasswd_store.py -a scrypt -cp <filename>
Editar um arquivo de banco de dados:
python3 aespasswd_store.py -a scrypt -e <filename>
Consultar dados dentro do arquivo de banco de dados:
python3 aespasswd_store.py -a scrypt -q <filename>
Exemplos:
# 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.