https://github.com/lachlan2k/phatcrack
Modern web-based distributed hashcracking solution, built on hashcat
https://github.com/lachlan2k/phatcrack
distributed-computing golang gpu-computing hacking hashcat hashcracking infosec pentesting security-tools vue
Last synced: 3 months ago
JSON representation
Modern web-based distributed hashcracking solution, built on hashcat
- Host: GitHub
- URL: https://github.com/lachlan2k/phatcrack
- Owner: lachlan2k
- License: mit
- Created: 2022-11-07T08:10:18.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-04-09T02:20:55.000Z (3 months ago)
- Last Synced: 2025-04-09T03:25:25.506Z (3 months ago)
- Topics: distributed-computing, golang, gpu-computing, hacking, hashcat, hashcracking, infosec, pentesting, security-tools, vue
- Language: Go
- Homepage:
- Size: 10.5 MB
- Stars: 131
- Watchers: 3
- Forks: 11
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-starts - lachlan2k/phatcrack - Modern web-based distributed hashcracking solution, built on hashcat (vue)
README
# Phatcrack
Phatcrack is a modern solution for distributed hash cracking, designed for hackers and other information security professionals.
Key features include:
* Built on [Hashcat](https://hashcat.net), supporting most common Hashcat attacks and almost all hash types.
* Excellent UX for manging projects, configuring attack settings, and viewing results.
* Distributes attacks, allowing both dictionary-based and mask-based attacks to be split across multiple workers.
* Automatically synchronises wordlists & rulefiles to all workers. Low-privileged users can be granted permission to upload wordlists & rulefiles.
* Modern web-interface, with multi-user support and project-based access control.
### Deployment
#### Server
Docker is the only supported deployment method for the server. The following instructions assume you already have [Docker installed on your server](https://docs.docker.com/engine/install/), and are logged in as root (`sudo su`).```sh
# Ideally the container processes should be run rootless, so we'll create an unprivileged user.
useradd --system --create-home --home-dir /opt/phatcrack-server phatcrack-servercd /opt/phatcrack-server
wget https://github.com/lachlan2k/phatcrack/releases/download/v0.6.6/docker-compose.yml
# Update your hostname here:
echo "HOST_NAME=phatcrack.lan" >> .env
echo "DB_PASS=$(openssl rand -hex 16)" >> .env
echo "PHATCRACK_USER=$(id -u phatcrack-server):$(id -g phatcrack-server)" >> .env
chmod 600 .env# If you chose a hostname that is publicly accessible and expose this to the world (not recommended), Caddy will automatically deploy TLS.
## Otherwise, use the following for self-signed TLS
# echo "TLS_OPTS=tls internal" >> .env## If you want to supply custom certificates, place them in a directory called `certs`
## And add ./certs:/etc/caddy/certs:ro as a mount in docker-compose.prod.yml for
# echo "TLS_OPTS=tls /etc/caddy/certs/cert.pem /etc/caddy/certs/key.pem" >> .env# Make a directory to persist files in
mkdir filerepo
chown phatcrack-server:phatcrack-server filerepodocker compose up -d
```You can then visit your local installation. The default credentials are `admin:changeme`.
#### Agents
For each agent you want to enroll, visit the admin GUI, and create a new agent. Note down the generated API key, as this won't be shown again.
On each agent, you can manually set up the agent as follows:
```sh
# Create a user for the phatcrack agent
useradd --system --create-home --home-dir /opt/phatcrack-agent phatcrack-agent# Depending on your distro, you may need to the phatcrack-agent to a group
usermod -aG video phatcrack-agentcd /opt/phatcrack-agent
# Download the phatcrack-agent program from the local server
wget https://phatcrack.lan/agent-assets/phatcrack-agent
# Or, you can download from https://github.com/lachlan2k/phatcrack/releases/download/v0.6.6/phatcrack-agentchmod +x ./phatcrack-agent
./phatcrack-agent install -defaults -api-endpoint https://phatcrack.lan/api/v1 -auth-key API_KEY_FROM_SERVER_HEREsystemctl enable phatcrack-agent
systemctl start phatcrack-agent
```