Global Flags
Krkn Flags
First Time Setup
To utilize the Krkn Client (krknc) you will need to store the token received in your email in the environment variables. This can optionally be set by using thekrknc install command.
Windows
Windows
In powershell
set KRKN_API_TOKEN=<token>Linux/Darwin
Linux/Darwin
Dynamically determine the shell in use and append token entry
Add Configuration Settings
Set the Server, Tailscale (optional), hostname (tailscale hostname if on tailscale otherwise IP or resolvable hostname by Server) and Webhook Type/Port.Configuration
- username: Your username for authentication
- server: Server address (e.g., localhost:8443 or tailscale_hostname-krkn:8443)
- tailscale: Use Tailscale (true/false)
- quic: Use QUIC protocol (true/false)
- insecure: Skip TLS verification (true/false)
- debug: Enable debug mode (true/false)
- webhook-port: Webhook listener port (number)
- hostname: Tailscale hostname (string)
Config
Get
Get
Required Permissions: N/A
get command can be used to view your current settings.
Set
Set
Required Permissions: N/A
set command can be used to set a configuration value
Unset
Unset
Required Permissions: N/A
unset command can be used to remove a value from a single key
Clear
Clear
Required Permissions: N/A
clear command can be used to clear all entries in the configuration.Dumps
Dump can be used to facilitate the parsing and analyzing of dump files. This includes:- Parsing hash information from NTDS.dit and the SYSTEM hive
- Parsing hash information from an LSASS Minidump
- Parsing hash information from a previous SecretsDump (Supports History and Status)
Analyze
Analyze
Required Privileges: N/A

Parse
Parse
Required Privileges: N/A
impacket
impacket
The
impacket subcommand can be used to parse a SecretsDump file
minidump
minidump
The
minidump subcommand can be used to parse hashes from an lsass minidump file.
NTDS
NTDS
The
ntds subcommand can be used to parse hashes from an NTDS.dit file and its corresponding SYSTEM file.
Logs
Logs can be queried to facilitate troubleshooting and debugging both remotely on the Krkn Server and locally.Remote
Remote
Required Privileges: Admin
Local
Local
Required Privileges: N/A

Users
Users are the primary driver behind the Krkn Server. To access the Krkn Server a user needs to have their Username saved to their config and their token saved as an environment variable.
Users fall into three different roles:
- Admin - Unfettered access to all gRPC commands
- User - Access to Job Creation, querying and status’
- Reader - Query access only
List
List
Required Privileges: Admin
list command

Create
Create
Required Privileges: Admin
A new user can be created by an admin user using the
user create command. A token will be sent to their email address.

Delete
Delete
Required Privileges: Admin
The
delete subcommand can be used to delete a user from the Krkn Server.
Set-Role
Set-Role
Required Privileges: Admin
Reset-Token
Reset-Token
Required Privileges: Admin
Files
The files subcommand can be used to upload, download, delete, head, tail and perform checksums for Rules, Wordlists and Mask files.
File Types
Masks
Masks
Rules
Rules
Wordlists
Wordlists
The wordlists are wordlist files for use by hashcat
Sub-Commands
Upload
Upload
Required Privileges: Admin
The
upload subcommand can be used to upload a file from your host to the Krkn Server.
Download
Download
Required Privileges: Admin
The
download subcommand can be used to prompt the Krkn Server to download a file from a given url.
List
List
Required Privileges: Admin, User
list subcommand can be used to list files of the specified type on the Krkn Server.
Head
Head
Required Privileges: Admin
The
head subcommand can be used to read the first N lines in the specified file.
Tail
Tail
Required Privileges: Admin
The
tail subcommand can be used to read the last N lines in the specified file.
Sum
Sum
Required Privileges: Admin
The
sum subcommand can be used to determine if the Sha256 sum of the downloaded or uploaded file matches what is expected.
Delete
Delete
Required Privileges: Admin

delete subcommand can be used to delete the specified file from the Krkn Server.Hashes
Thehashes subcommand can be used to query or upload hashes to the Krkn Server.
Sub-Commands
Query
Query
Required Privileges: Admin, User, Reader
The
query subcommand can be used to query the Krkn Server for previously cracked hashes
Recount
Recount
Required Privileges: Admin
recount subcommand can be used to order the Krkn Server to perform a hash recount. This will force the Krkn Database to perform a recount of all cracked hashes and adjust its counters.
Stats
Stats
Required Privileges: **Admin**
The
stats subcommand can be used to query the hash stats from the Krkn Server. The hashcat mode is optional. If not supplied the entire hash count will be returned.

Upload
Upload
Required Privileges: Admin
The
upload subcommand can be used to upload previously cracked hashes to the Krkn Server. These hashes are then added to the database.
Id
Id
Required Privileges: N/A
The
id subcommand to identify potential hashcat types for a given hash.
Defang
Defang
Required Privileges: N/A
The
defang subcommand can be used to remove client data from a given hash including:- Domain
-
Username

