密码破解工具
FB招聘站
分类阅读
专栏
公开课
FIT 2019
企业服务
用户服务
搜索
投稿
登录
注册
BitCracker:BitLocker密码破解工具 secist2018-10-10共133384人围观 ,发现 7 个不明物体 工具
BitCracker是第一个开源的用于破解使用BitLocker加密存储设备(如硬盘,USB Pendrive,SD卡等)的工具。BitLocker是Windows Vista,7,8.1和10(Ultimate,Pro和Enterprise)上提供的加密功能。BitLocker提供了许多不同的身份验证方法来加密存储设备,如可信赖平台模块(TPM),智能卡,恢复密码,用户提供的密码。通过字典攻击,BitCracker会尝试找出正确的用户密码或恢复密码,来解密加密的存储设备。目前,已在CUDA和OpenCL中实现。
注:在COMMID 7b2a6b6(CUDA版本)和 5f09d7f(OpenCL版本)中存在固定的严重错误:bad loop termination(循环终止错误)!可尝试重新运行解决。
运行环境
运行BitCracker-CUDA的最低要求如下:
CC 3.5或更高版本的 NVIDIA GPU
CUDA 7.5或更新版本
运行BitCracker-OpenCL的最低要求是,GPU或CPU支持OpenCL(查看帮助)。
BitCracker至少需要260 MB的设备内存。
出于性能原因,我们强烈建议你在GPU上运行(具体请参阅性能部分)。
构建
运行build.sh脚本后,会在build目录中生成4个可执行文件:bitcracker_hash,bitcracker_rpgen,bitcracker_cuda,bitcracker_opencl。
为了构建与你的NVIDIA GPU和CUDA版本一致地bitcracker_cuda文件,你需要修改src_CUDA/Makefile,并选择正确的SM版本。对应可参考下表:
GPU 架构 建议的 CUDA Makefile
Kepler CUDA 7.5 arch=compute_35,code=sm_35
Maxwell CUDA 8.0 arch=compute_52,code=sm_52
Pascal CUDA 9.0 arch=compute_60,code=sm_60
Volta CUDA 9.0 arch=compute_70,code=sm_70
攻击准备
创建一个使用BitLocker加密的存储设备映像,使用dd命令示例:
sudo dd if=/dev/disk2 of=/path/to/imageEncrypted.img conv=noerror,sync
4030464+0 records in
4030464+0 records out
2063597568 bytes transferred in 292.749849 secs (7049013 bytes/sec)
然后,在imageEncrypted.img上运行bitcracker_hash可执行文件,以:
检查映像是否具有有效格式并且可以被BitCracker攻击
检查原始存储设备哈希是否已使用用户密码或恢复密码加密
提取映像的哈希描述
如果一切正常,bitcracker_hash将会生成1到2个输出文件:
hash_user_pass.txt:如果设备使用用户密码加密,则此文件包含启动用户密码攻击模式所需的哈希
hash_recv_pass.txt:启动Recovery Password攻击模式所需的哈希值
注:BDE加密卷可以针对不同的身份验证方法使用不同的格式。如果bitcracker_hash无法在你的加密映像上找到恢复密码,请与我联系。
示例:
/build/bitcracker_hash -o test_hash -i ./Images/imgWin7
---------> BitCracker Hash Extractor <---------
Opening file ./Images/imgWin7
....
Signature found at 0x02208000
Version: 2 (Windows 7 or later)
VMK entry found at 0x022080bc
VMK encrypted with user password found!
VMK encrypted with AES-CCM
VMK entry found at 0x0220819c
VMK encrypted with Recovery key found!
VMK encrypted with AES-CCM
User Password hash:
$bitlocker$0$16$89a5bad722db4a729d3c7b9ee8e76a29$1048576$12$304a4ac192a2cf0103000000$60$24de9a6128e8f8ffb97ac72d21de40f63dbc44acf101e68ac0f7e52ecb1be4a8ee30ca1e69fbe98400707ba3977d5f09b14e388c885f312edc5c85c2
Recovery Key hash:
$bitlocker$2$16$8b7be4f7802275ffbdad3766c7f7fa4a$1048576$12$304a4ac192a2cf0106000000$60$6e72f6ef6ba688e72211b8cf8cc722affd308882965dc195f85614846f5eb7d9037d4d63bcc1d6e904f0030cf2e3a95b3e1067447b089b7467f86688
Output file for user password attack: "hash_user_pass.txt"
Output file for recovery password attack: "hash_recv_pass.txt"
用户密码攻击
如果存储设备已使用用户提供的密码加密,则可以该类型的攻击,如下图所示。
687474703a2f2f6f70656e77616c6c2e696e666f2f77696b692f5f6d656469612f6a6f686e2f626974637261636b65725f696d67312e706e67.png
BitCracker执行字典攻击,需要你提供可能的用户密码列表。
执行攻击需要:
hash_user_pass.txt文件
可能的用户密码列表(需要你自己提供)
命令行示例:
./build/bitcracker_cuda -f hash_user_pass.txt -d wordlist.txt -t 1 -b 1 -g 0 -u
-f:hash_user_pass.txt文件存放路径
-d:爆破字典存放路径
-t:每个CUDA线程处理的密码数
-b:CUDA blocks的数量
-g:NVIDIA GPU设备ID
-u:指定你想要的用户密码攻击
注:查看所有可选项,可以通过./build/bitcracker_cuda -h命令。为了获得最佳性能,请参阅“性能”部分中的表格,并根据你的NVIDIA GPU正确设置t和b选项。
bitcracker_opencl可执行文件同上。
输出示例:
====================================
Selected device: GPU Tesla K80 (ID: 0)
====================================
....
Reading hash file "hash_user_pass.txt"
$bitlocker$0$16$0a8b9d0655d3900e9f67280adc27b5d7$1048576$12$b0599ad6c6a1cf0103000000$60$c16658f54140b3d90be6de9e03b1fe90033a2c7df7127bcd16cb013cf778c12072142c484c9c291a496fc0ebd8c21c33b595a9c1587acfc6d8bb9663
====================================
Attack
====================================
Type of attack: User Password
CUDA Threads: 1024
CUDA Blocks: 1
Psw per thread: 1
Max Psw per kernel: 1024
Dictionary: wordlist.txt
Strict Check (-s): No
MAC Comparison (-m): No
CUDA Kernel execution:
Stream 0
Effective number psw: 12
Passwords Range:
abcdefshhf
.....
blablalbalbalbla12
Time: 28.651947 sec
Passwords x second: 0.42 pw/sec
================================================
....
Password found: paperino
================================================
目前BitCracker能够处理长度在8到55个字符之间的输入密码。
恢复密码攻击
在加密存储设备期间,(无论身份验证方法如何)BitLocker会要求用户在某处存储恢复密码,该密码可用于在无法解锁驱动器的情况下恢复对加密存储设备的访问。恢复密码为48位的密钥,如下所示:
236808-089419-192665-495704-618299-073414-538373-542366
有关更多详细信息,请参阅Microsoft文档。
至于用户密码,BitCracker能够执行字典攻击找到BitLocker生成的正确恢复密码来加密存储设备。注意,目前只有在存储设备未使用TPM加密时,才能执行恢复密码攻击。
执行攻击需要:
hash_recv_pass.txt文件
可能的恢复密码列表
生成并存储所有可能的密码并不容易。出于这个原因,我们创建了一个名为bitcracker_rpgen的恢复密码生成器。使用它,你可以创建一组可用于执行恢复密码攻击的字典列表。
示例:
./build/bitcracker_rpgen -n 300 -p 10000000 -s 000000-000011-000022-000033-000044-000055-008459-015180
-n:密码字典数量
-p:每个密码字典的恢复密码数量
-s:生成恢复密码的启始范围
你也可以使用不带选项的默认配置:
./build/bitcracker_rpgen
************* BitCracker Recovery Password wordlists generator *************
Running with this configuration:
### Create 100 wordlists
### Recovery Passwords per wordlist=5000000
### Allow duplicates=No
### Generate starting from=000000-000011-000022-000033-000044-000055-000066-000077
Creating wordlist "bitcracker_wlrp_0.txt" with 5000000 passwords
First password=000000-000011-000022-000033-000044-000055-000066-000077
Last password= 000000-000011-000022-000033-000044-000055-000902-217822
注:-s选项可让你接着上次生成的恢复密码继续生成密码,而不用再重复生成。-d选项允许你在同一个恢复密码中包含重复项。例如:000000-000011-000055-000055-000044-000055-000902-217822
命令行示例:
./build/bitcracker_cuda -f hash_recv_pass.txt -d bitcracker_wlrp_0.txt -t 1 -b 1 -g 0 -r
输出示例:
====================================
Selected device: GPU Tesla K80 (ID: 0)
====================================
...
Reading hash file "hash_recv_pass.txt"
$bitlocker$2$16$432dd19f37dd413a88552225628c8ae5$1048576$12$a0da3fc75f6cd30106000000$60$3e57c68216ef3d2b8139fdb0ec74254bdf453e688401e89b41cae7c250739a8b36edd4fe86a597b5823cf3e0f41c98f623b528960a4bee00c42131ef
====================================
Attack
====================================
Type of attack: Recovery Password
CUDA Threads: 1024
CUDA Blocks: 1
Psw per thread: 8
Max Psw per kernel: 8192
Dictionary: wordlist.txt
Strict Check (-s): No
MAC Comparison (-m): No
CUDA Kernel execution:
Effective passwords: 6014
Passwords Range:
390775-218680-136708-700645-433191-416240-153241-612216
.....
090134-625383-540826-613283-563497-710369-160182-661364
Time: 193.358937 sec
Passwords x second: 31.10 pw/sec
================================================
CUDA attack completed
Passwords evaluated: 6014
Password found: 111683-110022-683298-209352-468105-648483-571252-334455
================================================
误报
默认情况下,BitCracker会对用户和恢复密码模式进行快速攻击,这可能会导致一些误报。想要降低误报率,你可以使用-m选项重新运行攻击。该选项将启用MAC验证(缺点是速度将会变慢许多)。
示例
以下是我们为大家提供的几个加密存储设备的映像:
imgWin7: BitLocker on Windows 7 Enteprise edition OS
imgWin8: BitLocker on Windows 8 Enteprise edition OS
imgWin10Compat.vhd: BitLocker (compatible mode) on Windows 10 Pro edition OS
imgWin10NotCompat.vhd: BitLocker (not compatible mode) on Windows 10 Pro edition OS
imgWin10NotCompatLongPsw.vhd : BitLocker (not compatible mode) on Windows 10 Pro edition OS with a longer user password
你可以使用存储在“Dictionary”文件夹中的密码字典,使用用户和恢复密码模式来攻击这些映像。
性能
以下我们报告了在用户密码(-u选项)快速攻击(默认)的情况下BitCracker的最佳性能。
GPU Acronim GPU Arch CC # SM Clock CUDA
GFT GeForce Titan Kepler 3.5 14 835 7.0
GTK80 Tesla K80 Kepler 3.5 13 875 7.5
GFTX GeForce Titan X Maxwell 5.2 24 1001 7.5
GTP100 Tesla P100 Pascal 6.1 56 1328 8.0
GTV100 Tesla V100 Volta 7.0 80 1290 9.0
AMDM Radeon Malta - - - - -
性能:
Version GPU -t -b Passwords x kernel Passwords/sec Hash/sec
CUDA GFT 8 13 106.496 303 635 MH/s
CUDA GTK80 8 14 114.688 370 775 MH/s
CUDA GFTX 8 24 106.608 933 1.957 MH/s
CUDA GTP100 1 56 57.344 1.418 2.973 MH/s
CUDA GTV100 1 80 81.920 3.252 6.820 MH/s
OpenCL AMDM 32 64 524.288 241 505 MH/s
OpenCL GFTX 8 24 196.608 884 1.853 MH/s
John The Ripper
我们在John The Ripper中发布了BitCracker作为OpenCL-BitLocker格式(–format=bitlocker-opencl)。bitcracker_hash生成的哈希文件与John格式完全兼容。
在GTV100上,密码率约为3150p/s。JtR团队开发了这种攻击的CPU版本(–format=bitlocker); 在CPU Intel(R) Xeon(R) v4 2.20GHz上,密码率约为78p/s。
Hashcat
正在开发中~
计划
实现多GPU
提供Qt界面
最后,感谢John The Ripper团队,Dislocker和LibBDE项目的支持。希望大家能积极的分享并测试我们的项目,并第一时间将问题反馈给我们!
*参考来源:GitHub,FB小编 secist 编译,转载请注明来自FreeBuf.COM
secist
secist
316 篇文章
等级: 9级
||
上一篇:分享Burp Suite遇到的各种坑下一篇:开源SSH双因素登陆认证系统JXOTP了解一下(续)
这些评论亮了
路过 回复
这辈子都没指望了, 求大家找个vmware(vmdk)文件的破解工具, N多年前,CPU开一晚上都能跑出一个btc的年代,用GTX260跑了百来个币,后来做项目不想给fa票,也收100多个BTC,都存在虚拟机的系统里了
不知道手贱输错了,一时想了个另类密码,还是后来忙疯头了神精错乱了,明明记的的,打开过好多次的,隔了半年再打开,密码怎么输都不对,试好好多常用密码,包括大小写,键位隔避的字符等,都不行, 错过了高价位不说,现在低价位都取不出来, 谁给个暴力工具啊, 那好像是AES256的
)13(亮了
发表评论已有 7 条评论
橙子 2018-10-10回复 1楼
可以一试
亮了(0)
路过 2018-10-10回复 2楼
这辈子都没指望了, 求大家找个vmware(vmdk)文件的破解工具, N多年前,CPU开一晚上都能跑出一个btc的年代,用GTX260跑了百来个币,后来做项目不想给fa票,也收100多个BTC,都存在虚拟机的系统里了
不知道手贱输错了,一时想了个另类密码,还是后来忙疯头了神精错乱了,明明记的的,打开过好多次的,隔了半年再打开,密码怎么输都不对,试好好多常用密码,包括大小写,键位隔避的字符等,都不行, 错过了高价位不说,现在低价位都取不出来, 谁给个暴力工具啊, 那好像是AES256的
亮了(13)
闪闪发光的咸鱼王 (1级) 2018-10-10回复
@ 路过 我帮你破解试试,解开收取10%酬劳,可以的话就把文件发给我
亮了(1)
路过 2018-10-10回复
@ 闪闪发光的咸鱼王 你忽悠我啊, 当我傻啊, 我只求工具, 你破解了,转走了,再把文件给我,有P用, 再说了,vmdk文件,动不动都是几十G的
亮了(1)
SpongeB0B (1级) 2018-10-11回复
@ 路过 windows虚拟机可以使用PE系统ISO加载的方式,使用PE自带的windows破解工具,linux自带好像就有重置密码的功能吧
亮了(0)
路过 2018-10-11回复
@ SpongeB0B 没用过的不要乱发话, 问的是"硬盘"全盘加密,不是系统密码!!!!!系统密码,有什么意义,挂盘上去,什么文件都看的到
abc.vmdk(OS+Bitcoinblocks+wallet.dat >200GB),abc.vmsd(<1K): encryption.keySafe=vmware:key/list……\r\nencryption.data=….
亮了(1)
用户名不能为空 专栏作者(1级) 2018-10-11回复
@ 路过 奥斯卡影帝2333
亮了(0)
昵称
请输入昵称
必须您当前尚未登录。登陆?注册邮箱
请输入邮箱地址
必须(保密)表情插图
有人回复时邮件通知我
secist
secist
每个人的心中都有一个梦。。
316
文章数
60
评论数
最近文章
如何在PowerShell CLM模式下枚举域信息?
2018.11.19
SniffAir:无线渗透测试框架
2018.11.17
SlackExtract:用于提取slack用户所有文件的PowerShell脚本
2018.11.14
浏览更多
相关阅读
微软上传用户磁盘加密密钥副本到微软服务器中超3200万Twitter账户密码泄露,Twitter表示“不能怪我”!渗透测试中的冷却启动攻击和其他取证技术《走进科学》之“黑客来了”观后感—人人都可以5分钟破密码密码哈希破解工具-Hash Kracker V1.0
特别推荐
关注我们 分享每日精选文章
活动预告
11月
FreeBuf精品公开课·双11学习狂欢节 | 给努力的你打打气
已结束
10月
【16课时-连载中】挖掘CVE不是梦(系列课程2)
已结束
10月
【首节课仅需1元】挖掘CVE不是梦
已结束
9月
【已结束】自炼神兵之自动化批量刷SRC
已结束
FREEBUF免责声明协议条款关于我们加入我们广告及服务寻求报道广告合作联系我们友情链接关注我们
官方微信
新浪微博腾讯微博Twitter赞助商
Copyright © 2018 WWW.FREEBUF.COM All Rights Reserved 沪ICP备13033796号
css.php 正在加载中...0daybank
文章评论