Según comentaba Wikileaks el fichero está cifrado con AES Crypt, un software libre multiplataforma que utiliza el algoritmo AES – Rijndael de 256 bits (cifrado también usado por la NSA). El asunto es que hay sospechas de que, aunque Wikileaks lo documentara así, realmente no esté cifrado con AES Crypt. Personalmente yo tampoco creo que esté cifrado con este software, sino con OpenSSL, pero ésto lo dejamos para el análisis posterior.
Dicho esto, vamos a ver como se descifraría con ambos programas.
– AES Crypt en Windows [Información – Descarga]
El uso es muy intuitivo. Solo tendríamos que instalar AES Crypt, y pulsar click derecho sobre el fichero cifrado. Se abre una ventana pidiendo la clave y si es correcta comienza la extracción.
– AES Crypt en GNU/Linux [Información – Descarga]
Utilizando la versión de terminal el uso también es muy fácil. Una vez compilado, solamente habría que ejecutarlo de la siguiente forma.
aescrypt -d -p clave_de_cifrado insurance.aes
– OpenSSL [Disponible en la mayoría de distribuciones GNU/Linux y sistemas Unix-like]
El comando es algo más largo pero el funcionamiento es parecido.
openssl enc -aes256 -d -in insurance.aes256 -out insurance_dec
[Nos pedirá la clave y descifrará]
Vale, hasta aquí la guia para descifrarlo, ahora el análisis del fichero y el porqué no AES Crypt y si OpenSSL.
La mayoría de los programas cuando trabajan con ficheros, graban al inicio de ellos una cabecera. Ésto les ayuda a identificar sus propios ficheros cuando vuelven a trabajar con ellos, y a veces marcan pautas de como funcionar con ese fichero. Además, muchas veces ayuda al sistema o a los usuarios a saber que tipo de fichero es (una foto, un vídeo, audio, etc …), y en consecuencia tratarlo con un programa u otro.
Vamos a echar una ojeada a los primeros bytes del fichero insurance.aes256 para ver como es su cabecera. Ojo a la parte derecha, donde vemos los caracteres ASCII.
Ahora vamos a cifrar un fichero cualquiera con AES Crypt y por otro lado con OpenSSL, y vamos a ver que cabecera tiene cada uno de los ficheros cifrados.
Cabecera del fichero cifrado con AES Crypt
Cabecera del fichero cifrado con OpenSSL
Como podéis comprobar, la cabecera del fichero de Wikileaks es parecida a la del fichero cifrado con OpenSSL. Por el contrario, la cabecera del fichero cifrado con AES Crypt no se parece en nada, ya que almacena datos diferentes.
Si hacemos la prueba de intentar descifrar el insurance.aes256 con AES Crypt y una clave inventada sucede lo siguiente.
El error es de cabecera corrupta, pero no de clave incorrecta.
Via: Security By Default