Guia . Bitcoin
Como recuperar a palavra-passe perdida de uma carteira de Bitcoin
Um guia prático e passo a passo para os principais tipos de carteiras de Bitcoin — como extrair o hash da palavra-passe, executar o hashcat e onde se encontram as armadilhas mais conhecidas.
This is the technical companion to our Bitcoin wallet recovery page. If you’re comfortable on a command line, you can often make real progress yourself; if not, it’ll at least tell you exactly what you have. We’ll cover the common wallet types and the tools that open them yourself.
Conheça o tipo da sua carteira
O método correto depende inteiramente da carteira que utilizou:
- Bitcoin Core — o ficheiro «wallet.dat» encriptado.
- Blockchain.info / Blockchain.com — a carteira online, com uma primeira palavra-passe e uma segunda opcional.
- MultiBit Classic — ficheiros .key e .wallet.
- Electrum — uma carteira baseada numa semente, com uma palavra-passe opcional.
- Carteiras em papel — uma chave privada não encriptada ou encriptada segundo o BIP38.
Identifique primeiro o seu, porque o passo de extração abaixo difere consoante o caso.
Extrair o hash da palavra-passe
Não se ataca diretamente a carteira — extrai-se um hash que as ferramentas possam utilizar para o teste. O projeto John the Ripper fornece scripts auxiliares para este fim: o bitcoin2john.py para o ficheiro wallet.dat do Bitcoin Core e o blockchain2john.py para as carteiras do Blockchain.info. Execute o script adequado no seu ficheiro e este irá gerar uma cadeia de caracteres de hash com a qual o hashcat pode trabalhar. Mantenha o ficheiro da sua carteira em modo de leitura e trabalhe sempre com uma cópia.
Running hashcat yourself
Introduza o hash extraído no hashcat com o modo correto para a sua carteira: o Bitcoin Core utiliza o modo 11300; o Blockchain.info v2–v4 utiliza o modo 15200; o Blockchain.info v1 (versões iniciais) utiliza o modo 12700; MultiBit Classic é o 22500; e uma carteira Electrum utiliza um dos modos 16600/21700/21800, dependendo da versão. Em vez de um ataque de força bruta cego, crie uma máscara ou uma lista de palavras com base no que se lembra — comprimento, fragmentos, padrões — e deixe o hashcat pesquisar esse espaço. São as boas pistas que fazem com que o processo seja concluído.
A armadilha do Hashcat na Blockchain v1
Eis uma armadilha que faz perder muito tempo a muita gente: as primeiras carteiras do Blockchain.info (v1) utilizavam contagens variáveis de iterações de encriptação, e o modo padrão do hashcat pode, sem dar qualquer aviso, não conseguir encontrar a palavra-passe correta em algumas delas — o programa executa-se, termina e não apresenta qualquer resultado, mesmo quando a palavra-passe está na lista. Se tiver a certeza da sua palavra-passe numa carteira Blockchain antiga e o modo 12700 não encontrar nada, é provável que seja por esta razão. Estes casos exigem uma abordagem personalizada que tenha em conta as variações nas iterações, e é aí que o «faça você mesmo» normalmente se torna insuficiente.
Segundas palavras-passe e mnemónicas
Mais duas complicações. Se a sua carteira Blockchain.info tivesse uma segunda palavra-passe (para efetuar transações), isso implica um script e uma pesquisa distintos do principal. E se a sua cópia de segurança for uma frase antiga de 15 a 21 palavras do Blockchain.info, não será possível importá-la para software moderno — trata-se de um formato antigo, não compatível com o BIP39, que requer a lógica de derivação original em vez do hashcat. Saber com qual destas situações se depara permite-lhe determinar se se trata de um problema de pesquisa de palavra-passe ou de reconstrução da frase.
Configurar as ferramentas
A abordagem «faça você mesmo» tem um custo de configuração que vale a pena conhecer antes de começar. Os scripts de extração *2john.py requerem que o Python esteja instalado. O Hashcat funciona melhor numa GPU — ele utiliza a CPU, mas uma placa gráfica decente é muitas vezes mais rápida, o que é importante quando cada tentativa é deliberadamente lenta. Também vai querer uma lista de candidatos ou máscara que reflita a memória real, em vez de uma varredura cega de caracteres, porque mesmo com bom hardware, uma pesquisa não estruturada de qualquer coisa que não seja uma palavra-passe curta não terminará num tempo razoável. Se instalar bibliotecas e escrever máscaras para o Hashcat não for o seu forte, isso por si só já é um motivo válido para passar o caso para outra pessoa.
Faz isso com segurança
Duas regras enquanto trabalha: nunca faça isto na sua única cópia do ficheiro da carteira — faça uma cópia e mantenha o original intacto — e nunca carregue o seu ficheiro wallet.dat, chave ou semente num site de «recuperação» online nem o cole num site. A recuperação legítima, quer seja feita por si ou por nós, ocorre offline, utilizando uma cópia do seu ficheiro. Qualquer coisa que lhe peça para introduzir a sua semente na Internet é uma armadilha.
Uma nota sobre o Electrum e as carteiras de papel
Dois casos especiais rápidos. O Electrum armazena uma semente e, opcionalmente, uma palavra-passe associada a ela; se tiver a semente, pode restaurar diretamente e, se apenas a palavra-passe se perder, o ficheiro da carteira pode ser pesquisado de forma muito semelhante às outras (com o modo do hashcat adequado à versão). As carteiras em papel contêm uma chave privada diretamente — se for uma chave simples, pode importá-la para qualquer carteira e, se estiver encriptada segundo o BIP38 com uma frase-passe, essa frase-passe é a palavra-passe necessária para a recuperar. Saber qual destas opções possui evita muitos erros.
Quando procurar ajuda
Se já extraiu o hash, escolheu o modo correto, criou um espaço de candidatos razoável e mesmo assim não obteve resultados — especialmente no caso de uma carteira de blockchain v1, uma palavra-passe com caracteres especiais ou uma frase de recuperação antiga —, é nessa altura que deve recorrer aos nossos serviços. Realizamos pesquisas estruturadas de grande escala em hardware dedicado, lidamos com o bug da iteração v1 e com casos de codificação, e confirmamos os resultados em relação ao seu endereço, tudo offline e com garantia de sucesso. Todos os detalhes encontram-se na página de recuperação de Bitcoin.
Perguntas frequentes
Como é que se extrai um hash do ficheiro wallet.dat?
Utilize o ficheiro bitcoin2john.py do projeto John the Ripper no seu ficheiro wallet.dat; este gera uma cadeia de hash que deve introduzir no hashcat (modo 11300 para o Bitcoin Core). Trabalhe numa cópia do ficheiro.
Que modo do Hashcat devo utilizar?
Bitcoin Core 11300; Blockchain.info v2–v4 15200; Blockchain.info v1 12700; MultiBit Classic ; Electrum 16600/21700/21800, consoante a versão. Escolha o modo adequado ao seu tipo de carteira.
A minha antiga palavra-passe da carteira Blockchain está correta, mas o hashcat não encontra nada — porquê?
As primeiras carteiras do Blockchain.info (v1) utilizavam contagens de iterações variáveis, e o hashcat padrão pode, sem aviso, não conseguir descobrir a palavra-passe. Estas carteiras requerem uma abordagem personalizada que tenha em conta essas variações.
É possível recuperar uma carteira apenas com o endereço público?
Não. É necessário o ficheiro da carteira, uma chave encriptada ou uma semente — o endereço público, por si só, não permite desencriptar nada.
Quanto custa a ajuda?
Baseado no sucesso: uma percentagem do valor recuperado apenas se conseguirmos aceder à carteira, sem qualquer pagamento inicial.
Chegaste a um impasse sozinho?
Envie-nos o ficheiro da carteira e o que se lembra da palavra-passe. Dir-lhe-emos com toda a sinceridade se é possível recuperá-la no prazo de 24 horas; a nossa remuneração depende do sucesso do serviço.
