前面我们已经说过hashcat在Window环境下的安装编译,今天我们就来聊一聊hashcat在Linux环境下的安装。总说安装确实有点无聊啊,但是大家忍耐一下把,安装好程序以后,大家就可以来聊一下hashcat中命令的使用方法。

Ubantu下安装hashcat

这里我们安装hashcat-4.1.0.。hashcat4.0在源代码中整合GPU和CPU的版本。在安装时,hashcat会判断你的硬件,并安装相应的版本。

Hashcat4.0已经取消了gcc的限制,这就省略了很多事情。这样我们在安装hashcat时,只需要安装opencl库作为运行hashcat的支撑库。这样,就省却了很多配置环境的过程。

安装opencl

Opencl有很多版本,intel,nvida,AMD的opencl都可以用。打击可以跟据自己的硬件环境,使用相应的opencl SDK。

从官网下载opencl,我用的opencl+runtime_16.1.2_x64_rh_6.4.0.37,下载之后解压到一个你习惯使用的路径。在文件夹中找到install_GUI.sh。运行这个文件,会出现如下界面:

然后按照图形界面中的提示内容,按步骤安装opencl就可以了。为了以防万一,我还下载了一个opencl_headers压缩包,这个压缩包中,有*.c文件。安装好opencl之后,hashcat的环境配置就搭好了。

安装hashcat

下载hashcat的源码,你可以到hashcat的网站下载源代码。或者直接把github中的hashcat源码复制到你的主机:git clone https://github.com/hashcat/hashcat.git

下载hashcat之后,先看源码中的README.md,BUILD.md,Makefile三个文件。BUILD文件中是hashcat的安装命令,推荐大家作为参考。Makefile文件中是编译代码,包括引用的各各文件和数据库路径。

然后submodule更新

Make:运行make命令后,会开始进行hashcat源码编译,并提供makefile文件中提供的相关功能。

Make install:这条命令意味着开始安装hashcat。

安装完成后试运行–b命令,对hashcat进行测试。测试通过,意味着hashcat安装成功。

如果大家安装3.0之后的hashcat的话,按照上面这些步骤进行操作,基本可以保证hashcat正常运行。如果大家对老版本的hashcat感情很深的话,可以看看下面的内容。

古早hashcat的环境配置

前面我们也说了,hashcat3.0之后的版本,不在区分基于CPU或GPU进行计算,都是整合了GPU和CPU的。但是我这里还有hashcat2.0和oclhashcat2.01。Hashcat2.0在无GPU的环境下进行计算,oclhashcat只能在有GPU的环境下运行下,利用GPU进行计算。现在我们分别来看一下,这两个版本的hashcat如何安装。

早期的hashcat限制条件比较多,需要在gcc4.9以上版本的支撑下运行。所以我们先要配置电脑的gcc,或者把自己的GCC编译器升级到4.9以上。gcc需要用到GMP,MPFR,MPC库,所以需要先主安装这些支撑软件。

GMP安装

下载解压

配置gcc环境,先要配置GMP,直接到官网下载干净又安全的版本就好了,我从官网上下载了gmp-6.1.2.tar.lz。

没有安装解压命令的,先安装解压命令:

用lzip命令解压安装包,把gmp解压为一个.tar文件。然后用tar命令把压缩包解压到文件夹。

安装./configure –prefix=/usr/local/gmp6.1.1(--prefix后的面的参数为可选,若不选,表示默认安装位置)

make

make insatll

Make和make install两个命令的作用,前面我们之前已经说过,这里就不再重复了。

在安装GMP的过程中,提示缺少m4,这个问题不是所有人都会出现的,没有提示这个问题的,可以不用管这一步。

所以我又安装了m4,先下载解压,m4的安装命令跟GMP的安装命令相同。

安装成功后记得用man命令测试一下。

MPFR 安装

下载解压

这里是一个后缀为.tar.b2z后缀名的压缩包,b2z的解压命令与前面不同

安装

安装方法和GMP库的安装命令是一样的,不在赘述。1 ./configure –prefix=/usr/local/mpfr-3.1.4

2 make

3 make install

MPC安装

下载解压

安装1 ./configure –prefix=/usr/local/mpc-1.0.3

2 make

3 make install

Gcc的安装

安装

下载解压安装太麻烦了,这次是直接从源里下载的gcc:

安装gcc后可以通过如下命令,查看gcc的版本信息,输出如下:

好了,以上就是低版本hashcat的全部配置过程了。

在ubantu下安装hashcat还挺简单的,按顺序操作,不太可能出现问题。如果大家想在服务器上安装hashcat的话,就会有点复杂。主要是配置起来要小心一点。

1.下载并解压

2.编译安装

