Blog

TrueCrypt y Esteganografía básica: Parte I

En esta serie de post veremos cómo instalar truecrypt y una introducción básica al fantástico mundo de la esteganografía, la que es utilizada a menudo por organizaciones criminales.

Para que este post sea entendible por todos, lo he realizado aprueba de tontos y a algunos les aburrirá ya que contiene información recopilada de distintos sitios webs.

Descripción

TrueCrypt es un software para la creación y el mantenimiento de un volumen cifrado (dispositivo de almacenamiento de datos) al instante. Cifrado al instante o sobre la marcha significa que los datos se cifran automáticamente justo antes de que se guarda y se descifra justo después de que se ha cargado, sin ninguna intervención del usuario. No hay datos almacenados en un volumen cifrado sin no se utiliza la contraseña/keyfile (s) o las claves de cifrado correctas. Todo el sistema de archivos está cifrado (por ejemplo, los nombres de archivos, nombres de carpetas, el contenido de todos los archivos, espacio libre, meta datos, etc.)

Es posible copiar archivos desde y hacia un volumen TrueCrypt montado como se copian desde cualquier disco normal (por ejemplo, las operaciones de arrastrar y soltar simples). Los archivos son automáticamente descifrados sobre la marcha (en memoria / RAM) mientras están siendo leídos o copiados de un volumen TrueCrypt encriptado. Del mismo modo, los archivos que se están escribiendo o copian en el volumen TrueCrypt automáticamente se cifran sobre la marcha (a la derecha antes de que se escriban en el disco) en la RAM. Tened en cuenta que esto no significa que el conjunto de archivo que va a ser cifrado/descifrado se debe almacenar en la memoria RAM antes de que pueda ser encriptado/desencriptado. No hay requisitos de memoria adicional (RAM) de TrueCrypt. Para ver un ejemplo de cómo se logra esto, leer el párrafo siguiente.

Supongamos que hay un archivo de vídeo .avi almacenada en un volumen TrueCrypt (por lo tanto, el archivo de vídeo está totalmente encriptado). El usuario proporciona la contraseña correcta (y/o el archivo de claves) y abre el volumen de TrueCrypt. Cuando el usuario hace doble clic en el icono del archivo de vídeo, el sistema operativo inicia la aplicación asociada al tipo de archivo – típicamente un reproductor multimedia. En el reproductor multimedia se comienza a cargar una pequeña porción inicial del archivo de vídeo a partir del volumen TrueCrypt encriptado de RAM (memoria) para reproducirlo. Mientras se está cargando la porción, TrueCrypt lo descifra automáticamente (en la RAM). La parte descifrada del vídeo (almacenada en la RAM) se utiliza a continuación en el reproductor multimedia. Mientras se está reproduciendo esta porción, el reproductor multimedia comienza la carga de otra pequeña porción del archivo de vídeo desde el volumen TrueCrypt-cifrada en la memoria RAM y el proceso se repite. Este proceso se denomina sobre la marcha del cifrado/descifrado y funciona para todos los tipos de archivos (no sólo para archivos de vídeo).

Tened en cuenta que TrueCrypt no guarda los datos descifrados en un disco – sólo los almacena temporalmente en la memoria RAM. Incluso cuando se monta el volumen, los datos almacenados en el volumen siguen estando cifrados. Al reiniciar Windows o apagar el ordenador, el volumen se desmonta y a los archivos almacenados en él no se podrá acceder. Incluso cuando la fuente de alimentación se interrumpe repentinamente, los archivos almacenados en el volumen son inaccesibles. Para hacerlos accesibles otra vez, se tiene que montar el volumen (y proporcionar la contraseña correcta y/o archivo de claves).

Operaciones

Cifrado de volumen


Lo que hace TrueCrypt es crear un “volumen secreto”, que consiste en un archivo que puede tener cualquier nombre y que TrueCrypt puede montar como una unidad de disco, con su identificación respectiva, según el sistema operativo utilizado. El contenido de ese archivo tiene su propio sistema de archivos y todo lo necesario para operar como una unidad común de almacenamiento. Lo que se grabe en esa unidad virtual se cifra usando tecnología y la potencia de cifrado que el usuario elija. Cuando se “monta” la unidad a través de TrueCrypt, se pide la contraseña que el usuario escogió al momento de crear este archivo secreto.

