sábado, octubre 17, 2026

Cómo recuperar claves de Wallets Exodus de Criptomonedas: "Not Your Keys, Not Your Coins"... ¿o tal vez sí?

Tuve mi primer ordenador a los 16 años. No tenía disco duro. Solo una enorme disquetera de 5¼ pulgadas y MS-DOS. No aprendí a programar entonces, pero hice algo que acabaría marcando mi forma de entender la informática: me leí la ayuda de prácticamente todos los comandos. Quería saber qué hacía cada instrucción, de dónde venían los datos, adónde iban y qué relación existía entre lo que escribía en la consola y lo que terminaba almacenado en aquel disco. 

Figura 1: Cómo recuperar claves de Wallets Exodus de Criptomonedas.
 "Not Your Keys, Not Your Coins"... ¿o tal vez sí?

Así aprendí a “robar” los programas de diseño gráfico para poder instalarlos en mi primer ordenador que me compré con 18 años, copiando los archivos disquete a disquete, copiando las instrucciones de archivos .ini de Windows, creando directorios… Aprendí a lo bruto!

Parte I: La movida.

Décadas después, el mundo cripto me ha devuelto exactamente esa sensación. Existe una idea muy asociada a Warren Buffett: no pongas dinero en algo que no comprendes. Yo descubrí hasta qué punto eso era cierto cuando sufrí mi primer problema serio con una wallet.

Utilizaba Exodus con pocos fondos para experimentar. En una ocasión quise instalarla como extensión en un navegador. No encontré una extensión oficial en la web de Exodus, pero sí una que aparentaba serlo en el marketplace del navegador. Introduje mis 12 palabras: No funcionó. Lo intenté varias veces y me marché a trabajar. Horas después descubrí que los fondos habían desaparecido. Ahí aprendí mi primera gran lección sobre autocustodia.

Yo había configurado una contraseña en Exodus y, de alguna manera, había dado por supuesto que aquella contraseña protegía la wallet en cualquier lugar, como sucede con cualquier cuenta en la nube. No comprendía todavía que aquella contraseña protegía fundamentalmente esa instalación local, mientras que quien dispusiera de mis 12 palabras podía reconstruir el acceso a los activos desde otra aplicación compatible. La lección fue cara, aunque la cantidad fuera pequeña: las verdaderas llaves eran aquellas palabras.

Pasó el tiempo. Seguí leyendo sobre Bitcoin, blockchain, DeFi y wallets, hasta que otro problema volvió a empujarme hacia dentro de la tecnología. Durante unas pruebas con una tarjeta de débito vinculada a criptomonedas tuve que realizar una conexión que acabó provocando avisos de seguridad en mi wallet de pruebas de Exodus. La aplicación terminó restringiendo determinadas operaciones y el soporte técnico no conseguía ofrecerme una solución clara para mover algunos activos.

Ante la impotencia hice algo muy sencillo: restauré las mismas 12 palabras en otra wallet compatible, a ver si funcionaba. Los fondos estaban ahí. Podía operarlos. Y entonces comprendí de verdad algo que hasta ese momento solo conocía superficialmente: la wallet no es el patrimonio. La wallet es una herramienta para acceder, mediante unas claves, a activos registrados en blockchain.

Las mismas 12 palabras podían reconstruir las claves desde aplicaciones diferentes. Aquello despertó una pregunta mucho más interesante: ¿qué relación existe entre doce palabras que un ser humano puede escribir en un papel y las enormes cadenas de números que terminan controlando direcciones criptográficas? Ahí conecté el problema con otra investigación personal que llevaba desarrollando desde hacía muchos años: la sucesión de los números primos.

BIP-39 utiliza una lista de 2.048 palabras. Empecé a estudiar sus posiciones y a representarlas mediante coordenadas asociadas a números primos. Esa representación no rompe BIP-39 ni reduce mágicamente su seguridad; me proporcionó, sobre todo, una forma matemática de estudiar las palabras, sus posiciones y las combinaciones válidas.

Figura 3: “A los monos háblales de plátanos” o sustituir números por
palabras como la manera más fácil de ayudar a recordar una clave,
 además de añadir conceptualmente un punto más de “dificultad”
 a la hora de “desencriptarla”.

