Wrong Gpu Driver On Mac For Hashcat
To make kernel development as easy as possible, we have already started in previous hashcat versions to include GPU-optimized OpenSSL-like crypto interfaces and finalized it with hashcat 6.0.0. If you are familiar with that interface, you know it typically uses a chain of context init, update and final function calls. Why don´t you install the Windows-Driver for your gpu? This should know better about the grafics card functions than the general-must-fit-everything bootcamp driver. I have a mac pro 5.1, gtx980 ti, and on the bootcamp side i installed the nvidia driver for windows. Keep in mind: make a backup of your important data first!
Category: «Cryptography», «General», «Passwords & Human Factor»
11 1 - 12
Hashcat Windows Gpu
Hashcat is a great, free tool competing head to head with the tools we make. We charge several hundred dollars for what, in the end, can be done with a free tool. What are the reasons for our customers to choose ElcomSoft products instead of Hashcat, and is the expense justified? We did our best to compare the two tools to help you make the informed decision.
How To Use Hashcat
Both Hashcat and Elcomsoft Distributed Password Recovery are tools for breaking passwords. Both tools can perform hardware-accelerated brute-force attacks using conventional video cards, and both tools can do dictionary and smart attacks. Both tools can use distributed networks to speed up the attacks, yet Hashcat needs a third-party tool for that. Both are thoroughly optimized to offer the highest performance on hundreds of file formats. On paper, the two tools have so many similarities they may look alike. The usage experience in typical use cases, however, could not be more different.
System requirements
Elcomsoft Distributed Password Recovery is a Windows only product. You need Windows 7, 8, 8.1 or Windows 10 to run both the server and each of the clients. If you are using distributed attacks, each of the computers comprising the distributed network must run Windows.
In addition to Windows, you need proper drivers. Elcomsoft Distributed Password Recovery is comfortable with officially released versions of NVIDIA drivers; we’ve seen no nasty surprises with either Studio or Gaming drivers as long as they come with CUDA. AMD drivers are a bit sketchier, so we have to test major releases for compatibility. If you’re using a different GPU, the correct OpenCL driver must be installed in order for the hardware acceleration to work.
Hashcat is a cross-platform tool supporting all major versions of Windows, macOS, and many Linux distributions. However, you’ll be hard-pressed to find one single platform on which all of the Hashcat features work. From time to time, you’ll need Hashcat to use several host operating systems to perform its duties. As an example, you’ll need a Mac to extract encryption metadata from FileVault disks.
In addition to the host OS, you’ll also need the following to utilize some or all Hashcat features.
- git (optional but recommended)
- Perl
- Python
- C/C++ compiler, correctly configured and equipped with the required libraries. Some hash extraction utilities are available exclusively in source code with no precompiled binaries.
Hardware acceleration
Both tools advertise hardware acceleration to speed up brute-force attacks. The devil is in the detail.
Elcomsoft Distributed Password Recovery offers GPU acceleration on NVIDIA video cards, while some formats can utilize AMD hardware. Our tool can also utilize OpenCL, the open standard for parallel programming of heterogeneous systems. Thanks to OpenCL support, Distributed Password Recovery can utilize the GPU units found in many Intel processors, which can deliver several times the typical performance of CPU cores. Should GPU acceleration be unavailable on a given system or for a given format, the tool transparently falls back to CPU-only implementation.
Hashcat is decidedly GPU only. The tool requires an AMD or NVIDIA video card to work, and you’ll need a compatible version of the graphic driver. Where Hashcat requires the use of the OpenCL runtime to interface with compatible CPUs (which we struggled to enable), Distributed Password Recovery addresses the CPU cores directly, utilizes the native CUDA for interfacing with NVIDIA boards, and uses OpenCL for everything else.
Supported formats
Even the best password recovery tool is worth nothing if it does not support that one encrypted data format you urgently need to break. On paper, Hashcat supports a larger number of formats compared to our tool. While both Hashcat and Elcomsoft Distributed Password Recovery advertise hundreds of supported formats and generally tick all the basics, our tool covers a few things that Hashcat does not. These include:
- Office 97/2003 (key search)
- PDF with 40 bit encryption (key search)
- Apple iWork (Pages, Numbers, Keynote)
- Hangul/Hancom Office (HanWord, HanCell)
- PGP ZIP archives (.PGP) (password recovery)
- PGP secret key rings (.SKR) (passphrase recovery) (GPU accelerated)
- PGP disks with conventional encryption (.PGD) (password recovery) (GPU accelerated)
- PGP self-decrypting archives (.EXE) (password recovery)
- PGP whole disk encryption (password recovery) (GPU accelerated)
- Intuit Quicken
- macOS keychain password (GPU accelerated)
- BlackBerry backups (.IPD, .BBB) (password recovery) (GPU accelerated)
- FileMaker
- Apple Disk Image (.DMG) passwords
- DashLane password manager
- Tally ERP 9 Vault passwords
Setting up and initial configuration
The greater differences are experienced when setting up and configuring the tools for the first time. When installed on a single computer, Elcomsoft Distributed Password Recovery is essentially a plug-and-play endeavor: you download the installation file, double-click to install, then launch the product from the Windows Start menu. That’s pretty much it; the tool automatically launches the required components (the client, server, and interactive management console) and detects the available acceleration resources. By the time you see the main window, the tool is ready to run your first attack.
Hashcat offers a typical Linux experience even if you are using it in Windows. All goes well if you already have the compatible GPU with compatible drivers. Should something go wrong, and you may need to spend extra time troubleshooting. This, for example, is what we’ve seen when trying to benchmark Hashcat on an Intel CPU in a Windows VM:
Apparently, an OpenCL runtime is required to run attacks on Intel CPUs. Obtaining OpenCL runtime for Intel Core was borderline amazing. The runtime is only available to developers with Intel developer accounts. Registering the account and waiting for its approval took a day; however, we were still unable to run Hashcat on that computer even with the OpenCL runtime installed.
To its credit, Hashcat would run normally in Windows once we installed a compatible NVIDIA board. We could also launch Hashcat in Linux using the same video card. This time the quest was less puzzling; all that we needed to do was using the particular version of Ubuntu, carefully uninstalling the pre-installed NVIDIA drivers (a wrong move bricks the system), adding the recommended drivers repository and installing the recommended driver from that repository. Piece of cake if you use NVIDIA. We failed the quest when we tried using an AMD card though.
To sum it up, you need a supported OpenCL device to use Hashcat. NVIDIA boards are supported; you’ll need some luck for AMD or Intel. If you use Ubuntu, you’ll require an NVIDIA board. Elcomsoft Distributed Password Recovery, on the other hand, just… works.
To be continued
In the next part of the series, we’ll talk about the general workflow of the two products, distributed and cloud attacks.
11 1 - 12
For Ubuntu 18.04.1 see this post.
There are some issues with the steps listed on the hashcat FAQ found here. This quick tutorial is specifically geared for Ubuntu when you have installed the nvidia packages from the repository. This is what I did to get it to work so hopefully it will be helpful to others.
1. Boot as normal and get to login screen (or desktop if you autologin).
2. Press the key combination Ctrl + Alt + F1 to exit out of the GUI. Authenticate with your username and password.
3. type sudo service lightdm stop and press Enter to stop X11 (desktop GUI).
4. type sudo apt-get remove --purge nvidia* and press Enter to purge all nvidia items.
5. type sudo find / -name libOpenCL* -print0 | xargs -0 rm -rf to find and puge all libOpenCL files
Reboot
Boot as normal and get to login screen (or desktop if you autologin).
Press the key combination Ctrl + Alt + F1 to exit out of the GUI.
Authenticate with your username and password.
Don’t follow this command from the hashcat FAQ >For Linux only: apt-get -y install ocl-icd-libopencl1 opencl-headers clinfo
Install the latest Nvidia Driver
Visit https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa to determine the latest Nvidia drivers found in the repository. Also check to ensure your graphics card supports the latest driver (http://www.nvidia.com/object/unix.html).$sudo apt-get -y install nvidia-384 nvidia-libopencl1-384
Reboot
For Linux only: rm -rf ~/.hashcat/kernels
Reinstall hashcat, choose:
Stable Version: Download and extract (under Linux, make sure to use: “7z x” to extract) the newest hashcat from https://hashcat.net/
Development Version: git clone https://github.com/hashcat/hashcat
Try to run hashcat –benchmark
References
https://hashcat.net/wiki/doku.php?id=frequently_asked_questions#i_may_have_the_wrong_driver_installed_what_should_i_do
https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa
http://www.nvidia.com/object/unix.html
http://www.linuxandubuntu.com/home/how-to-install-latest-nvidia-drivers-in-linux