Wallet Passphrase vergessen? So knackst du deine BIP39-Passphrase

Dieser Artikel ist inspiriert von einem Kunden, der sich nicht mehr an die exakte Passphrase seines Hardwarewallets erinnert. Glücklicherweise kannte er noch seine Seed und die öffentliche Adresse, an die er seine Coins gesendet hat.

Mit etwas Recherche habe ich das Tool BTCRecover gefunden, das es ermöglicht, Wallets zu bruteforcen. Das Tool probiert alle möglichen Kombinationen von Rechtschreibfehlern in der Passphrase aus und schaut, ob sich die bekannte Adresse so ableiten lässt. Nach meinen ersten Tests funktioniert das Programm erstaunlich schnell.

BTCRecover zeigt nicht nur, wie einfach es ist seine Passphrase wieder zu finden, sondern auch, wie unsicher einfache Passphrases sind. Wählt man nur ein Wort oder einen Namen, ist es für Angreifer ein Kinderspiel, dieses herauszufinden, wenn man nur über die nötigen Informationen verfügt.

Vorraussetzungen:

  • Ein Linux Computer, möglichst Ubuntu (Windows Anleitungen findet ihr hier)
  • Minimale Erfahrung mit dem Terminal
  • Eure Seed (12 oder 24 Wörter)
  • Eine ungefähre Erinnerung an eure Passphrase (an je weniger ihr euch erinnert, desto länger wird es dauern)
  • Eine möglichst alte Adresse eures Wallets

ACHTUNG: Wir können keine Garantie für die Sicherheit der hier gezeigten Software übernehmen. Ihr handelt auf eigene Gefahr. Diese Anleitung erfordert, dass ihr eure Seed am Computer eingebt. Das solltet ihr nur im absoluten Notfall tun. Während des Vorgangs ist es sicherer, wenn ihr euren Computer deshalb offline haltet oder sogar eine komplett neue Ubuntu-Installation benutzt. Sobald ihr eure Passphrase gefunden habt, solltet ihr eure Coins sofort an eines eurer anderen Wallets senden und das Hardware-Wallet neu aufsetzen.

BTCRecover herunterladen

Passphrase

Ladet BTCRecover unter diesem Link herunter und extrahiert das Archiv.

Python 3 installieren

Öffnet das Terminal im Btcrecover-Ordner und installiert Python 3 mit:

sudo apt install python3-tk

Dependencies installieren

Installiert zunächst pip3 mit:

sudo apt install pip3

Installiert dann die benötigten Dependencies mit:

pip3 install -r requirements.txt

Testlauf

Probiert aus, ob die Installation problemlos abgeschlossen wurde:

python3 run-all-tests.py -vv

Wenn der Test abgeschlossen ist, sollte das Ergebnis “OK” sein. Dass ein paar Tests scheitern und übersprungen werden ist normal, weil wir noch keine GPU-Beschleunigung installiert haben.

Passwort-Tokens

An diesem Punkt müssen wir uns einmal überlegen, an welche Teile der Seedphrase wir uns erinnern. Hierfür erstellen wir eine Textdatei mit Namen “tokens.txt” im Verzeichnis von BTCRecover. Für dieses Beispiel benutze ich ein zufällig generiertes Wallet, in dem natürlich keine Coins liegen.

In dieser Datei schreiben wir nun horizontal alle Teile des Wortes, die definitiv unterschiedlich in der Passphrase vorkommen. In unserem Beispiel denke ich, dass ich mich an die Passphrase “dasisteintest” erinnere, weswegen ich “dasisteintest” in die Textdatei schreibe.

Wenn ihr euch an verschiedene Passphrases erinnert, könnt ihr diese vertikal, also durch Zeilenumbrüche getrennt, in die Datei eintragen.

Wenn ihr euch sicher seid, dass die Passphrase mit einem bestimmten Wort beginnt, könnt ihr dieses mit einem ^ einschreiben. Würde ich mich daran erinnern, dass die Passphrase mit “das” beginnt, würde ich also “^das” in die Datei schreiben.

Mehr Informationen zur Token-List findet ihr hier.

Seed bruteforcen

Für diesen Schritt gibt es eine Menge Funktionen. Um alle diese Funktionen anzuzeigen, kannst du

python3 btcrecover.py --help

benutzen.

Für unseren Anwendungsfall starten wir den Bruteforce-Prozess mit:

python3 btcrecover.py --no-dupchecks --passwordlist tokens.txt --addr-limit 1 --typos-capslock --typos-swap --typos-repeat --typos-delete --typos-case --typos 3 --bip32-path "m/84'/0'/0'/0" --wallet-type bip39

*Passt den Derivationpath jeweils für euer Wallet an

BTCRecover warnt euch noch einmal, dass ihr es sich hier um sensitive Daten handelt. Bestätigt das, indem ihr auf OK klickt.

Gebt, falls ihr euren XPub noch wisst, diesen ein. Falls ihr nur eine eurer Adressen habt, klickt zunächst auf Cancel.

Tragt nun eine möglichst alte Adresse von eurem Wallet ein.

Als nächstes müsst ihr eure Seed eingeben. Geht sicher, dass euch hier niemand über die Schulter schaut und dass eure Internetverbindung getrennt ist.

Der Prozess startet. Jenachdem wie viele Informationen ihr dem Programm gegeben habt, kann das ganze recht lange dauern. Bei einfachen Schreibfehlern dürfte es sich jedoch nur um wenige Minuten handeln.

Ist das ganze abgeschlossen, solltet ihr ein Ergebnis bekommen. Entweder wird nichts gefunden und ihr habt dem Programm zu wenige / falsche Daten geliefert, oder die Passphrase wird gefunden und am Ende des Dialogs angezeigt.

Sollte der Prozess lange dauern, weil ihr wenige Informationen habt, könnt ihr GPU-Beschleunigung aktivieren.

In unserem Beispiel zeigt BTCRecover, dass ich statt “dasisteintest” “dsaisteintest” als Passphrase verwendet habe.

Spende uns:

Wenn dir dieser oder einer unserer anderen Beiträge gefallen hat, würden wir uns über eine kleine Spende freuen:

Schreibe einen Kommentar