Tienda Wifi

Tienda Wifi
CiudadWireless es la tienda Wifi recomendada por elhacker.NET

Buscador

Entradas Mensuales

Suscripción

¿Quieres recibir las últimas novedades del blog en tu correo?

¡Suscríbete al feed!

Foro de elhacker.net - Noticias

elhacker.NET en Facebook

Entradas populares

PostHeaderIcon Cifrar documentos, ficheros o carpetas con GnuPG en Linux y Windows




Cuando el cifrado se utiliza correctamente, tus comunicaciones o informaciones deberían ser leídas solamente por tí y la persona o personas con quien te estás comunicando. El cifrado de punto-a-punto (“end-to-end encryption”) protege tus datos frente a las vigiliancias realizadas por un tercero. Aunque el argumento fácil sea que muchos no tengamos "nada que esconder", el cifrado está presente en nuestras vidas cada día, por ejemplo cuando accedemos a cualquier servicio que utilice https, como Facebook, Gmail, nuestro banco, etc. Incluso hasta nuestra tarjeta de crédito usa cifrado internamente, y es que aunque no queramos, el cifrado es necesario hoy en día.




Aunque el término criptografía nos suele hacer pensar en el mundo de los espías está muy presente en nuestro día a día. Cuando nos conectamos a servicios como Gmail, estamos estableciendo una comunicación segura y, por tanto, cifrada entre nuestro ordenador (o nuestro dispositivo móvil) y los servidores de Google. Cuando realizamos una llamada telefónica desde nuestro terminal móvil, la secuencia de datos que generamos también está cifrada y, de esta forma, se evita que alguien no autorizado pueda estar a la escucha e interceptar nuestras comunicaciones.

Seguro que a ninguno de nosotros nos gustaría que pudieran ver nuestras transacciones bancarias on-line y por eso usamos el cifrado (en este caso sobre http, llamado https).  Se llama privacidad e intimidad, y aunque, por desgracia, terroristas usen habitualmente herramientas de cifrado para esconder u ocultar información dañina, la mayoría de las veces que usamos el cifrado son para otros propósitos. Por desgracia, también el malware del tipo ransomware, como CryptoWall, Locky, CryptoLocker también usa el cifrado con fines destructivos.

La criptografía se encarga, precisamente, de cifrar o codificar mensajes para evitar que su contenido pueda ser leído por un tercero no autorizado; es decir, la generación de códigos y algoritmos de cifrado que buscan ofuscar la información y protegerla

Desafortunadamente, PGP no es fácil de comprender, o usar. El cifrado de alta seguridad que utiliza PGP - cifrado de clave pública - es genial, pero poco intuitivo. GNU Privacy Guard (GnuPG o GPG) es una herramienta de cifrado y firmas digitales desarrollado por Werner Koch, que viene a ser un reemplazo del PGP (Pretty Good Privacy)

