开源密码破解及分析工具Hashview
作者:admin | 时间:2017-11-21 01:05:01 | 分类:黑客工具 隐藏侧边栏展开侧边栏
Hashview是一款开源的密码破解及分析工具,其密码破解功能基于世界上最快的密码破解软件——hashcat。Hashview可以通过Web界面方便的进行密码破解任务建立、进度查询,密码破解后存储于数据库中,系统对破解出来的密码进行多个维度的汇总分析,并生成各类统计图表。
关于这款工具的更多介绍,可从Hashview官网了解。
下面开始介绍该工具的安装及使用,本示例基于Kali 2017.2,Nvidia 970独显。
Hashview安装需求
-
Hashcat已安装并能正常工作
Hashcat的强大破解能力依赖于显卡的GPU浮点运算,建议直接在物理机上安装Kali和显卡驱动。Kali安装显卡驱动,参考Kali官方教程,双显卡安装显卡驱动遇到黑屏参考这篇文章解决。VMware虚拟机中hashcat也可以使用CPU运行,只是破解速度远远低于GPU破解。
-
MySQL&Redis创
建一个MySQL普通帐号hashview(普通权限帐号即可,帐户名可自定)并加入sudo用户组,用于安装运行Hashiew
-
RVM环境
Hashview安装
安装MySQL和Redis
sudo apt-get update sudo apt-get install git mariadb-server libmariadbclient-dev redis-server openssl
mysql安全配置
设置root密码,并禁止root远程登录
sudo mysql_secure_installation
新建一个数据库账号,赋予新建库的权限,后面将用到这个账号
mysql -uroot -p use mysql; create user 'hashview'@'localhost' identified by 'P@ssw0rd'; //密码修改为你自己的 grant all on *.* to 'hashview'@'localhost'; flush privileges;
优化数据库配置
vim /etc/mysql/mariadb.conf.d/50-server.cnf
//在[mysqld]下面添加以下几行内容:
innodb_flush_log_at_trx_commit = 0
innodb_file_format = Barracuda
innodb_large_prefix = 1
innodb_file_per_table=true
修改后重启数据库
sudo service mysql restart
安装RVM环境
需使用普通权限帐号运行,否则会报错,安装参考文档。
添加GPG公玥
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
执行安装脚本
\curl -sSL https://get.rvm.io | bash
RVM安装完成后,进入rvm环境
source ~/.rvm/scripts/rvm
安装Hashview
克隆源代码
git clone https://github.com/hashview/hashview
安装gems
//之后的操作都在hashview目录下执行 cd hashview //hashview使用ruby2.2.2,需指定版本 rvm install ruby-2.2.2 //这里需要输入hashview的密码 gem install bundler
bundle install
设置数据库连接
修改数据库配置文件,添加数据库密码
cp config/database.yml.example config/database.yml
vim config/database.yml //修改用户名和密码为之前步骤新建的账号
创建Hashview数据库
RACK_ENV=production rake db:setup
设置hashcat路径
vim config/agent_config.json
//填写hashcat的完整路径,Kali默认已安装hashcat,路径为/usr/bin/hashcat "hc_binary_path": "/usr/bin/hashcat"
启动Hashview
RACK_ENV=production TZ='Asia/Chongqing' foreman start
为了下次方便启动,创建一个启动脚本:
vi hashview-start.sh
//添加以下三行内容: #!/bin/bash source ~/.rvm/scripts/rvm cd ~/hashview
RACK_ENV=production TZ='Asia/Chongqing' foreman start
//添加执行权限
chmod +x hashview-start.sh
//启动脚本
bash hashview-start.sh
访问Hashview
第一次访问时新建一个管理员帐号。
Hashview使用
基础设置
创建用户并登录后,先做一些简单的设置。
Manage – Global Settings —— Hashcat
Hashcat的路径在Hashview/config/agent_conf文件中设置,这里仅能查看,不能修改;Max Task Runtime —— 每个任务的最大破解时间,默认86400秒,也就是24小时;
opencl-device-types —— 破解密码使用的设备,这里选择2 - GPU
;
workload-profile —— 破解时的工作载荷,可以选高一点,这里选择3 - Hign
;其它保持默认即可。
在虚拟中运行时,opencl-device-types选择
1 - CPU
,勾选–force
Manage – Global Settings —— Email
配置邮件发送账号,用于破解任务完成后的邮件通知。
Manage – User Accounts
Hashview的账号管理,可以添加多个账号。
Manage – Agents
Hashview可以使用多台电脑进行分布式hash破解,这里可以看到当前接入的Agent及运算能力,我们当前只在本机测试,只能看到Local Agent。
Manage – Rules
密码规则,对密码字典中的密码进行规则处理,如前后添加数字,改变大小写等,Hashview已内置了大量规则,你也可以添加自定义的规则。
Manage – Wordlists
字典库,这里可以添加你搜集的各类字典,添加后Hashview会计算该字典含有的密码数量。
Tasks
这里的任务是指密码的破解方式,如字典、掩码等方式,内置了几种基本的破解方式,我们在Wordlists里导入的字典,需要在这里建立Task后才能使用。Task使用字典方式时,还可以添加规则对字典中密码做变型扩展处理,提高破解成功率。
开始一次破解作业
Jobs
前面的各项内容都配置完成后,就要在Jobs中添加Hash破解工作了。Jobs界面,点击Create a New Job
Job Name和Customer都不重要,可以随便填。
Assign Hashes —— 添加Hash
Hash添加有两种方式,填写单个Hash或上传hash文件两种方式,我在这里上传一个shadow文件进行演示。
Verify File format —— 选择shadow
Confirm Hash Type —— 确认需破解的Hash类型
Hashview会判断当前hash文件包含的Hash类型,并给出选择项,hashcat一次任务只能破解一种hash类型,Kali默认使用的是sha512,这里选择sha512。
Assign Tasks to Job —— 添加密码破解任务
一次破解作业可包含多个破解任务,使用多种破解方式,如字典方式、掩码方式、暴力破解等。在`Add Task`下拉列表中选择,为当前作业添加破解任务。
添加完成Task后,点击Done。
启动破解作业
回到Jobs主界面,Job添加后默认未启动,需手动点击开始。
查看破解进度
破解过程中,可以点击左上角Hashview
到主界面查看破解进度。
Password Analysis —— 密码分析
Jobs界面,点击任务的Analysis,查看当前Job的密码破解统计信息,总共hash数量、已破解hash数量、Top 10口令等。
Search —— 密码搜索
所有破解过的密码Hash均存储在数据库中,Manage – Search界面可以通过Username、Hash、Password方便的搜索。
结语
Hashview的安装和使用介绍到此结束。
*本文作者:Shad0wpf_