Estoy tratando de sacar mis monedas de una vieja billetera clásica MultiBit. Encendí Multibit classic e intenté enviar los fondos a una nueva billetera. Desafortunadamente, mi contraseña no funcionaría. Maldición.
¡Pero! Encontré este script en los foros de soporte de multibit. https://multibit.org/help/v0.5/help_lostOrForgottenPassword.html
#!/bin/bash
echo Usage: apply-guesses.sh [password CSV] [key file]
echo Password file: $1
echo Key file: $2
for password in $( awk -F , -v OFS=' ' '{print $3}' $1 ); do
echo ------
echo Attempting: $password...
openssl enc -d -p -aes-256-cbc -a -in $2 -out recovered.key -pass pass:$password
if [ $? -eq 0 ];
then
echo "Success!";
break;
else
echo "Failed";
fi
echo ------
done
¡Ejecuté el script usando un csv de todas mis antiguas contraseñas de bitcoin y tuve éxito!
Devolvió esto: (Cambié todos los números)
Attempting: password123
salt = 9823498243829374
key = 98237890238420938429830394850394
iv = 98743259384793847593844
Success!
Pero cuando probé esa contraseña todavía decía que era incorrecta. :(
¡Pero! también creó un archivo llamado retrieved.key. Abrí el archivo y era un montón de símbolos mal codificados como este: '¦ÀÌÁïûê¿^½”ß/øZÄÑQÛ,i¹´$'
Leí en alguna parte que las claves multibit están codificadas en base 58, así que codifiqué el estilo de base 58 de la clave recuperada y se volvió mucho más legible. Ahora tengo una cadena de letras y números que tiene 611 caracteres y comienza con un '3'. ¿Es esta mi clave privada?
He estado tratando de importarlo a una nueva billetera en MultiBit classic, pero hasta ahora no he tenido suerte. Exporté una clave privada de una nueva billetera vacía y se ve así: (Cambié la clave para esta publicación)
# KEEP YOUR PRIVATE KEYS SAFE !
# Anyone who can read this file can spend your bitcoin.
#
# Format:
# <Base58 encoded private key>[<whitespace>[<key createdAt>]]
#
# The Base58 encoded private keys are the same format as
# produced by the Satoshi client/ sipa dumpprivkey utility.
#
# Key createdAt is in UTC format as specified by ISO 8601
# e.g: 2011-12-31T16:42:00Z . The century, 'T' and 'Z' are mandatory
#
L1paCgWAYm2wzRfznmcoy5pbskdhShRVneAzBeuwaj244s7fr9nE 2017-09-04T21:54:32Z
# End of private keys
Cambié la clave en esa billetera con mi clave recuperada base58, pero era mucho más larga que esto, y cuando traté de importarla me dijo "No se pudo entender la dirección en el archivo de importación"
Entonces... tengo una cadena muy larga que creo que es mi clave privada, pero no creo que esté en el formato correcto. También podría ser un idiota. ¿Puede alguien ayudarme?
Desafortunadamente, openssl
a veces puede responder con un cero incluso cuando el resultado es un descifrado fallido debido al relleno y parece que esto es lo que sucedió aquí.
Sugeriría modificar el script para evitar el break;
éxito posterior. Esto asegurará que todos sean probados. Luego puede revisar la salida y probar las alternativas manualmente hasta que vea una salida que coincida con la # KEEP YOUR PRIVATE KEYS SAFE !
línea que es la verdadera representación de un descifrado exitoso.
Si no puede desbloquear la billetera con la contraseña, hay dos posibilidades:
Los datos no existen a menos que estén en dos lugares, idealmente una copia de seguridad local y una remota. Incluso entonces, los archivos se corrompen solo por problemas de hardware.
Fue por las razones anteriores, y otras, que el equipo de desarrollo de MultiBit instó encarecidamente a las personas durante años a actualizar a MultiBit HD y la frase semilla asociada que mitiga esta situación por completo. Además, al crear claves y escribirlas, MultiBit Classic verifica que los datos se puedan volver a leer con éxito utilizando la contraseña ofrecida.
En general, cuando un archivo está cifrado con AES, hay una sección de encabezado que contiene datos específicos de cifrado (clave, sal, vector de inicialización, etc.) y luego viene el cuerpo principal de datos. Una corrupción en la sección del encabezado es un problema muy serio ya que hace que el descifrado de todo el cuerpo sea casi imposible. Una corrupción en la sección del cuerpo permite que la billetera se descifre con éxito, pero podría contener datos erróneos.
Su primera respuesta debe ser utilizar un software de recuperación de archivos de buena reputación. Es de esperar que esto descubra versiones anteriores de copias de seguridad de archivos de billetera/clave y puede deshacer la corrupción a través de operaciones de reparación.
La forma más rápida de verificar los archivos recuperados es usar OpenSSL de la siguiente manera:
openssl enc -d -p -aes-256-cbc -a -in <ciphertext file> -out <plaintext file> -pass pass:<password>
El archivo de texto sin formato debe contener el texto # KEEP YOUR PRIVATE KEYS SAFE !
si se ha descifrado correctamente (como se muestra en la pregunta).
A continuación, encuentre una billetera/intercambio que acepte claves privadas y guarde los bitcoins recuperados en una billetera de hardware protegida por una frase inicial, como Trezor.
Si todo lo que tiene es un archivo dañado, su última esperanza es tratar de averiguar cómo se ha dañado el archivo. Si está en la sección de encabezado donde se almacenan la clave, el vector de inicialización, la sal, etc., entonces son malas noticias. Va a costar mucho trabajo reconstruirlos.
Si es más tarde, podría obtener un descifrado parcial pero tener claves privadas incompletas. Bitcoin tiene sumas de verificación razonables, por lo que podría usar un script de recuperación de clave para probar varias combinaciones hasta que una proporcione una suma de verificación que funcione. Luego puede buscar la dirección asociada de la clave pública y verificar sus fondos.
En cualquiera de los casos anteriores de corrupción, deberá ser un codificador muy hábil para reconstruir con éxito los archivos. Es posible que desee considerar enviarlo a un servicio especializado.
georgedum