要在root用户权限下安装gcc。1 ./configure --dis-checking --enable-languages=c,c++--disable-multilib -with-mpc=/usr/local

2 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

3 make 注:make运行的时间很长.

4 make install

3.修改环境变量vim /etc/profile

在最后一行增加export PATH=$PATH:/usr/local/bin。

保存退出。

source/etc/profile

基于cuda的Hashcat安装

Hashcat的CUDA版本其实就是oclhashcat。这是专门用于GPU计算的版本。现在官网已经没有2.0左右的hashcat了。这里我利用很早之前预留的hashcat进行实验。

在此部分,我们的介绍分厂两部分:支撑软件的安装以及编译安装oclhashcat2.01

这里我们主要介绍cuda和nvidia的安装。注:本次安装基于服务器的

提示:如果希望通过系统命令来查看及其硬件信息的话,可以用如下命令,查看CPU信息,

通过具体的参数可以获取相关信息,如下命令组合让可以获取物理CPU的个数以及CPU型号

通过下面这条命令可以查看设备内存信息。

支撑软件的安装

前面已经介绍了GMP库的安装,这里不再赘述,本节主要介绍Nvidia驱动和CUDA的安装。这是基于CUDA的hashcat需要的特有的支撑软件。

下载nvidia驱动

到nvidia官网下载官方驱动,需要是的346.59或者以后的版本

chmod +x 文件名,就可以让文件成为可执行程序。

修改系统配置(重点!!)

1.关闭图形界面

将系统inittab文件中的init 5修改为init3。

2.卸载已安装的NV驱动dpkg-l|grep nvidia。

3.将开源驱动加入黑名单

这部分重要,我就是因为开始没有做这一步,导致后面的安装出现了各种问题,耽误了大量的时间。这可能是我将该驱动加入到黑名单后,所以上面没有卸载也没有问题。

4.安装nvidia驱动

执行./NVIDIA-Linux-x86_64-346.59.run即可,安装过程可根据提示,选择对应的选项即可。安装完成后,可以将(1)中描述的init:3修改回5,但我并没有修改,也可以。安装完成后后,执行nvidia-smi,可以看到如下的结果,即表示安装正确。(本系统中,我将其安装在/opt/hashcat-deps/ NVIDIA-Linux-x86_64-346.59中,为了后面cudaHashcat2.01安装的方便。大家当然不必如此,可以自行指定)

安装CUDA

1.下载CUDA

Hashcat2.01需要7.5以上版本的CUDA,CUDA的下载安装方式和NVIDA驱动的下载安装相同。

2.执行CUDA的运行程序

按照图形界面的提示进行安装即可。

编译安装oclhashcat

1.下载及解压

前面已经说过很多次了,不再重复。大家能找到2.01版本可以试试,找不到就算了。

2.修改Makefile文件

前文已经描述了,src下的Makefile本系统中,因我只安装了Linux64下的nv版本,所以只修改了配置文件中的相关内容。进入oclHashcat2.01下的src目录,打开Makefile文件,修改对应的参数配置,如下所示(其它的部分可以不用管):CUDA := /usr/local/cuda-8.0 /31行

CUDALIBPATH32 := /usr/lib /32行

CUDALIBPATH64 := /usr/lib64 /33行

GDK :=/opt/hashcat-deps/NVIDIA-Linux-x86_64-346.59 /37行

NV_BITNESS_ALL := 64 /109行

binaries_all:linux64 /126行

kernels_all:nv_all /128行

release:binaries /130行

linux:linux64 /132行

linux64: cudaHashcat64.bin /159行

下图列出了其中部分修改的文档。

3.编译安装

在oclhashcat目录下,执行make all,make linux,make nv-all。

执行这三个命令时,会产生大量报错,不用理会,这是其他版本缺少支撑库引起的。我们只用到NV-64这个版本,这些错误对我们不会产生影响。觉得报错碍眼的话,就到src/Makefile文件,把无关内容删除或注释掉,就不会出现大规模报错了。

4.收集可执行程序

将oclhashcat目录下生成的hashcat64.bin,hashcat.hcstat以及kenerls目录下的所有文件拷贝到一个文件夹内,同时确保应用程序的可执行权限,运行hashcat64.bin –b就可以对hashcat进行benchmark测试了。

后记

以上就是这篇文章的全部内容,写的有点啰嗦,请大家见谅。下一篇文章,我计划好好说一说hashcat中各个参数的意义和使用方法。

*本文作者:EVA。本文属丁牛网安实验室原创出品,转载请注明来自FreeBuf.COM。