Con ayuda de un asistente de programación construí herramientas capaces de generar frases BIP-39 válidas y empecé a comprender algo que antes me parecía casi mágico: las palabras son una representación amigable para humanos de información binaria generada bajo reglas matemáticas muy concretas (a los monos háblales de plátanos). 

Figura 4: 2048 palabras producen un número exageradamente grande de posibles
combinaciones, pero es un número finito, concreto. La posibilidad de
que tu frase semilla NO coincida con la frase semilla que obtenga
otro usuario depende únicamente de capacidad de cómputo.

Detrás de aquel simple papel con doce palabras había todo un universo. Y entonces decidí intentar el camino contrario. No preguntarme solamente cómo se genera una frase válida, sino:

¿Qué información deja una aplicación de wallet en un ordenador y hasta dónde puede llevarnos esa información?

Parte II. La investigación técnica

Empecé por Exodus Desktop en Windows. Analicé sus carpetas locales, sus copias de seguridad y posteriormente parte del código de la propia aplicación. Dos archivos aparecieron una y otra vez en la investigación:
  • passphrase.json
  • seed.seco
Construí una herramienta experimental para estudiar esos archivos en mis propias wallets de pruebas. El resultado fue sorprendente. En determinados estados locales de Exodus sin contraseña configurada, el material almacenado permite descifrar una estructura interna que contiene información suficiente para reconstruir la frase BIP-39.

Figura 5 El guardado local de archivos que contengan información de
cualquier tipo de login es el eslabón más débil de la cadena.
A partir de descifrar el mecanismo de generación de la clave,
puede recorrerse el camino a la inversa:

La aplicación que desarrollé no se limita a mostrar doce palabras. Reconstruye la información BIP-39, comprueba que reproduce correctamente el seed y deriva una dirección Ethereum estándar (funcionaría también con otras direcciones de criptomoneda). 

Figura 6: No es magia, es cálculo.

Después utiliza una dirección pública conocida únicamente como verificador del resultado. En mis pruebas apareció:

BIP39 = OK

MATCH

Eso es importante porque también establece lo que no he descubierto. No se pueden obtener las 12 palabras simplemente mirando una dirección pública. No he roto BIP-39. No he reducido mediante números primos el enorme espacio criptográfico de búsqueda hasta hacerlo atacable. El elemento decisivo de esta recuperación es el material criptográfico que Exodus conserva localmente en determinados estados de la aplicación. Quedaba entonces una pregunta fundamental: 

¿Qué sucede cuando el usuario establece una contraseña? 

Realizamos un experimento controlado con una wallet nueva y sin fondos. En el primer estado, sin contraseña, estaban presentes passphrase.json y seed.seco. La recuperación funcionaba. Después establecimos una contraseña: passphrase.json desapareció y seed.seco cambió. Ejecutamos de nuevo la herramienta sobre una copia exacta de aquel estado. Esta vez no pudo recuperar la frase.

Posteriormente restauramos esa misma wallet mediante sus 12 palabras, sin establecer nuevamente contraseña. Exodus generó un nuevo passphrase.json y un nuevo seed.seco. La herramienta volvió a funcionar: 

BIP39 = OK. MATCH. 

Por tanto, el experimento produjo un ciclo muy claro:
  • Wallet sin contraseña → recuperación posible con el método estudiado.
  • Wallet protegida por contraseña → el método deja de funcionar.
  • Wallet restaurada de nuevo sin contraseña → recuperación posible otra vez.

Y esto establece un límite esencial de mi investigación: hasta ahora no he demostrado ningún método para saltarse una contraseña de Exodus configurada correctamente. De hecho, nuestras pruebas muestran precisamente que establecerla bloquea el procedimiento que hemos reproducido. Pero aparece una segunda cuestión: si antes de establecer esa contraseña ya se generaron o conservaron copias locales correspondientes al estado anterior, proteger la wallet posteriormente no significa necesariamente que aquellas copias históricas hayan desaparecido. Y ahí podría encontrarse la verdadera superficie de riesgo. 
Una posible mejora de diseño sería garantizar que el material sensible quede protegido antes de que se cree o conserve el primer estado local recuperable, ya sea mediante contraseña u otro sistema de protección adecuado.

