# Kraken | A Multi-Platform Distributed Brute-Force Password Cracking System

**URL:** <https://onehack.st/t/kraken-a-multi-platform-distributed-brute-force-password-cracking-system/219403>\
**Category:** Tools & Scripts\
**Tags:** cracking, freebies\
**Created:** [April 21, 2022, 11:16am UTC](https://onehack.st/t/kraken-a-multi-platform-distributed-brute-force-password-cracking-system/219403 "2022-04-21T11:16:04Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![WhiteHat](https://onehack.st/user_avatar/onehack.st/whitehat/32/162514_2.png) [@WhiteHat](https://onehack.st/u/WhiteHat)\
**Post date:** [April 21, 2022, 11:16am UTC](https://onehack.st/t/kraken-a-multi-platform-distributed-brute-force-password-cracking-system/219403/1 "2022-04-21T11:16:04Z")

</div>

[![](https://github.com/arcaneiceman/kraken/raw/master/kraken-client/src/assets/kraken-logo.png)](https://github.com/arcaneiceman/kraken/blob/master/kraken-client/src/assets/kraken-logo.png)

## Kraken: A multi-platform distributed brute-force password cracking system

### What is Kraken

Kraken is an online distributed brute force password cracking tool. It allows you to parallelize dictionaries and crunch word generator based cracking across multiple machines both as a web app in a web browser and as a standalone electron based client. Kraken aims to be easy to use, fault tolerant and scalable.

I wrote Kraken because I wanted to learn more about offensive security and to write an easy solution to overcome the limitation of using a single device when attempting distribute brute force workloads.

### Installation

##### Server and Browser Client

Kraken is a dockerized application using **docker-compose** which will launch the **db** (Postgres), **s3 compliant file storage** (Minio), the **server** and the **browser client**. You can find the docker-compose file at the root directory of the repository. You can deploy it using the following command:

```auto
docker-compose up

```

Kraken’s Browser Client should be accessible at:

- HTTP : [localhost:8080](http://localhost:8080/) (use server url [http://localhost:5000/api](http://localhost:5000/api) [default])
- HTTPS : [https://localhost:8443](https://localhost:8443/) (use server url [https://localhost:8443/api](https://localhost:8443/api))

**Note** : To run the Browser Client from a remote machine, you **MUST** use HTTPS for both server url and browser url. Eg. If you are hosting the server on 192.168.1.2, then browser client will be available at [https://192.168.1.2:8443](https://192.168.1.2:8443/) and the server url should be [https://192.168.1.2:8443/api](https://192.168.1.2:8443/api)

To upload password lists or dictionaries, upload them to Minio Console at [localhost:9001](http://localhost:9001/). (Default U: admin P: password) Otherwise, you can generate word lists dynamically using crunch. See crunch options and how to use them here: [crunch man page](http://manpages.ubuntu.com/manpages/bionic/man1/crunch.1.html)

Kraken’s server runs on [localhost:5000](http://localhost:5000/) and also hosts swagger documentation at [localhost:5000/swagger](http://localhost:5000/swagger).

##### Portable Desktop Client

The desktop client is an electron based portable application and can be run on Mac, Windows and Linux. Due to sensitive permissions required to function, it is highly recommended that you compile and it yourself by cloning the repo and using :

```auto
cd kraken-client
npm install
npm run electron-start

```

###### Windows

**Note** : Window EXE portable client needs to run in the folder with its hashcat dependencies. Hashcat files can be dowloaded from their home page or [here](https://hashcat.net/files/hashcat-5.1.0.7z). Ive included a compressed zip file with the portable executable and required hashcat files. They can be downloaded:

- [Portable Exe](https://github.com/arcaneiceman/kraken/releases/download/dockerUpdate/kraken-client.1.2.0.exe)
- [Compressed Zip](https://github.com/arcaneiceman/kraken/releases/download/dockerUpdate/kraken-client-with-dependencies.zip)

###### Linux

Releases include a Linux **AppImage** which only requires hashcat to be installed.

- [AppImage](https://github.com/arcaneiceman/kraken/releases/download/dockerUpdate/kraken-client-1.2.0.AppImage)

Install hashcat:

```auto
sudo apt-get install hashcat

```

You will have to give AppImage permission via properties to execute.

### Note

This guide is on-going but please feel free to raise an issue or contact me for any help required.

## GitHub:

[https://github.com/arcaneiceman/kraken](https://github.com/arcaneiceman/kraken)
