开源密码破解及分析工具Hashview

发表于:2017-11-21 10:15:23 来源:  FreeBuf.COM 阅读数(0人)

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数据库


https://localhost:4567


第一次访问时新建一个管理员帐号。


Hashview使用


基础设置创建Hashview数据库


创建用户并登录后,先做一些简单的设置。


Manage – Global Settings —— Hashcat


Hashcat的路径在Hashview/config/agent_conf文件中设置,这里仅能查看,不能修改;Max Task Runtime —— 每个任务的最大破解时间,默认86400秒,也就是24小时;



创建Hashview数据库


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 NameCustomer都不重要,可以随便填。




Assign Hashes —— 添加Hash


Hash添加有两种方式,填写单个Hash或上传hash文件两种方式,我在这里上传一个shadow文件进行演示。


Verify File format —— 选择shadow


Confirm Hash Type —— 确认需破解的Hash类型


Hashview会判断当前hash文件包含的Hash类型,并给出选择项,hashcat一次任务只能破解一种hash类型,Kali默认使用的是sha512,这里选择sha512。


各种类型的Hash,请看这里,Hash文件中分类提取hash值,参考这里



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的安装和使用介绍到此结束。


相关新闻

大家都在学

课程详情

密码破解实验

课程详情

WIFI握手包密码破解

课程详情

网络安全基础