【monacoin】wallet.datのパスワードを忘れたお話

Posted by Redo622 at 2017年6月30日

Category: PC関連, プログラム

悪用厳禁です。

 

最近話題な仮想通貨ですが、自分はモナコインが登場して2週間ぐらい経ってからソロマイニングでゴリゴリ掘ってました。アキバで安売りしてるツイートを見て高校早退して買いに行ったHD7970で。大体1日50mona~多い日で150monaほど掘れてたかな。

次第にソロマイニングじゃ厳しくなりプールマイニングに移行し、ついでにウォレットにパスワードをつけました。このパスワードなんですが、当時は仮想通貨なんて謎に包まれてるし普段使ってるパスワードじゃないパスワードをつけてやりました。

 

数年後

 

忘れました。

 

さあどうする!モナが上昇中!

パスワードに使ったであろう単語はなんとなく覚えていたので、john the ripperとか有名な辞書攻撃ツールでなんとかできないか調べたけど、そもそも辞書ファイルすら作れない。エクセルでそれっぽいことができないか調べたけど結局できなかった…

それから1ヶ月ぐらい経ち、大学の卒業研究の関係でPythonを触り、モナコインがまた上昇し始め、Pythonで辞書を作れないか調べたらできました。ついでにモナコインにも対応してる辞書攻撃ツールも発見。

無事パスワードを発見し、zaifに出金。

 

同じく困っている人がいるかもしれないので、簡単なやり方を載せておきます。

この方法にはlinux環境が必要ですが、windows10 64bitユーザーならBash on Windowsでいけますよ。Bash on Windowsのインストール方法とかはググってください!

 

1.bruteforce-walletのインストール

・まずはじめにこいつをコンパイルするときに必要なモノをインストール

sudo apt install libdb-dev libssl-dev autoconf

 

・次に辞書攻撃のやーつをダウンロード

git clone https://github.com/glv2/bruteforce-wallet

cd bruteforce-wallet/

 

・コンパイル

./autogen.sh

./configure

make

 

2.辞書作成

適当に作った辞書作成プログラムをそのまま載せておきます。プログラミングガチ初心者なので大目に見てください。

import itertools

seq = ("word1", "word2", "word2", "word3", "word4", "word5", "word6")
num = len(seq)
f = open("pass_raw.txt", "w")

for i in range(2, num + 1):
    print i
    pass2 = list(itertools.permutations(seq, i))
    f.writelines(str(pass2))

f.close()

f2 = open("pass_raw.txt", "r")
line = f2.read()
line = line.replace("')","\n")
line = line.replace("[", "")
line = line.replace("]", "")
line = line.replace("(", "")
line = line.replace(")", "")
line = line.replace(",", "")
line = line.replace("'", "")
line = line.replace(" ", "")

f3 = open("pass.txt", "w")
f3.writelines(str(line))

f2.close()
f3.close()

使い方は3行目のword1とかをパスワードで使ったであろう単語に書き換えてください。個数は増やしても減らしても大丈夫なはずです。

実行
python jisyo.py

pass.txtという辞書ファイルが完成したはずです。

 

3.解析開始

その前にwallet.datをカレントディレクトリに持ってきましょう。

wallet.datがWindowsのデスクトップにある場合は、

cp /mnt/c/User/(ユーザー名)/Desktop/wallet.dat ./

カッコごと実際のユーザー名に置き換えてください。

 

・辞書攻撃開始

./bruteforce-wallet -t 4 -f pass.txt wallet.dat

-t 4はCPUのスレッド数、-fで辞書ファイル指定。

もしパスワードが見つかった場合は表示されます。

 

管理人のmonaウォレット↓

MPEEWkmuqSHTjxh1PuyXp6F4rpAUG5cmnn

 

・追記

autoconfというパッケージがインストールされていないと、./autogen.shを実行時にnot foundと出てしまうようです。そのため記事のapt installの部分にautoconfを追記しました。

