| Kriptópolis alojado en |
| Zilos-Veloxia Network |
| Tu mejor defensa: |
| Bufet Almeida |
Cómo ocultar volúmenes cifrados con TrueCrypt
Por anónimo
Lo último que quiero es ayudar a los delincuentes a esconderse de la ley, pero confío en que es poco probable que los que leen esta página sean delincuentes o que los delincuentes no puedan encontrar esta información fácilmente en otra parte, así que les voy a mostrar algo que seguro que hará las delicias de los conspiranoicos. Lo interesante de esto es que resuelve el problema de que te obliguen a dar la clave, porque se puede dar y verán información plausible.
El programa se llama TrueCrypt, hay una versión para windows pero no dispongo de uno para probarlo, sin embargo tengo una Mandriva 2008 que ya trae incluído todo lo necesario en forma de paquetes instalables (busquen realcrypt). Para los demás, seguramente cada uno encontrará en su distribución cómo hacerlo. Las instrucciones que doy son de Mandriva, pero funcionarán más o menos igual para cualquier distribución...
Primero cargamos el módulo de kernel que maneja todo: (modprobe realcrypt) o nos aseguramos de que se esté cargando en el arranque, incluyéndolo en el archivo /etc/modprobe.preload o donde más les guste.
Con el módulo funcionando tendremos que decidir donde vamos a esconder nuestros datos. Podemos hacerlo dentro de un archivo que usaremos como disco, o en una partición completa de nuestro disco, o en un dispositivo usb. En este último caso puede ser usando todo el espacio, lo cual hará que se vea como que sólo tiene basura, o creando un archivo dentro de él. Para nuestras pruebas crearemos un archivo en el disco.
Ejecutamos el comando truecrypt para crear un archivo llamado "miscosas" que contenga los datos:
[root@mipc ~]# truecrypt -c miscosas Volume type: 1) Normal 2) Hidden
Aquí viene lo interesante. Truecrypt puede crear dos filesystems en el mismo archivo, uno normal y el otro escondido.
Primero creemos el normal.
Select [1]: 1
Y para hacerlo sencillo lo hacemos tipo FAT. Si quisiéramos otro tipo diferente podemos crear el filesystem nosotros mismos pero si le decimos que lo haga fat el programa se encargará de todo.
Filesystem: 1) FAT 2) None Select [1]: 1
A continuación nos preguntará de qué tamaño hacerlo. Para nuestro ejemplo lo haremos de 100M, pero obviamente podría ser mucho más grande.
Enter volume size (bytes - size/sizeK/sizeM/sizeG): 100M
Después nos pedirá que elijamos el algoritmo de hash y de cifrado. Estoy seguro de que en este sitio hay gente con más conocimientos que yo sobre la conveniencia de uno u otro método, en particular hay dudas sobre sha1, por ejemplo, pero no se qué tan fuertes pueden ser los demás. Con respecto al cifrado, más de lo mismo.
Hash algorithm: 1) RIPEMD-160 2) SHA-1 3) Whirlpool Select [1]: 1 Encryption algorithm: 1) AES 2) Blowfish 3) CAST5 4) Serpent 5) Triple DES 6) Twofish 7) AES-Twofish 8) AES-Twofish-Serpent 9) Serpent-AES 10) Serpent-Twofish-AES 11) Twofish-Serpent Select [1]: 1
A continuación, como era de esperarse, se nos preguntará por la clave a usar y se generará el disco cifrado con datos aleatorios.
Enter password for new volume 'miscosas': Re-enter password: Enter keyfile path [none]: RealCrypt will now collect random data. Is your mouse connected directly to computer where RealCrypt is running? [Y/n]: y
Si estamos trabajando en la consola, tendremos acceso al mouse. En este caso el programa puede capturar datos del mouse para generar valores aleatorios. De lo contrario pedirá que se ingresen caracteres por el teclado.
Please move the mouse randomly until the required amount of data is captured.. Mouse data captured: 100% Done: 84.66 MB Speed: 20.65 MB/s Left: 0:00:00 Volume created.
Ok, hasta aquí nada extraño. Tenemos un disco cifrado como cualquier otro. Lo podemos comenzar a usar pero no vamos a poner información crítica en él. Creamos un directorio donde montarlo y lo montamos:
[root@mipc ~]# mkdir 1 [root@mipc ~]# truecrypt miscosas 1 Enter password for '/root/miscosas': [root@mipc ~]# ls -l 1 total 0
Como veremos, tenemos 86Mb de espacio en el filesystem montado en "1" para escribir nuestras cosas. Pero ahora viene lo interesante. Primero desmontamos este filesystem y vamos a agregarle al volúmen cifrado otro volúmen que quedará escondido.
[root@mipc ~]# truecrypt -d miscosas [root@mipc ~]# truecrypt -c miscosas Volume type: 1) Normal 2) Hidden
Atención aquí, que viene la diferencia. En lugar de normal elegimos hidden.
Select [1]: 2
El resto del procedimiento es el mismo pero debemos elegir otra clave diferente, y si queremos, otro tipo de cifrado diferente. Tal vez uno más fuerte porque este contendrá los datos que realmente queremos esconder. Como es lógico, el tamaño para el filesystem no podrá ser tan grande. Digamos que le damos la mitad: 50M.
Finalmente podemos volver a usar el filesystem. Al montar el filesystem normal, debemos recordar agregar el parámetro -P que protege los datos escondidos para que no sean sobreescritos.
Para esconder información, primero montamos el filesystem normal y metemos datos que parezca plausible que esten cifrados, como documentos privados y cosas así. Para que los datos del volumen escondido esten protegidos, deberemos indicar las dos claves para que truecrypt pueda leer ambos volúmenes y asegurarse de no sobreescribirlos, pero accederemos al volumen normal.
[root@mipc ~]# truecrypt -P miscosas 1 Enter password for '/root/miscosas': Enter hidden volume password: [root@mipc ~]# cp curriculum.odt dni.jpg 1 [root@mipc ~]# truecrypt -d miscosas
Ahora lo montamos de nuevo, pero en lugar de la clave normal ponemos la clave para el volumen escondido y viceversa y grabamos los datos secretos. De esta forma tendremos acceso al volumen secreto.
[root@mipc ~]# truecrypt -P miscosas 1 Enter password for '/root/miscosas': Enter hidden volume password: [root@mipc ~]# cp planes_de_dominacion_mundial.odt 1 [root@mipc ~]# truecrypt -d miscosas
Si nos vemos obligados a entregar la clave de cifrado, podemos entregar la clave para el volumen normal, y según los desarrolladores de truecrypt, parece que no hay manera de demostrar que el resto de los datos que hay no son sólo basura generada por el cifrado. ATENCION: si se monta sin saber que existe otro volúmen no pasa nada EXCEPTO que al grabar, truecrypt no podrá evitar que se sobreescriban los datos secretos.
Realmente dudo que una persona necesite llegar a estos extremos en su vida normal, a no ser que quiera esconder pornografía en la máquina de su trabajo o algo así pero bueno. Las herramientas están y es muy interesante conocerlas.




