I'm trying to recover a 10-digit PIN for an old bitcoin-based altcoin (dogecoin) wallet. From what I found reading btcrecover code this is different from a regular encrypted wallet in that regular bitcoin-based wallets use a SHA512-derived key for AES-256 CBC while this "PIN-lock" uses a Scrypt-derived key instead for the same AES-256 CBC.
Hashcat --help mentions mode 15700 for Ethereum Wallets using SCRYPT while code for AES-256 CBC is in base implementation of mode 11300 for recovering encrypted Bitcoin wallet passwords.
My questions are:
I don't remember enough about the PIN to consider anything else than bruteforcing it.
I did run a test creating an empty, new wallet, setting a PIN for it and managed to recover that PIN using btcrecover.
The wallet in question and the test wallet were generated with: https://github.com/langerhans/dogecoin-wallet-new
which is a fork of: https://github.com/bitcoin-wallet/bitcoin-wallet
bitcoin2john I tried using before I figured out the difference in how the keys are derived during regular wallet encryption and a PIN-lock: https://github.com/openwall/john/blob/bl...in2john.py
Hashcat --help mentions mode 15700 for Ethereum Wallets using SCRYPT while code for AES-256 CBC is in base implementation of mode 11300 for recovering encrypted Bitcoin wallet passwords.
My questions are:
- Am I right to consider hashcat for this purpose?
- What does it usually take to get a new mode introduced into hashcat in terms of votes, wait time in the requested modes queue, beers bought?
- Where do I start in the process of learning to add such PIN recovery mode to hashcat myself, knowing that both Scrypt and AES-256 CBC are already in the repo and could possibly be reused?
I don't remember enough about the PIN to consider anything else than bruteforcing it.
I did run a test creating an empty, new wallet, setting a PIN for it and managed to recover that PIN using btcrecover.
The wallet in question and the test wallet were generated with: https://github.com/langerhans/dogecoin-wallet-new
which is a fork of: https://github.com/bitcoin-wallet/bitcoin-wallet
bitcoin2john I tried using before I figured out the difference in how the keys are derived during regular wallet encryption and a PIN-lock: https://github.com/openwall/john/blob/bl...in2john.py