Welcome {{ loggedInUser?.username }}
Change Password
Your account is externally managed and you cannot set a password.
| Setting | Value |
|---|---|
| Automatically sync list files to agents | |
| Number of jobs per agent for each attack (recommended: 1) | |
| Setting | Value |
|---|---|
| Enable username/password login | |
| Require password change on first login | |
| Enable Single-Sign On (OIDC) | |
| Require MFA (WebAuthn) | |
| Setting | Value |
|---|---|
| Client ID | |
| Client Secret | |
| Issuer URL | |
| Base URL | |
| Redirect URL |
{{ displayRedirectURL }} - |
| UI Prompt to Sign-in | |
| Automatically create user on first login? | |
| Name of Username Claim | |
| Name of Role Claim (optional, only if requiring a role) | |
| Required Role (optional, leave blank to allow all SSO users) | |
| Additional Scopes (optional, comma separated) | |
| Setting | Value |
|---|---|
| Enable maintenance mode | |
| Maximum upload size (bytes) | |
| Maximum size of file to scan for line count (bytes) | |
User does not have a password set.
User currently has a password set.
| Username | Roles | Has Password Set? | Actions |
|---|---|---|---|
| {{ user.username }} | {{ user.roles.join(', ') }} |
|
|
| Option | Value |
|---|---|
| Wordlist | {{ hashcatParams.wordlist_filenames.map(id => listfileName(id)).join(', ') }} |
| Rules | {{ hashcatParams.rules_filenames.map(id => listfileName(id)).join(', ') }} |
| Mask | {{ hashcatParams.mask }} |
| Extra Options | {{ extraOptionsStr }} |
| Running Agent | Status | Total Hashrate | Time Started | Time Remaining | Time Taken | ||
|---|---|---|---|---|---|---|---|
| {{ getAgentName(job.assigned_agent_id) }} |
Job finished
{{ job.runtime_data.output_lines.length > 0 ? 'Job running' : 'Hashcat starting...' }}
Job pending
Job stopped
Job failed
Unknown state
|
{{ hashrateStr(job.runtime_summary.hashrate) }} | {{ timeDurationToReadable(job.runtime_summary.estimated_time_remaining) }} left | - | {{ timeBetween(job.runtime_summary.started_time * 1000, job.runtime_summary.stopped_time * 1000) }} | - |
No jobs were found for this attack
Agent: {{ getAgentName(selectedJob.assigned_agent_id) }}
{{ logLines }}
| Select | Name |
| {{ tmpl.name }} |
| Select | Name |
| {{ tmpl.name }} |
{{ props.text }}
| Username | Actions |
|---|---|
| {{ user?.username }} |
|
| Option | Value |
|---|---|
| Existing Project | {{ projectsStore.byId(inputs.selectedProjectId)?.name ?? 'Unknown' }} |
| Project Name | {{ inputs.projectName }} |
| Option | Value |
|---|---|
| Hashlist Name | {{ inputs.hashlistName }} |
| Hashlist Type | {{ selectedHashType?.id }} - {{ selectedHashType?.name }} |
| Number of Hashes | {{ hashesArr.length }} |
| Select | Name | Number of lines |
| {{ file.name }} | {{ file.lines }} |
Length: {{ effectiveLength }}
Your account is externally managed and you cannot set a password.
| Name | Active Job Count | Version | Devices | Status | Maintenance | |
|---|---|---|---|---|---|---|
| {{ agent.name }} | {{ pluralise(agent.agent_info.active_job_ids?.length ?? 0, 'active job') }} | {{ agent.agent_info.version }} |
|
|
| Type | Name | Actions |
|---|---|---|
|
|
{{ tmpl.name }} |
|
| Original Hash | Hash Type | Cracked Plaintext | |
|---|---|---|---|
| {{ result.hash }} | {{ getHashTypeName(result.hash_type) }} - {{ result.hash_type }} | Unknown | {{ decodeHex(result.plaintext_hex) || '-' }} |
| Username | Original Hash | Cracked Plaintext |
|---|---|---|
| {{ hash.username }} |
|
{{ decodeHex(hash.plaintext_hex) || '-' }} |
| Attack Mode | Status | Total Hashrate | Time Remaining | |||
|---|---|---|---|---|---|---|
| {{ getAttackModeName(attack.hashcat_params.attack_mode) }} |
{{ attack.progress_string }}
|
{{ quantityStr(numJobsFinished(attack), 'job') }} finished
{{ quantityStr(numJobsRunning(attack), 'job') }} running
{{ quantityStr(numJobsQueued(attack), 'job') }} pending
{{ quantityStr(numJobsStopped(attack), 'job') }} stopped
{{ quantityStr(numJobsFailed(attack), 'job') }} failed
|
No jobs
|
{{ hashrateStr(hashrateSum(attack)) }} | {{ timeDurationToReadable(Math.max(...attack.jobs.map(x => x.runtime_summary.estimated_time_remaining), 0)) }} left | - |
| Type | Name | Size | Lines | Actions |
|---|---|---|---|---|
|
|
{{ listfile.name }}
|
{{ bytesToReadable(listfile.size_in_bytes) }} | {{ listfile.lines }} |
|
We need to verify your identity
You are required to enroll a security key
You are required to change your password
Welcome
{{ loginError }}
| User | Job Count |
|---|---|
| {{ row.username }} | {{ row.job_count }} |
Run the following script on the server you want to use for hash cracking. This script will install the agent and register it with the server.
{{ commandToRun }}
| Name | Version | Devices | Status | Maintenance | Actions |
|---|---|---|---|---|---|
| {{ agent.name }} | {{ agent.agent_info.version }} |
|
|
| Name |
Key
|
Ephemeral Agent? | Actions |
|---|---|---|---|
| {{ key.name || '-' }} | {{ key.key_hint }} |
|
|
| Name | Created | Actions |
|---|---|---|
|
{{ project.name }}
{{ quantityStr(activeAttacksStore.initialisingAttacksForProject(project.id).length, 'attack') }} processing
{{ quantityStr(activeAttacksStore.jobsForProject(project.id).length, 'job') }} running
|
|
|
| Name | Hash Type | Created | Actions |
|---|---|---|---|
|
{{ hashlist.name }}
{{ quantityStr(activeAttacksStore.initialisingAttacksForHashlist(hashlist.id).length, 'attack') }} processing
{{ quantityStr(activeAttacksStore.jobsForHashlist(hashlist.id).length, 'job') }} running
|
{{ hashlist.hash_type }} - {{ getHashTypeName(hashlist.hash_type) }} |
|
|