換金するタイミングが早かった\(^o^)/

 

 

9件のコメント

  1. rocat says

    突然のコメント失礼致します。
    同じように4年ほど前に掘ったモナコインのウォレットのパスワードがわからず困っていたところこの記事に出会いました。
    記事の通り進めていたのですが、コンパイルまでは進んだのですが、コンパイルの部分で./autogen.shと打ってもnot foundとなってしまい先に進めない状態になっています。
    メールアドレスなどがあればそちらからお聞きしようと思ったのですが、見当たらなかったのでこちらで聞かせていただきました、もしお手数でなければお教えいただければ幸いです。
    お手数だとは思いますがお願い致します。

    返信
    • Redo622 says

      いえいえ、コメントありがとうございます。
      環境によってはautoconfというパッケージもインストールしてあげないと、autogen.shの6行目でエラーが出るみたいです。
      以下のコマンドを実行すれば解決すると思われます!
      sudo apt install autoconf

      また記事も修正しました。助かりました。

      返信
  2. doran says

    コメント失礼します。私も昔やっていたモナコインのパスワードがわからず調べていたらここの記事にたどり着きました。
    記事通りに進めていたのですが、最後の辞書攻撃開始だけがどうしてもうまくいかず困っています。最後の./bruteforce-wallet -t 4 -f pass.txt wallet.datを入力するとError: can’t open dictionary file.となってしまいます。
    よろしければ是非解決方法をお教え頂きたいです。お手数だとは思いますがお返事お待ちしております。
    環境はwin10x64のWindows Subsystemというものを利用しています。

    返信
    • Redo622 says

      恐らく辞書ファイルであるpass.txtがbruteforce-walletというディレクトリの中に存在しないためだと思います。
      cpコマンドで辞書ファイルをコピーしてみてください!

      返信
      • doran says

        お返事ありがとうございます!無事できそうです!

        返信
  3. lostmonakoin says

    コメント失礼します。
    私もmonacoinのうぉれとが出てきたのですがフレーズを忘れて送金できない状態です。
    touchでjisyo.pyを作るまではよかったのですがcp /mnt/c/User/(ユーザー名)/Desktop/wallet.dat ./
    をやると No such file or directory でwindows上のファイルが見つかりません。
    ファイル名をすべてコピペして打ち間違いがないようにしたりUser直下にwallet.datを置いたりしてコピー元のディレクトリを cp /mnt/c/User/(ユーザー名)/ ./にしたりしてみてもだめでした。
    WSLからウィドウズ上のファイルを参照するのに何か事前の準備が必要なのでしょうか?

    お時間があればよろしくお願いします。

    返信
    • Redo622 says

      (ユーザー名)の部分を実際のユーザー名に置き換える必要があります。
      カッコをを置き換えるか、Cドライブのルート直下にwallet.datを移動してからコピーしてみてください!
      Cドライブのルート直下の場合は「cp /mnt/c/wallet.dat ./」となります。

      返信
  4. otob says

    コメント失礼します。
    ウォレットのパスワードを無くし失念していたところこの記事に
    出会い実行していましたが、最後、実行に移ろうとすると

    -bash: ./bruteforce-wallet: No such file or directory

    と表示されてしまいます。
    上記コマンドを抜いてみたりもしてみましたが今度は
    -f  や -t がそんなコマンドはないと弾かれてしまいます。
    思いつくミスはありますでしょうか。
    よろしくお願いします。

    返信
    • Redo622 says

      恐らく辞書ファイルである「pass.txt」か、モナコインのウォレットである「wallet.dat」が、bruteforce-walletというディレクトリの中にないのが原因だと思います。
      もし解決できなかった場合は、bruteforce-walletディレクトリの中でlsコマンドを実行した結果と、パスワード解析時のコマンドをコメントに貼り付けてくれたら原因が分かるかもしれません。

      返信

Leave a comment