Varios comentarios...Al
Varios comentarios...
Al menos en Windows y desde la interfaz gráfica, cuando eliges crear un volumen oculto, automáticamente crea el volumen falso externo y el volumen oculto propiamente dicho.
Por otro lado, se me ocurre un grave problema de seguridad en lo que se acaba de proponer.
Volviendo a Windows. Para proteger el volumen interno basta con activar una casilla y meter la contraseña y llaves necesarias. Eso, que yo sepa no deja ningún tipo de huella.
Sin embargo y tal como se ha propuesto arriba, al hacerlo desde la consola, queda registrado que cada vez que montas el archivo lo haces con -P y que por tanto, hay un volumen oculto interno. Denegabilidad plausible a la mierda.
Por tanto, o se hace uso de interfaces gráficas que no registren el montaje, o se deshabilita el historial de comandos introducidos.
PS. Hablo de Windows porque nunca he usado interfaz gráfica en TC para Linux.
PS2. Manda narices, 1+1 en mi pueblo es 2! x-D
PS2. Joe, 5+5 es 10!! :@
PS3. Vale, ya he deshabilitado NoScript.
historial de comandos
Es muy fácil borrar el historial de comandos, pero hay muchas alternativas posibles.
Por ejemplo:
export HISTFILE=/dev/null
Hace que el archivo histórico no se grabe. Otra alternativa útil sería:
export HISTIGNORE=*crypt*
En este caso, en el histórico no se graba nada que contenga la palabra crypt. Algo que cualquiera suficientemente paranoico como para tener un disco cifrado podría justificar fácilmente.
La otra alternativa obvia es usar otro intérprete de comandos que no guarde el histórico en un archivo, ash, csh, zsh creo que son así: el histórico se pierde al cerrar el shell. Simplemente se lo ejecuta desde la línea de comandos para obtener un shell secundario.
El historico no es el único problema
Actualmente el sistema operativo guarda tantos rastros de la actividad del usuario que no se puede confiar en poder borrarlos todos.
Por mencionar unos cuantos:
- Tanto windows como linux previsualizan ficheros y guardan thumbnails.
- Los dos vienen con herramientas de búsqueda (porque parece que ya nadie sabe lo que tiene en su disco) que escanean los discos durante los tiempos muertos, e indexan los ficheros y su contenido.
- La swap, o memoria virtual.
- Las MRUL (most recently used list), que cada aplicación suele guardar de los ficheros que abre, de las cuales los peores son el Historial de navegación, y los Documentos recientes, pero hay muchos más.
- Los logs del sistema de /var/log, o logs de errores que se ponen en el primer sitio que encuentran...
Además, si estos datos se escriben alguna vez en el disco duro, nadie puede asegurar que después de 'borrarlos' se hayan eliminado, ya que el borrado normal no es seguro.
Por lo tanto, cuando se trabaja con volumenes encriptados no se debe usar nunca un sistema operativo normal instalado en el disco duro, sinó un Live CD, un LiveCD copiado a disco duro y arrancado con grub, o una máquina virtual en modo snapshot, por ejemplo.
Eso es lo más seguro,
Eso es lo más seguro, porque además, ofrece seguridad completa en el ámbito de la denegabilidad plausible.
Nada más instalar TC en un sistema windows, aunque lo desinstales deja huellas en el registro. La única forma de evitar dejar huellas de haber usado nunca TC es usarlo desde live-cd's o máquinas virtuales.
Oculto en Windows
Muy buena la contribución.
Creo recordar que en la versión de Windows, se advertía en la documentación que al activar la ocultación de la partición se debería tener cuidado con los programas para desfragmentar.
Saludos
Excelente
Uso truecrypt hace tiempo y es excelente. Altamente recomendado, con varios algoritmos de cifrado además de la posibilidad de escoger diferentes formatos de escritura en disco.
Escolares franceses
En una región de Francia se estan distribuyendo 200.000 pendrives a los escolares, con una colección de software libre dentro, y en ella... ¡sorpresa! nuestro protagonista de hoy, Truecrypt. Todos esos chavales le dan al porno?. Yo creo que no, y que los responsables del proyecto han sido brillantes. Al fin y al cabo, Francia es la tierra de la resistencia.
Más información en el portal campusb.fr pinchando sobre el cubo.
Por cierto, en España también se distribuyen 'mochilas digitales', pero creo que no estan a la misma altura.
no me opongo pero...
Pienso que la criptografía es una herramienta importante para algunos usos.
Lo que deberíamos plantearnos es esto: esa gente que decidió armar ese pen-drive con software, ¿para qué piensan que pueden usar los estudiantes un software de criptografía fuerte?.
Para lo mismo que tú
¿Por qué tú puedes disponer de criptografía fuerte y ellos por ser estudiantes no? Perdona que te diga, pero eso de "privilegios sólo para quien yo diga" tiene un nombre muy feo que espero que no te sientas identificado.
Una duda
Suponiendo que nos veamos obligados a entregar la contraseña del volumen "falso", digamos "pass1" ¿no quedaría patente que, aparte de ese archivo, existe otro oculto? Me explico: si un policía forense, contraseña "pass1" en mano, escribe esto:
E introduce "pass1" (que nosotros le hemos dado), TC nos pide la siguiente contraseña:
¿Con esto no queda demostrado que hay MÁS ficheros ocultos que los que hemos reconocido tener? :S
Opinar