Jobs
The
jobs subcommand encompasses the distributed KCat hash cracking system incorporated into the Krkn Service.
Create
Create
Required Privileges: User, Admin
Args
Flags
Attack Modes
- 0 - Straight/Dictionary: Uses wordlist (-w required)
- 1 - Combination: Combines words from wordlist (-w required)
- 3 - Brute-force/Mask: Uses mask patterns (-m required)
- 6 - Hybrid Wordlist+Mask: Appends mask to wordlist words (-w and -m required)
- 7 - Hybrid Mask+Wordlist: Prepends mask to wordlist words (-w and -m required)
Examples
- Dictionary attack with rules
krknc job create hashes.txt -T 1000 -A 0 -W rockyou -R best64
- Mask attack with increment
krknc job create hashes.txt -T 1000 -A 3 -M "?a?a?a?a?a?a" --increment --increment-min 4 --increment-max 8
- Hybrid attack
krknc job create hashes.txt -T 1000 -A 6 -W rockyou -M "?d?d?d"
- Full suite attack (runs multiple attack strategies)
krknc job create hashes.txt -T 1000 --full-suite
create subcommand can be used to create a new job and place it into the queue on the Krkn Server.
Delete
Delete
Required Privileges: Job Owner, Admin
The
delete subcommand can be used to delete an enqueued job.
Download
Download
Required Privileges: Job Owner, Admin
The
download subcommand can be used to retrieve all cracked hashes from a completed job.
Get
Get
Required Privileges: Job Owner, Admin
The
get subcommand can be used to get the status and configuration of a specific job by its id .The table always includes the persisted fields:Live Hashcat Fields
When a Tentacle worker is currently running the batch for this job, the table also appends live hashcat snapshot fields forwarded by the worker every 5 seconds (see krkns → Live Job Status). These rows are absent for jobs that haven’t started yet or have already finished:
List
List
Required Privileges: Job Owner, Admin
list subcommand can be used to list jobs and their status’.For any job in the list that is currently being cracked by a Tentacle worker, the response includes the same live hashcat snapshot fields as
job get (progress, recovered count, time started, time remaining, total speed, …). The snapshot comes from the krkns in-memory cache so listing all jobs still takes one round-trip regardless of how many are running.
Cancel
Cancel
The
cancel subcommand can be used to cancel a running job.Webhooks
Krkn Clients can create webhooks to manage jobs and updates. For the client to register for Webhooks when using tailscale, a new node will need to be added to the Tailscale network.
Webhook Types
Real-Time
Real-Time
All cracked passwords will be sent back to your host
Completion
Completion
When the job is completed, a notification will be sent back to your host
All
All
Both real-time and completion updates will be sent back to your host
Sub-Commands
Listen
Listen
The
listen subcommand can be used to register and listen in realtime for job updates.Service
Service
The
service subcommand can be used to register/deregister a webhook service for listening on the host system.Install
Install
The
install subcommand can be used to install the webhook service on the host system.Uninstall
Uninstall
The
uninstall subcommand can be used to uninstall the webhook service on the host system.Status
Status
The
status subcommand can be used to query the webhook service on the host system.Toast
Webhooks can be configured to use OS Specific Toast messages, which appear on a graphical desktop interface for user alerts. Toasts can also be queried using the toast subcommand if they are missed.
List
List
The 
list subcommand can be used to display all toast messages received via webhooks.
Read
Read
The 
read subcommand can be used to mark all toast messages as read.
Clear
Clear
The
clear subcommand can be used to clear all toast messages from the cache.

Server
Theserver subcommand can be used to query active workers for the conductor
Workers
Workers
The

workers subcommand can be used to query the Krkn Server for worker informationList
List
The
list subcommand can be used to query tentacle workers and their status.
Sender
Sender
The





sender subcommand can be used to query the Krkn Server to manage the email sender.- Confirm a new email sender
- Get the current email sender
- Set a new email sender
- Send a test email
Get
Get
The 
get subcommand can be used to query the active email sender.
List
List
The 
list subcommand lists all available email senders.
Activate
Activate
The
activate subcommand activates an available email sender.
Test
Test
The
test subcommand can be used to send a test email from the active email sender.
Set
Set
The 

set subcommand can be used to set a new email sender.

Microsoft Outlook / Office 365
Microsoft Outlook / Office 365
Gmail/Google Workspace
Gmail/Google Workspace
Confirm
Confirm
The
confirmsubcommand can be used to confirm the new email sender.
Delete
Delete
The
delete subcommand deletes an email sender by id
You cannot delete an active sender, you must first activate an inactive one

Tailscale
When connecting over Tailscale, you must supply the Tailscale<hostname>-krkn of the destination server. You may supply just the hostname and the -krkn will be appended to the end.
The client will also have to be registered separately on Tailscale as its own node. The client will use the existing Tailscale connection and will host the hostname value supplied in the config otherwise the systems default hostname will be used.
Auto-Completion
Autocompletion scripts can be added to your profile to allow tab completion and other features of the Krkn Client application.
Bash Sample


