Skip to content

Task Creation Guidelines

Winxp5421 edited this page Jan 2, 2021 · 10 revisions

General

Task generation is one of the most difficult parts of Hashtopolis and can make the difference between a smooth experience and a terrible one. This section will be the "best practices" that you should follow. The formatting used here is not a requirement but if you are having issues with a particular task try changing it to the format found here. Remember some OS's are case sensitive even if you don't have a Unix machine now you may in the future.

NEVER use client specific parameters in your tasks: --gpu-temp-disable --gpu-temp-retain --opencl-devices should be placed into client the client specific "Extra parameters" field. This can be configured in agents.php then click on agent name

Attack modes

Below is the correct format you should be using when entering tasks into Hashtopolis.

Straight

Example: -a0 #HL# Wordlist.txt

Straight + Rules

Example -a0 #HL# Wordlist.txt -r Rules.rule

You can stack rule files with hashcat -r Rules.rule -r Rules2.rule

Combination

Example: -a1 #HL# Wordlist.Left Wordlist.Right

Brute-force

Example: -a3 #HL# ?a?a?a?a?a?a

Example: -a3 #HL# -1 Custom.hcchar ?1?1?1?1?1?1

Custom character files can and should be specified especially when dealing with special characters in masks. Simply place the characters you wish to run into a txt document and place the file into your command like any other wordlist. Be sure you specify the custom mask option (-1,-2,-3,-4) before the hcchar file. This prevents nasty command line confusion with special/escape characters.

Brute-force Increment

Due to the way Hashcat handles incremental commands, you must separate your -i command into individual Brute-force tasks. To achieve the same functionality as a -i task you can add each mask as a preconfigured task then add each preconfigured task to a supertask.

Hashcat Increment Example: -a3 -i #HL# ?a?a?a?a

HtP equivalent "Increment" Exmaple:

Preconfigured task #1 -a3 #HL# ?a

Preconfigured task #2-a3 #HL# ?a?a

Preconfigured task #3-a3 #HL# ?a?a?a

Preconfigured task #4-a3 #HL# ?a?a?a?a

Supertask contains {#1,#2,#3,#4}

Hybrid

Example:-a6 #HL# Wordlist.txt ?a?a?a?a?a?a

Example:-a7 #HL# ?a?a?a?a?a?a Wordlist.txt

Example:-a7 #HL# -1 Custom.hcchar ?1?1?1?1 Wordlist.txt

Be mindful of the ordering of wordlist and mask. hashcat requires the ordering to match the mode you are running. Please see Brute-force section for Custom.hcchar explanation.

PRINCE

Starting with version 0.7.0 Hashtopolis allows creating tasks with PRINCE (https://github.com/hashcat/princeprocessor). In the task creation you can select that it is a prince task. This means that the dictionary you enter will be passed to prince instead of hashcat, the rules still will be passed to hashcat (amplifiers). So you are only allowed to enter prince specific parameters (mostly you only need to provide the dictionary you would like to use). There are some special behaviors when using a prince task, e.g. it's often not possible to show a keyspace on the webpage, therefore there is no progress image and also no overall progress. It just runs as long as you let it. Important: It is recommended always to use a certain amount of rules (at least 1k-2k recommended) when using fast hash algorithms (e.g. MD5, SHA1) because otherwise GPUs most likely cannot be fully used as prince will not be fast enough to provide candidates. Also when not having enough rules, most likely the benchmark of the prince task will not be ideal and the chunk sizes might vary.

Task Settings

Here some specific task settings are listed which are mostly for the pro users and maybe need a deeper knowledge of Hashcat and/or Hashtopolis. Please be careful when using any of these options.

Static Chunking

Static chunking allows you to skip the benchmarking phase of a task and set specific numbers how the chunks should be generated. This mostly is using if you have very homogeneous setups and know how you want to have the task distributed to them.

There are two options you can set:

  • Set a fixed number of chunks for the whole task. So there will be X equal sized chunks.
  • Set a fixed chunk length (--length parameter in Hashcat) for the task, so all chunks will have the same size for all agents.