Consiguen romper una contraseña de hace 11 años para recuperar $3M en bitcoin

«Michael» (nombre falso para mantener su anonimato), un propietario de criptomonedas, necesitaba ayuda para recuperar el acceso a aproximadamente 2 millones de dólares en bitcoin que almacenó en formato cifrado en su ordenador.

Michael almacenó las criptomonedas en una cartera digital protegida por contraseña. Generó una contraseña utilizando el administrador de contraseñas RoboForm y almacenó esa contraseña en un archivo cifrado con una herramienta llamada TrueCrypt.

En algún momento, ese archivo se corrompió y Michael perdió acceso a la contraseña de 20 caracteres que había generado para asegurar sus 43.6 BTC (con un valor total de aproximadamente 4.000 euros en 2013). Michael utilizó el administrador de contraseñas RoboForm para generar la contraseña, pero no la almacenó en su administrador. Temía que alguien hackeara su ordenador y obtuviera la contraseña.

Joe Grand es un famoso especialista de seguridad que en 2022 ayudó a otro propietario de carteras de criptomonedas a recuperar el acceso a 2 millones de dólares en criptomonedas que pensaba que había perdido para siempre después de olvidar el PIN de su billetera Trezor.

Desde entonces, decenas de personas han contactado a Grand para que los ayude a recuperar su tesoro.

Michael almacenó sus criptomonedas en una cartera basada en software, lo que significaba que ninguna de las habilidades de hardware de Grand era relevante esta vez. Pensó en usar fuerza bruta para adivinar la contraseña de Michael, escribiendo un script para probar automáticamente millones de contraseñas posibles hasta encontrar la correcta, pero determinó que esto no era factible.

Consideró brevemente que el administrador de contraseñas RoboForm que Michael utilizó para generar su contraseña podría tener un defecto en la forma en que generaba contraseñas, lo que le permitiría adivinar la contraseña más fácilmente. Sin embargo, Grand dudaba de que existiera tal defecto.

Michael contactó a varias personas especializadas en descifrar criptografía; todos le dijeron «no hay posibilidad» de recuperar su dinero. Pero en junio pasado, Grand aceptó intentarlo, trabajando con un amigo llamado Bruno en Alemania, quien también piratea carteras digitales.

Un fallo en Roboform fue clave para lograr el acceso

Grand y Bruno pasaron meses desmontando la versión del programa RoboForm que creían que Michael había usado en 2013 y descubrieron que el generador de números pseudoaleatorios utilizado para generar contraseñas en esa versión, y versiones posteriores hasta 2015, tenía un fallo que hacía que el generador de números aleatorios no fuera tan aleatorio.

El programa RoboForm vinculaba imprudentemente las contraseñas aleatorias que generaba a la fecha y la hora en el ordenador del usuario: determinaba la fecha y la hora del ordenador, y luego generaba contraseñas predecibles. Si conocías la fecha y la hora y otros parámetros, podrías calcular cualquier contraseña que se hubiera generado en una cierta fecha y hora en el pasado.

Pero había un problema: Michael no podía recordar cuándo creó la contraseña. Según el registro en su cartera de software, Michael transfirió bitcoin a su billetera por primera vez el 14 de abril de 2013. Pero no recordaba si generó la contraseña el mismo día o algún tiempo antes o después de esto.

Entonces, al observar los parámetros de otras contraseñas que generó utilizando RoboForm, Grand y Bruno configuraron RoboForm para generar contraseñas de 20 caracteres con letras mayúsculas y minúsculas, números y ocho caracteres especiales desde el 1 de marzo al 20 de abril de 2013.

Falló al generar la contraseña correcta. Entonces, Grand y Bruno ampliaron el marco de tiempo del 20 de abril al 1 de junio de 2013, utilizando los mismos parámetros. Aun así, no hubo suerte.

En noviembre pasado, se comunicaron con Michael para mantener una reunión en persona. En dicha reunión, le revelaron que finalmente encontraron la contraseña correcta, sin caracteres especiales. Se generó el 15 de mayo de 2013, a las 16:10:40 GMT.

Al final tuvimos suerte de que nuestros parámetros y rango de tiempo fueran correctos. Si alguno de esos estuviera mal, habríamos … continuado adivinando/disparando en la oscuridad. Habría llevado significativamente más tiempo precalcular todas las contraseñas posibles.

En noviembre pasado, Grand y Bruno dedujeron un porcentaje de bitcoins de la cuenta de Michael por el trabajo que hicieron, luego le dieron la contraseña para acceder al resto. El bitcoin valía 38.000 dólares por moneda en ese momento. Michael esperó a que subiera a 62.000 dólares por moneda y vendió parte de él. Ahora tiene 30 BTC, que ahora valen 3 millones de dólares, y está esperando que el valor suba a 100.000 dólares por moneda.

Michael dice que tuvo suerte de haber perdido la contraseña hace años porque, de lo contrario, habría vendido el bitcoin cuando valía 40.000 dólares por moneda y habría perdido una fortuna mayor.