linux编译hashcat,Hashcat用户手册——hashcat在linux系统下的安装相关推荐

  1. crypto安装_CryptoPP库在Linux系统下的安装与测试

    CryptoPP库在Linux系统下的安装方法比较简单,具体如下: (1)解压源代码压缩包 unzip –a cryptopp700.zip 此处安装的CryptoPP库版本为7.0.0. (2)执行 ...

  2. Linux 系统下Eclipse安装及使用

    Linux 系统下Eclipse安装及使用 (我安装的eclipse为64位,如果需要32位的,自己去下载32位的eclipse) 安装的软件包有:jdk-8u231-linux-x64.tar.gz ...

  3. linux系统下如何github,Linux系统下如何安装和使用GitHub

    下面就来介绍一下Linux系统下如何安装和使用GitHub. 一.安装与配置 虽说Git 预装在所有 Mac 和 Linux 电脑中,但预装的 Git 无一例外都版本陈旧.所以,无论你是使用Mac , ...

  4. linux系统下nginx安装目录和nginx.conf配置文件目录

    linux系统下nginx安装目录和nginx.conf配置文件目录 1.查看nginx安装目录 输入命令 # ps  -ef | grep nginx 返回结果包含安装目录 root      26 ...

  5. linux通过iso安装php,linux系统下怎么安装iso文件?

    linux系统下怎么安装iso文件? 安装步骤: 1.在/mnt目录下,创建相应的iso文件夹,例如iso. 2.运行以下命令,挂载iso文件mount -o loop /home/tecmint/F ...

  6. Linux系统下detectron2安装(cuda11为例)

    Linux系统下detectron2安装(cuda11为例) detectron2官方Requirements 1.Linux or macOS with Python ≥ 3.6(python版本需 ...

  7. linux系统下怎么安装.deb文件?

    linux系统下怎么安装.deb文件? deb 是 ubuntu .debian 的格式. rpm 是 redhat .fedora .suse 的格式. 他们不通用(虽然可以转换一下). deb是d ...

  8. 在Linux系统下XAMPP安装与配置(可离线安装)

    在Linux系统下XAMPP安装与配置(可离线安装) XAMPP网址:https://www.apachefriends.org/zh_cn/index.html 首先找到自己需要安装的版本下载地址( ...

  9. 深度Linux如何安装驱动程序,在Deepin 20系统下手动安装N卡闭源驱动64-440.31.run的步骤...

    本文介绍在深度Deepin 20系统下手动安装N卡闭源驱动的详细步骤,以安装NVIDIA-Linux-x86_64-440.31.run为例. 前言 深度Deepin 20自带三种版本的N卡驱动,如果 ...

最新文章

  1. pyg2plot_画图
  2. Spring MVC-处理程序映射(Handler Mapping)-简单的Url处理程序映射(Simple Url Handler Mapping)示例(转载实践)...
  3. elgamal java_ElGamal - 源码下载|系统编程|加密解密|源代码 - 源码中国
  4. C语言利用循环判断大月小月,对大月和小月进行判断
  5. SpringSecurity 案例之创建资源服务器准备工作
  6. matlab采集网口数据,使用Signal Tap II采集到的数据进行Matlab仿真(转载)
  7. 一、信号处理 ——3.维纳滤波(含matlab代码)
  8. 虚拟机下安装BackTrack5 (BT5)教程及BT5汉化
  9. 蜗牛星际改内存_蜗牛星际再次升级为800多元的变种蜗牛:G5400+B365的双千兆网口做NAS香吗...
  10. Android --Gson解析json数据
  11. Django--表单
  12. 【每周论文】Graphene: Packing and Dependency-aware Scheduling for Data-Parallel Clusters(OSDI 2016)
  13. 【教程】如何批量将记事本文件或word文本转换成简体/繁体中文,下面教你方法
  14. Python的eval函数详解
  15. Chrome 添加自定义搜索引擎
  16. 计算机输入输出接口形式,输入输出接口-微计算机原理-电子发烧友网站
  17. [VS2010]逸雨清风 校园网视频,网吧视频(光音网视)下载器 V0.26
  18. lasso最小角_Python中的Lasso回归之最小角算法LARS
  19. [转]小猴儿“捡芝麻,丢西瓜”
  20. 聚焦2018爱思唯尔-环球科学卓越科研论坛

热门文章

  1. 【机器学习】机器学习模型迭代方法(Python)
  2. 基于Unity的C/S架构数据交互
  3. excel批量将数字转为文本格式
  4. openstack学习笔记六 多节点部署之keystone
  5. python爬取自如房间信息(二)
  6. 微信小程序--红色星球
  7. Gym 101158G Placing Medals on a Binary Tree
  8. [源码解读]一文彻底搞懂Events模块
  9. 青春,让人想念,却再也闻不到了
  10. android存储视频文件夹在哪,Android 中 视频存储路径的一个方案