Recordemos que también podemos usar algún fork de TrueCrypt antes que fuera "comprometido" (no seguro) (7.1a, aunque tiene dos bugs graves (CVE-2015-7358, CVE-2015-7359) ) como una de sus variantes más conocidas, como VeraCrypt (Mounir Idrassi) para cifrar el contenido o una parte de nuestro ordenador. O usar las soluciones nativas de Microsoft (anteriormente (EFS) sólo soportaba cifrar carpetas, ficheros, BitLocker (AES-CBC) cifras la unidad entera, FileVault en Mac (GPGTools), o  LUKS (Linux Unified Key Setup) para GNU/Linux.


  • Cifrar el ordenador entero (todo el disco duro, o usar dos particiones , una cifrada y otra no)
  • Crear un contenedor (Container) o crear un volumen (como si fuera una unidad de red)
TrueCrypt también se encuentra disponible en GNU Linux y Mac OS.

Muchas distribuciones de GNU Linux, como Ubuntu, disponen de cifrado y descifrado sobre la marcha para el disco completo, como una característica estándar; puedes decidir utilizarla al instalar el sistema. Además, también recomendamos la activación del cifrado de la capeta de inicio durante la instalación. También puedes agregar la funcionalidad de cifrado a tu sistema Linux mediante la integración de dm-crypt y cryptsetup y LUKS. Otra opción es utilizar ScramDisk para Linux SD4L, un programa de cifrado y descifrado sobre la marcha gratis y de código abierto.

Para Mac OS puedes usar FileVault, que es parte del sistema operativo, para ofrecer cifrado y descifrado sobre la marcha para el contenido completo de tu disco o tu carpeta de inicio y todas las subcarpetas.

Para las versiones de Microsoft Windows 7 Ultimate o Enterprise o MS Windows 8 Pro y Enterprise puedes utilizar BitLocker para el cifrado del disco completo. Nota: BitLocker es un programa cerrado de Microsoft, que no se somete a una auditoría independiente para establecer el nivel de protección y privacidad que ofrece a tu información.

¿Qué diferencia hay entre cifrar y proteger por contraseña?

No son sinónimos. Aunque para ambas haya que escribir una contraseña para pode abrir el documento, fichero o carpeta.

Protegido por contraseña simplemente añade una contraseña para poder abrir el contenido, pero cifrar, altera realmente el contenido que permanece oculto.

También debemos tener en cuenta que cifrar una carpeta de gran tamaño requiere un gasto de CPU extra, es decir, cifrar documentos de gran tamaño (como copias de seguridad) requiere esperar un tiempo según la potencia de la cpu, el tamaño y el cifrado elegido. Contra más seguro sea el cifrado más será coste de cpu y por lo tanto más rato tardará en cifrar y descifrar. Es algo que debemos tener muy en cuenta si trabajamos con ficheros de gran tamaño habitualmente.

Gráfico tiempo descifrado según tamaño llave RSA:


Opciones cifrado en VeraCrypt . AES-Towfish-Serpent es el cifrado más robusto y seguro, pero también el más lento:


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

Criptografía - Cifrado

El cifrado simétrico puede ser atacado por fuerza bruta o con ataques por diccionario. El cifrado asimétrico sin llave privada no puede ser atacado por fuerza bruta. Aún así, una llave de 256 o incluso de 128 bits aunque sea simétrico es prácticamente imposible de romper por fuerza bruta.

Cifrado Simétrico (7-zip, openssl  (usando AES)


El cifrado simétrico consiste en el uso de una misma llave para cifrar y descifrar el mensaje cifrado. El hecho de que exista un secreto compartido entre emisor y receptor constituye una vulnerabilidad que ha sido resuelta únicamente por el cifrado asimétrico. El cifrado simétrico o de clave secreta, también llamado criptografía simétrica, sirve para cifrar ficheros o comunicaciones utilizando una contraseña.




Cifrado Asimétrico (gpg, openssl)


Con el cifrado asimétrico el problema del secreto compartido se resuelve: los mensajes se cifran con una clave pública, y sólo el receptor con su clave privada podrá descifrarlo.




  • Llave privada (Private Key)
  • Llave pública (Public Key)
Por supuesto la llave privada debe ser guardada en un lugar seguro.

La relación de la clave privada y pública es realmente muy simple. Cualquier cosa que se cifra utilizando la clave pública sólo puede ser descifrado con su clave privada relacionada.

Pretty Good Privacy se ocupa principalmente de los pequeños detalles de creación y uso de claves públicas y privadas. Puedes crear un par de claves pública / privada con este, proteger la clave privada con una contraseña y utilizarla junto a la clave pública para firmar y cifrar texto. También permitirá descargar las claves públicas de otras personas y subir tus claves públicas a "servidores de claves públicas", que son los repositorios donde otras personas puedan encontrar tu clave.

Para usar PGP (Pretty Good Privacy) con el e-mail, necesitas instalar algunos programas extras que trabajaran a la par de tu programa de email habitual. También necesitas crear una llave privada, que deberás mantener privada. La llave privada es la que usarás para descifrar los emails que te envían, y para firmar digitalmente los  que  envías para asegurar que realmente fueron enviados por ti. Finalmente, debes aprender como distribuir tu llave pública; una pequeña porción de información que otros   necesitarán conocer antes de que ellos te puedan enviar mensajes/email cifrados, y que puede ser usada para certificar la autenticidad de los emails que envías.

 Tu llave pública tendrá un aspecto similar a esto:

-----BEGIN PGP PUBLIC KEY BLOCK-----
 [..]
-----END PGP PUBLIC KEY BLOCK----- 



Cada persona tiene un grupo de llaves. Para enviar un mensaje seguro a una persona en particular,tu cifras tu mensaje usando tus llaves públicas. Un asaltante podría estar en condición de engañarlo usando tus llaves, lo cual quiere decir que ellos podrían leer tus mensajes, en vez del recipiente indicado. Esto significa que tu debes de verificar una llave ha sido usada por una persona en particular. La verificación de llaves es cualquier forma que te deje verificar que ésta concuerda con una persona.

Compresores que NO protegen por contraseña (no admiten contraseña)

  • tar
  • gzip
  • bzip2

Compresores que admiten contraseña

  • zip
  • 7zip (p7zip)

Ejemplos:

zip
zip -e .zip 
 7zip
7z a -p .7z file1.txt file2.txt

Resumen:

- Si permiten contraseña: zip, rar, 7z, cbr, cbz,exe
- No permite contraseña: ar, jar, tar, tar, tar.7z, tar.bz2, tar.gz, tar.lzma, tar.xz

- Si permiten cifrar la lista de archivos: rar, 7z, cbr
- No permite cifrar la lista de archivos: ar, cbz, jar, tar, tar.7z, tar.bz2, tar.gz, tar.lzma, tar.xz, exe

- Si permiten partir el archivo comprimido en volúmenes: rar,7z, cbr
- No permiten partir el archivo comprimido en volúmenes: ar, cbz, jar, tar, tar.7z, tar.bz2, tar.gz, tar.lzma, tar.xz, exe


Para GNU/Linux  tienes que aplicar la filosofía de Unix a esta tarea: una herramienta para cada tarea.

Compresión es un trabajo para tar y gzip o bzip2,  y la criptografía es un trabajo para gpg o openssl

Pero en GNU/Linux podemos usar un compresor sin contraseña y luego cifrarlo con una contraseña sin problemas, todo en el mismo comando o usando dos comandos.

Proteger fichero o carpeta con contraseña en Linux vía comandos



  • gpg (GnuPG)
  • openssl
  • mcrypt
  • bcrypt
  • crypt
  • ccrypt
Se recomienda usar gpg (GNU Privacy Guard) ) antes que openssl por el tema del cifrado asimétrico.

Debemos saber que es GPG (GNU Privacy Guard), que es un derivado libre de PGP y su utilidad es la de cifrar y firmar digitalmente, siendo además multiplataforma 

Con gpg también se puede usar con cifrado simétrico usando la opción --symmetric (en vez de --encrypt)

Ejemplo:

gpg --symmetric --cipher-algo AES256 -backup.zip
Nos crear un fichero backup.zip.gpg que podemos descifrar con -d

Cipher recomendado

  • DES (Data Encryption Standard)
  • 3DES (Triple Data Encryption Standard) (Estándar en el comercio electrónico como las tarjetas de crédito aún lo usan)
  • AES (Advanced Encryption Standard) Rijndael - Estándar de cifrado del siglo XXI, de libre distribución 
A día de hoy nadie debería usar algoritmos de algoritmos de cifrado, hashing y autenticación débiles (rotos):
  • MD5
  • SHA1
  • RC4

AES (Advanced Encryption Standard)

Hoy en día, DES se considera inseguro para muchas aplicaciones. Esto se debe principalmente a que el tamaño de clave de 56 bits es corto; las claves de DES se han roto en menos de 24 horas. El Triple DES ha desaparecido lentamente, siendo reemplazado por el algoritmo AES. Sin embargo, la mayoría de las tarjetas de crédito y otros medios de pago electrónicos tienen como estándar el algoritmo Triple DES (anteriormente usaban el DES). Por su diseño, el DES y por lo tanto el TDES son algoritmos lentos. AES puede llegar a ser hasta 6 veces más rápido y a la fecha no se ha encontrado ninguna vulnerabilidad.

Es un algoritmo de cifrado simétrico desarrollado por los estudiantes Vincent  Rijmen y Joan Daemen de la Katholieke Universiteit Leuven en Bélgica, bajo el nombre "Rijndael" fue presentado en 1997 al concurso organizado por el Instituto Nacional de Normas y Tecnologías (NIST) para elegir el mejor algoritmo de cifrado; el algoritmo gano el concurso transformándose en un estándar en el año 2002, con algunos cambios fue posteriormente renombrado AES (Advanced Encryption Standard) y se convirtió en uno de los algoritmos más utilizados en la actualidad.

AES es un algoritmo de cifrado por bloques, inicialmente fue diseñado para tener longitud de bloque variable pero el estándar define un tamaño de bloque de 128 bits, por lo tanto los datos a ser encriptados se dividen en segmentos de 16 bytes (128 bits) y cada segmento se lo puede ver como un bloque o matriz de 4x4 bytes al que se lo llama estado.

Por ser simétrico, se utiliza la misma clave para encriptar como para desencriptar, la  longitud de la clave puede ser de 128, 192 o 256 bits según especifica el estándar, esto  permite tres implementaciones conocidas como AES-128, AES-192 y AES-256.

BitLocker de Microsoft utiliza por defecto AES-128 que puede ser cambiado a AES-256 usando las directivas de grupo (gpedit.msc). Windows 10 utiliza un nuevo método de cifrado basado en XTS-AES

  • AES-CBC 128-bit
  • AES-CBC 256-bit
  • XTS-AES 128-bit
  • XTS-AES 256-bit




Para que nos hagamos una idea la NSA considera las claves de 128 bits lo suficientemente bueno sólo para los datos sean "SECRET". Pero para que puedan ser "TOP SECRET", se requiere que las claves sean de 256 bits.

Longitud (tamaño) de las llaves DSA , RSA, ElGamal


  • RSA (Rivest-Shamir-Adleman) (Iniciales de Ron Rivest, Adi Shami y Leonard Adleman)
  • DSA (Digital Signature Algorithm)
  • ElGamal (Taher ElGamal)

DSA VS RSA. Ambos son considerados actualmente prácticamente igual de "seguros". Lógicamente varia según su número de bits (key size o key length), pero a partir de 2048-bit se considera suficiente, pero no lo suficientemente (valga la redundancia). Aunque para el uso actual está recomendado usar na longitud de 4096.

La razón por la que GnuPG usa por defecto a ElGamal está probablemente relacionado con el tema de las patentes. RSA estaba patentado en los EE.UU por lo que algunas implementaciones no eran compatibles, pero la patente expiró en el año 2000.

En el fichero de configuración:

~/.gnupg/gpg.conf
 Añade:
personal-cipher-preferences AES256 TWOFISH AES192 AES
personal-digest-preferences SHA512 SHA384 SHA256
personal-compress-preferences ZLIB BZIP2 ZIP
 o bien:

#-----------------------------
# algorithm and ciphers
#-----------------------------

# list of personal digest preferences. When multiple digests are supported by
# all recipients, choose the strongest one
personal-cipher-preferences AES256 AES192 AES CAST5

# list of personal digest preferences. When multiple ciphers are supported by
# all recipients, choose the strongest one
personal-digest-preferences SHA512 SHA384 SHA256 SHA224

# message digest algorithm used when signing a key
cert-digest-algo SHA512

# This preference list is used for new keys and becomes the default for
# "setpref" in the edit menu
default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed

 Elige mínimo AES256
cipher-algo AES256

El cifrado por defecto para gpg antes era CAST5

 Una vez generada las claves puedes editar las preferencias con:

gpg --interactive --edit-key el-brujo@elhacker.net

gpg> showpref

default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed

Genera tus claves

gpg --gen-key
La primera será la llave pirvada y la segunda la llave pública.

Para exportar la llave pública:

gpg --armor --export el-brujo@elhacker.net

Cifrar un archivo o carpeta comrpimida

gpg --encrypt --recipient 'el-brujo' carpeta.tar.gz

O la versión abreviada:

gpg -e -r el-brujo carpeta.tar.gz
 El resultado por defecto será carpeta.tar.gz.gpg

Puedes cambiar el nombre  del fichero cifrado usando la opción --output (-o)

Para descifrar el fichero:

gpg --decrypt carpeta.tar.gz.gpg

o la versión abreviada:

gpg -d carpeta.tar.gz.gpg

Si vamos a utilizar gpg en línea de comandos por ejemplo, para automatizar copias de seguridad deberemos usar (en versiones anterior gpg v1 el equivalente es --no-use-agent):

gpg --no-tty --batch --yes
Donde --yes es para sobreescribir (overwrite) una copia antigua:

encryption failed: File exists

La opción --no-tty es para solucionar el error:

gpg: cannot open `/dev/tty': No such device or address

Y la opción --batch para solucionar errores del tipo:

gpg: Sorry, no terminal at all requested - can't get input

gpg no tiene ninguna opción, ni parámetro para borrar el fichero original sin cifrar (una vez lo hemos cifrado),debemos usar algún script bash para poder hacerlo.

Ejemplo cifrar un tar.gz

Con tar + pipe gpg + ssh

tar cvzf - /home/backup | gpg -e -r el-brujo | ssh usuario@elhacker.net "cat > /backup/fichero.tar.gz.gpg"

Con tar + pipe openssl

  tar cz carpeta | \
      openssl enc -aes-256-cbc -e > carpeta_cifrada.tar.gz.enc
Usando tar + pipe ccrypt

tar cvvjf - /path/to/files | ccrypt > backup.tar.bz2.cpt

Con openssl


openssl enc -aes-256-cbc -e -in foo.tar.gz -out bar.tar.gz.enc

 Con gpg
 gpg --encrypt carpeta_cifrada.tar.gz

 Usando gzip + aespipe


$ cat clear_text | gzip | aespipe > clear_text.gz.aes #Compress & Encrypt
$ cat clear_text.gz.aes | aespipe -d | gunzip > clear_text #Decrypt & Decompress 

Con GPG

$ gpg -c clear_text #Compress & Encrypt
$ gpg -d clear_text.gpg #Decrypt & Decompress
 Con  mcrypt

$ mcrypt -z clear_text #Compress & Encrypt
$ mdecrypt -z clear_text.gz.nc #Decrypt & Decompress

Usando bcrypt

$ bcrypt -r clear_text #Compress & Encrypt
$ bcrypt -r clear_text.bfe #Decrypt & Decompress

Usando ccrypt

ccrypt backup.tar.bz2
o automatizando tareas podemos pasar como argumento las passkey

ccrypt -k ~/.passkey backup.tar.bz2
 Argumentos para utilizar la variable password

read PASS < /path/to/pwdfile

 Cifrar una carpeta o documento con cifrado asimétrico usando openssl

Primero deberemos crear la llave privada y la llave pública:

openssl req -x509 -nodes -days 100000 -newkey rsa:2048 -keyout llave-privada.pem -out llave-publica.pem -subj ‘/’

Para cifrar:

openssl smime -encrypt -aes256 -in fichero.zip -binary -outform DEM -out fichero.szip.enc llave-publica.pem

Para descifrar:

openssl smime -decrypt -in fichero.zip.enc -binary -inform DEM -inkey llave-privada.pem -out fichero.zip

Cifrado de documentos, carpetas y ficheros en Windows



Un programa alternativo a TrueCrypt a parte de VeraCrypt:
  • DiskCryptor, una solución de cifrado de código abierto que ofrece el cifrado de todas las particiones del disco, incluida la del sistema.
  • AxCrypt es un programa gratis y de código abierto capaz de cifrar archivos individuales.

Para cifrar y descifrar documentos o carpetas en Windows tenemos el programa basado en GPG llamado GPG4Win.

También para un intercambio de correos seguros con PGP  puedes usar: GPG4Win (GNU Privacy Guard para Windows, conocido como GnuPG), 
Gpg para Windows (for Windows) (Kleopatra) permite importar/exportar llaves públicas y privadas de GNU/Linux, cifrar y descifrar carpetas, e-mails (correos electrónicos) y prácticamente todo lo mismo que se puede hacer con gpg para Linux.


Kleopatra permite:
  • Cifrar y firmar e-mails
  • Cifrar documentos, carpetas o ficheros
  • Importar/Exportar Llaves públicas y privadas
  • Crear llaves públicas y privadas
  • Permite integración con Windows (botón derecho sobre un fichero y cifrar)

Cryptomator: cifra ficheros en la nube



Cryptomator es un programa de software libre y de código abierto, que permite cifrar los archivos en nuestro dispositivo antes de ser enviados a la nube, como Dropbox, OneDrive o Drive .

Cryptomator entiendo la simplicidad como un aspecto clave de la seguridad. Con Cryptomator no tienes que lidiar con las cuentas, gestión de claves de acceso, o configuraciones de cifrado. Sólo tienes que elegir una contraseña y ya está listo para subir. Ni siquiera es necesario especificar lo que la nube se utiliza. Cryptomator cifra los archivos y no le importa donde se almacenan  La complejidad mata la seguridad.

Cryptomator es un denominado utilidad de cifrado transparente. Esto significa que usted no tiene que aprender nuevos flujos de trabajo. Sólo el trabajo con sus archivos a medida que estamos acostumbrados.



Tobias Hagemann y Sebastian Stenzel, los creadores de Cryptomator, fueron galardonado en la conferencia CeBIT 2016 en Hannover, con el premio especial de Seguridad y Privacidad Usable por su herramienta "Cryptomator", una herramienta de lado del cliente para cifrar los datos antes de subirlos a la nube, multiplataforma, de código abierto (java bajo licencia MIT/X Consortium) y muy fácil de usar por cualquier usuario. 



Lo que hace el programa es crear un contenedor cifrado (vault) en Dropbox, Google Drive o cualquier otro servicio en la nube y montar un disco virtual de tal forma que todo lo que movamos al mismo será cifrado al vuelo y de forma transparente. 

Cryptomator cifra el contenido de los archivos y nombres usando el algoritmo AES. La passphrase está protegida contra intentos de fuerza bruta utilizando scrypt. Las estructuras de directorios y tamaño de los archivos se ofuscan y, en definitiva, la única cosa que no se cifra para no romper la sincronización es la fecha de modificación de los archivos.




CryptoMator además:

  • Cifra (ofusca) los nombres de los ficheros
  • Oculta la cabecera (header) de los ficheros
  • Oculta tamaño (peso) de los ficheros
En próximas entradas veremos cómo usar el cifrado para enviar correos electrónicos usando extensiones como Mailvelope, que soporta los correos web de Gmail, Yahoo, Outlook y GMX

1 comentarios :

Daniela Delgado dijo...

Trabajo en CISET empresa de mantenimiento informático en el que trabajamos con Sophos SafeGuard Encryption cifra contenido al momento que se crea. El cifrado siempre está activado, lo que permite una colaboración continua y segura.
En el departamento de Marketing se esta empezando con un una campaña sobre este tema os dejo información aqui por si os interesa saber más de este tema y algunas de sus soluciónes para empresas o particulares http://www.ciset.es/seguridad-informatica/sophos-safeguard-encryption

Publicar un comentario

Los comentarios pueden ser revisados en cualquier momento por los moderadores.

Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.

Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.