Como descriptografar um arquivo dada a chave de criptografia e o arquivo, mas não o algoritmo?

Como descriptografar um arquivo dada a chave de criptografia e o arquivo, mas não o algoritmo?

Estou tentando fazer backup de alguns arquivos que foram criptografados por uma solução de terceiros que usamos no trabalho. Gostaria de fazer backup deles em seu estado não criptografado, pois nossa solução de backup possui uma opção de criptografia robusta. Também é importante notar que os arquivos não precisam de software de terceiros para serem úteis para nós.

A solução de terceiros tem muito pouca documentação sobre o processo de criptografia, mas tenho a chave que está armazenada no banco de dados que indexa os arquivos criptografados. Também tenho acesso aos arquivos aos quais os bancos de dados fazem referência.

O único problema é que não sei qual algoritmo de criptografia a empresa terceirizada usou para criptografar os dados.

Existe alguma técnica que eu possa usar para determinar o tipo de criptografia usada ou existe uma ferramenta de software que me permita tentar facilmente várias rotinas de descriptografia diferentes e uma senha definida?

Responder1

A primeira coisa que eu tentaria é despejar os símbolos no executável do aplicativo e procurar palavras prováveis ​​como “criptografar”, “AES”, etc. Dada a sua descrição, eles podem ter recorrido à ofuscação, o que por design torna sua tarefa um muito mais difícil. O pior acontece: eles foram estúpidos o suficiente para projetar seu próprio algoritmo criptográfico!

Observe que mesmo que você consiga determinar o algoritmo, isso pode não ser suficiente. Muitos algoritmos de criptografia simétrica usam umvetor de inicialização, e a maneira como o IV é escolhido não é padrão.

Se as maneiras simples de fazer engenharia reversa do aplicativo não funcionarem, pode ser mais fácil enganar o aplicativo para que não execute a criptografia conectando-se a ele e ignorando o código de criptografia. Em outras palavras, se você não encontrar nenhum método mais simples do que localizar a parte do aplicativo que realiza a criptografia, provavelmente será mais fácil ignorar essa parte do que entendê-la.

informação relacionada