Keyfiles

En teoría, la contraseña sería el punto débil del sistema, ya que los usuarios rara vez escogen una contraseña compleja y se contentan con palabras de asociación familiar. Debido a esto, además de la contraseña está la opción de usar un keyfile, es decir seleccionar uno de los miles de archivos que hay en el equipo como segunda contraseña. Si archivo y password coinciden, el volumen se monta y queda disponible como una unidad de disco estándar. Es importante tener presente que este archivo debe ser inmutable. Si su contenido cambia, TrueCrypt no lo reconocerá como el “archivo llave” correcto y negará el acceso al volumen cifrado. Es recomendable, por ello, usar algún archivo que eventualmente se pueda recuperar de otra fuente, como Internet. Una imagen o un archivo de música serían muy aptos. También se le puede pedir a TrueCrypt que genere un Keyfile ad-hoc, pero ese tiene el inconveniente de que es único. Si se malogra y no hay copia, no será posible recuperar el archivo cifrado.

Opciones de almacenamiento

Es posible también grabar un respaldo del archivo (volumen) cifrado en otra parte, por ejemplo en un CD y dejarlo en algún lugar seguro. Aunque se destruya el computador original o sea robado, el archivo del disco de respaldo se puede montar perfectamente en otro equipo que tenga TrueCrypt conociendo la contraseña y el archivo secreto que sirve como Keyfile, si es que se escogió esta modalidad. También es posible crear un “volumen movible” con todo lo necesario en el mismo disco de respaldo para no perder tiempo en caso de emergencia.

El tamaño del archivo cifrado es definible por el usuario. En último caso se puede seccionar con algún programa archivador si es necesario.

El volumen una vez montado, puede desmontarse automáticamente según parámetros que elija el usuario. Por defecto se desmonta al cerrar la sesión de trabajo (logout) en el equipo, pero es posible que se desmonte también al activarse el salvapantallas, por ejemplo, si se requiere una alta seguridad.

Este volumen puede pasar totalmente inadvertido, ya que puede tener el nombre de un archivo común y que no llame la atención, por ejemplo “discurso.avi” o “dump1.dat” o lo que se estime adecuado – pero todavía se pueden detectar con “TCHunt”(herramienta para buscar volúmenes TrueCrypt)


Algoritmos de cifrado

TrueCrypt soporta los algoritmos de cifrado AES, Serpent y Twofish.

Adicionalmente soporta distintas combinaciones de los algoritmos mencionados anteriormente:

  • AES-Twofish
  • AES-Twofish-Serpent
  • Serpent-AES
  • Serpent-Twofish-AES
  • Twofish-Serpent.

Algoritmos de hash

TrueCrypt soporta RIPEMD-160, SHA-512 y WHIRLPOOL algoritmos de hash


Niveles posibles de denegación

Es imposible identificar un volumen TrueCrypt hasta que éste sea descifrado. Para descifrarlo, se precisa acceder a la contraseña correspondiente al volumen. TrueCrypt soporta dos tipos posibles de denegación, en caso de que se fuerce la revelación de la contraseña.

  • Volúmenes ocultos (se tiene un volumen TrueCrypt dentro de otro volumen TrueCrypt)

Captura de pantalla 2013-07-11 a la(s) 22.25.52

  • Sistema operativo oculto (es un sistema, por ejemplo, Windows 7 o Windows XP, que se instala en un volumen TrueCrypt oculto).

Captura de pantalla 2013-07-11 a la(s) 22.23.11

Sin embargo, a pesar de ello aún es posible determinar los volúmenes de TrueCrypt utilizando “TCHunt”

Más información en http://www.truecrypt.org/docs/

Instalación
Nos dirigimos a la página de descarga de truecrypt http://www.truecrypt.org/downloads

Captura de pantalla 2013-07-11 a la(s) 19.27.51

Lo descargamos y lo instalamos como todo lo que se instala en Windows siguiente, siguiente, siguientes.

Captura de pantalla 2013-07-11 a la(s) 19.28.44

Luego de que este instalado, descargamos el archivo para traducir la aplicación de la siguiente URL http://www.truecrypt.org/localizations se escoge el idioma deseado

