CrackQ – Python GUI to Manage HashCat Jobs in a Queuing System

CrackQ

Feature List

  • REST API
  • Remote Python client or JS GUI
  • Cracked passwords analysis and reporting
  • Uses Hashcat API directly via libhashcat, no shell commands
  • Easy installation using docker containers
  • SQL, LDAP or SAML2 Authentication
  • Multi-user support with privilege separation for jobs
  • Job queues with pause/restore/move
  • Always supports the latest Hashcat version and algorithms
  • Email notifications when a hash cracks or job finishes
  • Intelligent queuing, new jobs added to the queue undergo a speed/show check immediately and will instantly show previously cracked hashes from the pot file without waiting
  • Automated Brain integration, Brain activates when it becomes efficient (uses above speed check)
  • Detailed job stats/charts for active jobs
  • Preconfigured rate-limiting
  • Markov stats pre-configured
  • Sample mask files included
  • Hashcat benchmark visualisations

Requirements

This tool has the following requirements:

  • Drivers
    • OpenCL drivers – these can be installed from a repository or downloaded from the relevant vendor. Tested using Intel runtime.
    • Nvida drivers
    • AMD drivers
  • Docker
  • Nvidia-runtime
  • Docker-compose

It is recommended to have a hefty server build with ample RAM/CPU power. However, the application has been tested on a VM with 8 cores and 4GB RAM so there should not be any issues with resources given that the server will need a good amount of resources for cracking anyway.

See the Wiki for installation and guides.

Setup Docker

Install Docker CE on Ubuntu

Guide taken from here here: https://docs.docker.com/v17.09/engine/installation/linux/docker-ce/ubuntu/#install-using-the-repository:

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    software-properties-common

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
sudo apt-get update
sudo apt-get install docker-ce

Install docker-compose

See here for latest version https://docs.docker.com/compose/install/#install-compose.

sudo curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Install Drivers

To Install OpenCL drivers follow the guide here:

https://github.com/intel/compute-runtime/

Or

For Nvidia you will need the nvidia container runtime package installed. Follow the steps here:

https://github.com/NVIDIA/nvidia-docker

Ubuntu Nvidia Runtime Install

The Nvidia Runtime container toolkit is required to pass the GPUs through to the Docker containers.

distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker
sudo apt-get install nvidia-container-runtime

Or

ADD AMD GUIDE HERE

Installation

When you have finished the pre-installation you then need to run the install script. It requires just one argument which is your preferred driver/os setup. This is the OS used by the docker container so it doesn’t necessarily need to be the same as the host OS:

sudo ./install.sh docker/opencl/ubuntu

OR

sudo ./install.sh docker/nvidia/centos

After this the docker images will be built. However, some configuration is needed before launching. See the Configuration page for the next steps.

Note: There is an open issue with the latest Docker/Docker-compose version where docker-compose does not recognise the Nvidia runtime. If you see this error:

ERROR: for crackq Cannot create container for service crackq: Unknown runtime specified nvidia

Apply the workaround noted here. Which is just adding the following to your /etc/docker/daemon.json file:

{
    "runtimes": {
        "nvidia": {
            "path": "/usr/bin/nvidia-container-runtime",
            "runtimeArgs": []
        }
    }
}

Download: https://github.com/f0cker/crackq

Leave a Reply

Your email address will not be published.