Este artículo se publicó por primera vez en SEGURIDAD ITK.

Última actualización antes de 1 año a través de Patrick Ruppelt

Tiempo de lectura: 8 minutos

Descifrar un archivo PDF o ZIP protegido con contraseña suele llevar sólo unos segundos con las herramientas adecuadas. Un hecho que los bancos, los médicos y muchas otras autoridades públicas suelen desconocer.

¿Qué entienden los bancos por "seguro"?

Los datos sensibles no deben intercambiarse por correo electrónico. Esto es bien sabido. Hay opciones mucho mejores, como las salas de datos digitales. Ofrecemos a nuestros clientes este tipo de salas en nuestros propios servidores de nuestro centro de datos, donde todos los archivos se almacenan encriptados y no es posible utilizar los métodos habituales para "descifrar" contraseñas. Por citar sólo una técnica muy sencilla, por ejemplo, porque se te bloquea y bloquea tras tres intentos fallidos. Como suele ocurrir, hay una "trampa": estos sistemas cuestan dinero. La seguridad no es gratuita.

Desgraciadamente, muchos proveedores de servicios, de los que en realidad se debería poder esperar algo distinto, siguen teniendo una opinión diferente. Los bancos, por ejemplo.

Un error muy común es pensar que proteger un archivo con una contraseña significa que sólo la persona que la tiene puede abrirlo. Esto es muy popular con archivos PDF y archivos ZIP (estoy pensando en una carta INI del banco), pero la protección con contraseña también se utiliza a menudo con archivos Word o archivos ZIP empaquetados.

Con una contraseña correspondientemente compleja, esto es ciertamente seguro, pero no si, como es habitual en los bancos, se utiliza simplemente un código postal de cinco dígitos como contraseña. Como muestra un ejemplo sencillo, es una falacia creer que algo así sería seguro.

La configuración de la prueba

Para mi prueba, creé un archivo PDF y lo encripté con la contraseña simple "prueba". En la vista del archivo, es visualmente indistinguible de un archivo PDF ordinario sin encriptar. Cualquier ordenador corriente puede abrir el archivo, imprimirlo, etc.

Visualización del archivo de prueba en el explorador de archivos (en el sistema Linux de mi ordenador, pero tendría un aspecto similar en ordenadores Windows o Mac)

Al intentar abrir el archivo, el usuario recibe una solicitud de contraseña. Sin ella, el fichero no puede abrirse:

Indicación de contraseña al intentar abrir el archivo PDF de prueba

Procedimiento para descifrar la contraseña

Este artículo sólo pretende ilustrar lo fácil que es descifrar una contraseña de este tipo con las herramientas adecuadas. Aquí no damos consejos sobre cómo "piratear". Por ello, algunas partes de los comandos necesarios se han hecho irreconocibles.

No quiero llamar a nadie a hacer travesuras, sino sólo señalar el problema como tal para sensibilizar.

El procedimiento es tan sencillo como eficaz. Ahora utilizo mi bloc de notas para intentar abrir el archivo en bucle. Cada vez que el archivo pide la contraseña, le doy una contraseña generada automáticamente.

En primer lugar, se utilizan palabras de diccionario. Esto también explica por qué siempre se aconseja no utilizar palabras reales o incluso nombres como contraseñas.

Si ninguna de mis contraseñas, probadas automáticamente a partir de diccionarios, tiene éxito, continúo con el llamado ataque de "fuerza bruta". Aquí, simplemente se prueban todas las contraseñas imaginables o posibles. Primero todo de la a a la Z, luego aa, ab, ac, ad, ... etc., así como letras, números y combinaciones de caracteres especiales. Al fin y al cabo, tiene que haber una contraseña de algún tipo, así que está garantizado que en algún momento encontrarás una contraseña que funcione mediante el método de ensayo y error.

La prueba práctica con el ejemplo

Técnicamente, es así:

Comienza el programa para probar contraseñas

El único factor limitante es la potencia de cálculo de que dispongo. El rendimiento del procesador llega hasta 100% en el único núcleo en el que ejecuto el programa. Si quiero hacerlo todo a gran escala, distribuyo la carga entre los ocho procesadores disponibles. Esto permitiría a mi portátil probar unas 370.000 contraseñas por segundo (!).

Carga del procesador durante el "descifrado" de la contraseña

Un poco de matemáticas

Para esta sencilla prueba, me basta con un núcleo de procesador. En aproximadamente 1,5 minutos, se encontró la contraseña correcta por ensayo y error.

Resultado de descifrar una contraseña por "fuerza bruta" a través de un archivo PDF protegido con contraseña

Y esto explica también por qué se recomienda evitar las contraseñas especialmente cortas.

Pensemos en un conjunto de caracteres de elementos de contraseña permitidos:

  • 26 letras: de la a a la z (minúsculas)
  • 26 letras: De la A a la Z (mayúsculas)
  • 7 Diéresis y S agudas: ä, ö, ü, Ä, Ö, Ü, ß
  • 19 Caracteres especiales: . ¡, - _ ; : ! " § $ % & / ( ) = ? # + *

Esto da como resultado exactamente 78 posibilidades válidas para cada carácter. Esto significa que, matemáticamente, hay

  • Contraseña con 1 dígito sólo 78 posibilidades,
  • Contraseña con 2 dígitos 78^2 = 6.084 posibilidades,
  • Contraseña con 3 dígitos 78^3 = 474.552 posibilidades,
  • Contraseña con 4 dígitos 78^4 = 37.015.056 posibilidades,
  • Contraseña con 5 dígitos 78^5 = 2.887.174.368 posibilidades,
  • Contraseña con 6 dígitos 78^6 = 225.199.600.704 posibilidades, etc.

Es fácil ver que la complejidad y las posibles contraseñas a probar aumentan considerablemente con cada dígito adicional de la contraseña.

Conclusión

Sin embargo, esto no cambia nada en absoluto a la hora de descifrar contraseñas, salvo el factor tiempo. Mientras que mi portátil necesita menos de dos minutos para cuatro dígitos, estamos hablando de varias horas para algunos más. Con suficiente potencia de cálculo y/o suficiente tiempo, aún puedo descifrar cualquier contraseña y no hacer nada más que esperar a que mi sistema automático escupa la contraseña correcta. El único remedio es una contraseña suficientemente compleja, que entonces requeriría un procedimiento automatizado para ir sobre seguro.

Por lo tanto, la encriptación manual de archivos no suele considerarse segura y no se recomienda para enviar documentos sensibles, por ejemplo, por correo electrónico.

Antecedentes jurídicos

Al "crackear" contraseñas, es esencial observar el marco legal. La elusión deliberada de los mecanismos de protección suele estar penada por la ley. En este contexto, recomendamos la lectura de la artículo correspondiente de la Verlag für Rechtsjournalismus GmbH enlazado aquí1).

Lista de fuentes

↑1https://www.passwort-generator.com/passwort-knacken/