Archive for the ‘プログラム’ Category

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^)/