13 diciembre 2010

Con todo el revuelo que está volviendo a montar Wikileaks (y más con la detención de Assange) se han reavivado asuntos que estaban en segundo plano, como el supuesto seguro de vida de Julian Assange. Para los menos puestos en el tema, el seguro se trata de un fichero fuertemente cifrado que distribuyó Wikileaks y cuya clave de cifrado se desconoce. En el caso de que a Julian Assange le sucediera algo (presuntamente, si falleciera), la clave de cifrado se liberaría y todo el mundo podría ver el contenido.

Lo que hay dentro es un misterio, según Wikileaks es información altamente comprometedora.

Vamos a estudiar la forma de ver el contenido del fichero si la clave se liberara.

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.

Con este artículo no se pretende atacar a la credibilidad de Wikileaks, ni mucho menos. Simplemente llama la atención que en un principio se documentara que el fichero había sido cifrado con AES Crypt cuando parece que no es así.

Sea como sea, más vale tener a mano ambos programas por lo que pueda pasar.

- Descarga de insurance.aes256

14 comments :

evilteq dijo...

Jo, cuando he visto el título en el rss he pensado que era un modo de [intentar] descrifralo sin la clave.

Es algo que me preguntaron el otro día, "¿no se puede descifrar todo?". Yo respondí que, resumiendo, no se puede.
¿Se puede? Y algo muy divertido con estas cosas, de aquí a unos años, ¿creeis que se podrá?

Anónimo dijo...

Entonces, ¿Estaría cifrado con RSA?

Anónimo dijo...

@evilteq
El cifrado AES (en especial el de 256 bits) está rodeado de un aura de sospechas. Se comentan muchas cosas, por ejemplo que Wikileaks usó este cifrado porque es posible que la NSA sepa y tenga medios para descifrarlo, de esta forma solo podría descifrarlo "el enemigo" y saber a qué se enfrenta. Pero, ¿se la jugaría de esta forma Wikileaks?
Yo creo que cada uno se debería montarse su propia película :)
¿En el futuro? Es posible, quien sabe. Quizá mediante un ataque por fuerza bruta (con mucha paciencia, recursos y suerte), un fallo en el cifrado, etc ...

@Anónimo
Supuestamente está cifrado con AES de 256 bits (¿CBC?), pero tampoco se sabe a ciencia cierta el algoritmo.

Anónimo dijo...

Hola,

¿Dónde, exactamente, dicen los de Wikileaks que el 'insurance.aes256' está cifrado con AES Crypt?

Un saludo.

Anónimo dijo...

@Anónimo2
Es una buena pregunta.
La página original desde donde se podía descargar el fichero (y donde estaba documentado) ya no está disponible de forma oficial. He encontrado algún mirror pero no es literal.
Solo quedan las muchísimas referencias que podemos encontrar en foros, prensa, etc ...
Si, puede no ser suficiente, pero es lo que hay :)

Anónimo dijo...

Hola,

Claro, es que no existe… ni ha existido nunca.

Wikileaks nunca ha dicho con qué está cifrado el 'insurance' (ni falta que hace, añado yo), fue una gente -la de cryptome, creo recordar- que allá por julio-agosto de este año (2010), en un alarde de ignorancia dijeron algo así como que el 'insurance' 'Appears to be encrypted with AES Crypt'… y a partir de ahí, el resto de cotorras repetidoras de la red se dedicaron a repetir la solemne majadería.

Digo solemne majadería porque no hay más que dar un vistazo a la cabecera del 'insurance' para darse cuenta de con qué está cifrado. Ese vistazo es lo primero que todos los que des/ciframos por cualquier razón hicimos en su momento, nada más tener el file en nuestras manos. Sólo viendo sus primeros bytes sabes con qué está hecho.

En fin, otro (mal) ejemplo de cadena basada en el escurrido de un simple paleto. Es lo que hay.

Un saludo.

Anónimo dijo...

@Anónimo2/3
La página original desde donde se podía descargar el fichero existía (obviamente) antes de que se empezaran a producir los DoS. Ahora ya no existe de forma oficial, solo hay mirrors NO literales por lo que ninguna postura se puede comprobar.
El artículo al que te refieres es este, desconozco el estado original pero han tachado lo de AES Crypt.
Me puedo equivocar, y si es así me disculpo. En cualquier caso, creo que está bien tener el punto de vista más abierto y exponer ambas posibilidades, no se sabe que puede haber debajo de ese cifrado con OpenSSL.

Yago Jesus dijo...

@Anónimo: No vamos a publicar ninguna respuesta que contenga descalificativos o menosprecios gratuitos y menos en modo Anonimo. Ponte en modo bilis-free y continuamos el debate

Alberto Ortega dijo...

@Anónimo2
Es una buena pregunta.
La página original desde donde se podía descargar el fichero (y donde estaba documentado) ya no está disponible de forma oficial. He encontrado algún mirror pero no es literal.
Solo quedan las muchísimas referencias que podemos encontrar en foros, prensa, etc ...
Si, puede no ser suficiente, pero es lo que hay :)

Alberto Ortega dijo...

@evilteq
El cifrado AES (en especial el de 256 bits) está rodeado de un aura de sospechas. Se comentan muchas cosas, por ejemplo que Wikileaks usó este cifrado porque es posible que la NSA sepa y tenga medios para descifrarlo, de esta forma solo podría descifrarlo "el enemigo" y saber a qué se enfrenta. Pero, ¿se la jugaría de esta forma Wikileaks?
Yo creo que cada uno se debería montarse su propia película :)
¿En el futuro? Es posible, quien sabe. Quizá mediante un ataque por fuerza bruta (con mucha paciencia, recursos y suerte), un fallo en el cifrado, etc ...

@Anónimo
Supuestamente está cifrado con AES de 256 bits (¿CBC?), pero tampoco se sabe a ciencia cierta el algoritmo.

Anonymous dijo...

Entonces, ¿Estaría cifrado con RSA?

Yago Jesus dijo...

@Anónimo: No vamos a publicar ninguna respuesta que contenga descalificativos o menosprecios gratuitos y menos en modo Anonimo. Ponte en modo bilis-free y continuamos el debate

Soy Yo Ese dijo...

RSA es un cifrado asimétrico , AES es simétrico ... RSA está diseñado especialmente para por ejemplo certificados digitales , intercambio de claves ... 

AngelFire dijo...

Que se haría luego con el insurance_dec?