Captura de pantalla 2013-07-11 a la(s) 22.33.24

Se descomprime el fichero y se copia el archivo “Language.es.xml” al directorio de instalación de TrueCrypt.

Captura de pantalla 2013-07-11 a la(s) 22.48.09

Ejecutamos la aplicación y nos dirigimos a la pestaña Settings -> Language, escogemos el lenguaje y listo.

Captura de pantalla 2013-07-11 a la(s) 22.49.37

Ahora nos dirigimos nuevamente a donde está el archivo de instalación de TrueCrypt y lo ejecutamos para crear su versión portable.

Captura de pantalla 2013-07-11 a la(s) 22.57.40

Captura de pantalla 2013-07-11 a la(s) 22.57.52

Captura de pantalla 2013-07-11 a la(s) 22.58.06

En esta parte nos dice que aunque sea portable igualmente se necesita permisos de administrador para ejecutarlo sobre Windows.

Captura de pantalla 2013-07-11 a la(s) 22.59.05

Captura de pantalla 2013-07-11 a la(s) 22.59.23

Crear un volumen cifrado


En esta práctica lo realizare con un USB de 16GB, primero nos dirigimos a la raíz de Windows para formatear nuestro dispositivo con un sistema de archivo NTFS, no es obligación ese sistema de archivo a la hora de crear un volumen cifrado, pero tened en cuenta que fat32 no permite la gestión de ficheros superiores a 4GB, y por motivos totalmente diferentes que se explicaran más adelante, en esta práctica se utilizara NTFS.

Captura de pantalla 2013-07-11 a la(s) 23.23.11

Captura de pantalla 2013-07-11 a la(s) 23.23.19

Ahora procedemos a crear un contenedor de archivos cifrado virtual, ejecutamos TrueCrypt y seguimos los pasos detallados de las imágenes.

Captura de pantalla 2013-07-11 a la(s) 23.26.30

Captura de pantalla 2013-07-11 a la(s) 23.28.48

Captura de pantalla 2013-07-11 a la(s) 23.29.08

Captura de pantalla 2013-07-11 a la(s) 23.30.39

Captura de pantalla 2013-07-11 a la(s) 23.33.41

Captura de pantalla 2013-07-11 a la(s) 23.33.51

Captura de pantalla 2013-07-11 a la(s) 23.34.19

Captura de pantalla 2013-07-11 a la(s) 23.36.40

Captura de pantalla 2013-07-11 a la(s) 23.37.41

Captura de pantalla 2013-07-11 a la(s) 23.38.02

Captura de pantalla 2013-07-11 a la(s) 23.48.54

Captura de pantalla 2013-07-11 a la(s) 23.49.52

Listo ya tenemos nuestro volumen creado solo nos falta comprobarlo como se muestra en las siguientes imágenes

Captura de pantalla 2013-07-11 a la(s) 23.59.45

Captura de pantalla 2013-07-12 a la(s) 00.00.33

Captura de pantalla 2013-07-12 a la(s) 00.01.21

Captura de pantalla 2013-07-12 a la(s) 00.02.11

Captura de pantalla 2013-07-12 a la(s) 00.02.31

Captura de pantalla 2013-07-12 a la(s) 00.03.05

Captura de pantalla 2013-07-12 a la(s) 00.03.45

Captura de pantalla 2013-07-12 a la(s) 00.04.04

Captura de pantalla 2013-07-12 a la(s) 00.05.08

Captura de pantalla 2013-07-12 a la(s) 00.05.40

Luego de desmontarlo solo queda repetir el proceso para comprobar que el archivo creado sigue allí y copiamos al USB la carpeta portable que realizamos anteriormente, para que cuando necesitemos utilizar nuestra unidad en otro ordenador, logremos acceder al contenido.

Espero que les guste y en el siguiente les contare más.

Un saludo a todos.

“La curiosidad mato al gato y a un hacker le dio su ZeroDay”

Sebastian Cornejo.

@ceSytisoiruC sebastian@highsec.es

  1. BTshell
    BTshell07-12-2013

    Buen post y muy explicito, THANK YOU 😉

    • Sebastian Cornejo
      Sebastian Cornejo07-12-2013

      Gracias 🙂

Leave a Reply

*

    No Twitter Messages