Esta investigación nació intentando recuperar una wallet y ha terminado recordándome una idea básica: “Not your keys, not your coins” no significa únicamente poseer las claves. Significa asumir la responsabilidad de protegerlas. Durante décadas hemos delegado la custodia de nuestro patrimonio en terceros. La autocustodia nos permite recuperar una parte de esa soberanía, pero también devuelve al propietario una enorme responsabilidad. 

Y resulta fascinante que algo tan importante pueda quedar representado por 12 ó 24 palabras escritas en un pequeño papel (recuerda, a los monos háblales de plátanos). Detrás de esas palabras existe criptografía, entropía, funciones hash, derivación de claves y una enorme estructura matemática. No necesitamos comprenderla completamente para utilizarla. Pero sí necesitamos comprender el valor de aquello que estamos custodiando.

Esta investigación se encuentra todavía en una fase inicial. El primer resultado reproducible lo he obtenido estudiando Exodus Desktop en Windows, y las conclusiones deben limitarse por ahora a ese entorno y a las versiones analizadas. El siguiente paso será ampliar la metodología, de forma controlada y responsable, a otras wallets del mercado para estudiar cómo almacenan y protegen localmente el material necesario para recuperar una frase semilla.

Parte III: Criptografía y Criptomonedas

Puede que Exodus sea un caso particular. Puede que encontremos comportamientos similares en otras aplicaciones. O puede que encontremos arquitecturas completamente diferentes. Eso es precisamente lo que toca investigar ahora.

Hay que recordar también que este año, el equipo de Google Quantum AI, junto a la Fundación Ethereum, publicó en marzo otro paper clave titulado "Securing Elliptic Curve Cryptocurrencies against Quantum Vulnerabilities". En este caso, lograron reducir a menos de 500.000 qubits físicos el requisito para romper la criptografía de curva elíptica (ECDLP-256) que protege a Bitcoin y Ethereum, permitiendo un ataque en cuestión de minutos.

Éste es un tema delicado, ya que obliga a cambiar las bases del código de Bitcoin y esto requeriría un "Hard Fork" que afectaría a toda la red, desde desarrolladores hasta mineros, ya hay propuestas concretas sobre la mesa. Recientemente, investigadores de Blockstream han planteado una solución: migrar hacia firmas basadas en hash, con algoritmos de Post-Quanum Cryptography específicamente un esquema basado en SLH-DSA (Formerly SPHINCS+)

Parte IV: Conclusiones finales sobre la investigación

A esta investigación se suma una posibilidad especialmente esperanzadora: 

Que determinados usuarios que hayan perdido sus 12 ó 24 palabras semilla puedan llegar a recuperarlas a partir de datos locales que todavía conserven y, con ellas, recuperar el acceso a activos que consideraban perdidos.

Pero esa oportunidad abre al mismo tiempo un importante desafío jurídico y fiscal. Una herramienta capaz de recuperar credenciales de autocustodia no debería utilizarse simplemente porque alguien afirme ser propietario de una wallet: habría que establecer procedimientos sólidos para acreditar la titularidad o el control legítimo de los activos, obtener una autorización expresa para intervenir sobre los dispositivos y archivos y documentar la cadena de custodia y todo el proceso de recuperación ante notario.

A ello se añade la cuestión fiscal y regulatoria, que dependerá de la jurisdicción de residencia del usuario y de las circunstancias concretas: procedencia de los activos, documentación histórica, obligaciones de declaración, eventual tributación y justificación de movimientos posteriores. 

Por eso, convertir esta investigación en un servicio real de recuperación exigiría desarrollar, junto al procedimiento técnico, un protocolo jurídico, de cumplimiento y trazabilidad que permita distinguir una recuperación legítima de un intento de acceso a patrimonio ajeno. Poder devolver a una persona el acceso a un patrimonio que creía perdido sería una magnífica noticia; hacerlo con suficientes garantías para todas las partes constituye, al mismo tiempo, uno de los grandes desafíos que abre esta investigación.

Mientras, aquella sensación que tenía a los 16 años ha vuelto: abrir una consola, no entender todavía todo lo que está ocurriendo y seguir investigando hasta descubrir de dónde vienen los datos, adónde van y qué sucede realmente entre medias.

No hay comentarios:

Publicar un comentario