Gracias a una falla en una versión de hace una década del administrador de contraseñas RoboForm y un poco de suerte, los investigadores pudieron desenterrar la contraseña de una billetera criptográfica que contenía un Fortune.
Hace dos años, cuando "Michael", propietario de Criptomonedas, se puso en contacto con Joe Grand para ayudarle a recuperar el acceso a alrededor de 2 millones de dólares en bitcoins que almacenaba en formato cifrado en su computadora, Grand lo rechazó.
Michael, que reside en Europa y pidió permanecer en el anonimato, almacenó la criptomoneda en una billetera digital protegida con contraseña. Generó una contraseña utilizando el administrador de contraseñas RoboForm y la almacenó en un archivo cifrado con una herramienta llamada TrueCrypt. En algún momento, ese archivo se corrompió y Michael perdió el acceso a la contraseña de 20 caracteres que había generado para proteger sus 43,6 BTC (con un valor total de unos 4.000 euros o 5.300 dólares en 2013). Michael usó el administrador de contraseñas de RoboForm para generar la contraseña pero no la almacenó en su administrador. Le preocupaba que alguien pirateara su computadora y obtuviera la contraseña.
“En [ese] momento, estaba realmente paranoico con mi seguridad”, se ríe.
Grand es un famoso hacker de hardware que en 2022 ayudó a otro propietario de una billetera criptográfica 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 se han puesto en contacto con Grand para ayudarles a recuperar su tesoro. Pero Grand, conocido por el apodo de hacker "Kingpin", rechaza la mayoría de ellos, por varias razones.
Grand es un ingeniero eléctrico que comenzó a piratear hardware informático a los 10 años y en 2008 fue coanfitrión del programa Prototype This de Discovery Channel. Ahora consulta con empresas que construyen sistemas digitales complejos para ayudarlas a comprender cómo los piratas informáticos como él podrían subvertir sus sistemas. Descifró la billetera Trezor en 2022 utilizando complejas técnicas de hardware que obligaron a la billetera estilo USB a revelar su contraseña.
Pero Michael almacenó su criptomoneda en una billetera basada en software, lo que significó que ninguna de las habilidades de hardware de Grand fue relevante esta vez. Consideró forzar la contraseña de Michael (escribir un script para adivinar automáticamente millones de contraseñas posibles y encontrar la correcta), pero determinó que esto no era factible. Consideró brevemente que el administrador de contraseñas RoboForm que Michael usó para generar su contraseña podría tener una falla en la forma en que generaba contraseñas, lo que le permitiría adivinar la contraseña más fácilmente. Grand, sin embargo, dudaba que existiera tal defecto.
Michael se puso en contacto con varias personas que se especializan en descifrar criptografía; todos le dijeron que “no hay posibilidad” de recuperar su dinero. Pero en junio pasado se acercó a Grand nuevamente, con la esperanza de convencerlo de que ayudara, y esta vez Grand aceptó intentarlo, trabajando con un amigo llamado Bruno en Alemania que también piratea billeteras digitales.
Grand y Bruno pasaron meses aplicando ingeniería inversa a la versión del programa RoboForm que pensaban 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 en versiones posteriores hasta 2015) tenía efectivamente un defecto importante. eso hizo que el generador de números aleatorios no fuera tan aleatorio. El programa RoboForm vinculó imprudentemente las contraseñas aleatorias que generó a la fecha y hora de la computadora del usuario: determinó la fecha y hora de la computadora y luego generó contraseñas que eran predecibles. Si conociera la fecha, la hora y otros parámetros, podría calcular cualquier contraseña que se hubiera generado en una fecha y hora determinadas en el pasado.
Si Michael supiera el día o el período general de tiempo en 2013 cuando la generó, así como los parámetros que utilizó para generar la contraseña (por ejemplo, la cantidad de caracteres en la contraseña, incluidas letras minúsculas y mayúsculas, cifras, y caracteres especiales), esto reduciría las posibles adivinanzas de contraseñas a un número manejable. Luego podrían secuestrar la función RoboForm responsable de verificar la fecha y la hora en una computadora y hacer que viaje atrás en el tiempo, creyendo que la fecha actual era un día en el período de 2013 cuando Michael generó su contraseña. RoboForm luego escupiría las mismas contraseñas que generó en los días de 2013.
Había un problema: Michael no recordaba cuándo creó la contraseña.
Según el registro en su billetera de software, Michael movió bitcoin a su billetera por primera vez el 14 de abril de 2013. Pero no podía recordar si generó la contraseña el mismo día o en algún momento antes o después de esto. Entonces, al observar los parámetros de otras contraseñas que generó usando 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 del 1 de marzo al 20 de abril de 2013.
No pudo generar la contraseña correcta. Entonces Grand y Bruno ampliaron el plazo del 20 de abril al 1 de junio de 2013, utilizando los mismos parámetros. Todavía no hubo suerte.
Michael dice que seguían volviendo a preguntarle si estaba seguro de los parámetros que había utilizado. Se apegó a su primera respuesta.
“Me molestaban mucho, porque quién sabe qué hice hace 10 años”, recuerda. Encontró otras contraseñas que generó con RoboForm en 2013, y dos de ellas no usaban caracteres especiales, por lo que Grand y Bruno las ajustaron. En noviembre pasado, se comunicaron con Michael para concertar una reunión en persona. "Pensé: 'Dios mío, me volverán a pedir la configuración'".
En cambio, revelaron que finalmente habían encontrado la contraseña correcta, sin caracteres especiales. Se generó el 15 de mayo de 2013, a las 4:10:40 pm GMT.
“Al final tuvimos suerte de que nuestros parámetros y rango de tiempo fueran correctos. Si cualquiera de esas cosas estuviera mal, habríamos... seguido haciendo conjeturas/disparos en la oscuridad”, dice Grand en un correo electrónico a WIRED. "Habría llevado mucho más tiempo precalcular todas las contraseñas posibles".
Grand y Bruno crearon un vídeo para explicar los detalles técnicos más a fondo.
RoboForm, fabricado por la estadounidense Siber Systems, fue uno de los primeros administradores de contraseñas del mercado y actualmente cuenta con más de 6 millones de usuarios en todo el mundo, según un informe de la empresa. En 2015, Siber pareció arreglar el administrador de contraseñas de RoboForm. En un vistazo rápido, Grand y Bruno no pudieron encontrar ninguna señal de que el generador de números pseudoaleatorios en la versión de 2015 usara el tiempo de la computadora, lo que les hace pensar que lo eliminaron para corregir la falla, aunque Grand dice que necesitarían examinarlo. más a fondo para estar seguro.
Siber Systems confirmó a WIRED que solucionó el problema con la versión 7.9.14 de RoboForm, lanzada el 10 de junio de 2015, pero un portavoz no respondió preguntas sobre cómo lo hizo. En un registro de cambios en el sitio web de la compañía, solo se menciona que los programadores de Siber realizaron cambios para "aumentar la aleatoriedad de las contraseñas generadas", pero no dice cómo lo hicieron. El portavoz de Siber, Simon Davis, dice que "RoboForm 7 se suspendió en 2017".
Grand dice que, sin saber cómo solucionó Siber el problema, los atacantes aún pueden regenerar contraseñas generadas por versiones de RoboForm lanzadas antes de la solución en 2015. Tampoco está seguro de si las versiones actuales contienen el problema.
"Todavía no estoy seguro de confiar en él sin saber cómo mejoraron realmente la generación de contraseñas en versiones más recientes", dice. "No estoy seguro de si RoboForm sabía cuán grave era esta debilidad en particular".
Es posible que los clientes también sigan usando contraseñas que se generaron con las primeras versiones del programa antes de la solución. No parece que Siber haya notificado a los clientes cuando lanzó la versión corregida 7.9.14 en 2015 que debían generar nuevas contraseñas para cuentas o datos críticos. La empresa no respondió a una pregunta sobre esto.
Si Siber no informara a los clientes, esto significaría que cualquier persona como Michael que usó RoboForm para generar contraseñas antes de 2015 (y todavía las usa) puede tener contraseñas vulnerables que los piratas informáticos pueden regenerar.
"Sabemos que la mayoría de las personas no cambian las contraseñas a menos que se les solicite", dice Grand. "De las 935 contraseñas en mi administrador de contraseñas (no en RoboForm), 220 son de 2015 y anteriores, y la mayoría son [para] sitios que todavía uso".
Dependiendo de lo que hizo la empresa para solucionar el problema en 2015, las contraseñas más nuevas también pueden ser vulnerables.
En noviembre pasado, Grand y Bruno dedujeron un porcentaje de bitcoins de la cuenta de Michael por el trabajo que realizaron y 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ó hasta que subiera a 62.000 dólares por moneda y vendió parte. Ahora tiene 30 BTC, que ahora valen 3 millones de dólares, y está esperando que el valor aumente 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 la moneda y se habría perdido una fortuna mayor.
“Que haya perdido la contraseña fue algo bueno desde el punto de vista financiero”.