statsprocessor

Description

Statsprocessor is a high-performance word generator based on per-position Markov statistics, provided as a single stand-alone binary.

For a detailed description of how Markov ordering works, see the Markov attack page.

statsprocessor is released as open source software under the MIT license.

Current Version

The current version is 0.11.

Download

The program is available for Linux and Windows in both 32-bit and 64-bit versions.

statsprocessor does not have a dedicated homepage, but you can download the latest version here:

Performance

  • AMD FX™-8120 Eight-Core Processor: 74.80 M/s (per core)

To avoid irregularities while testing, all output went into /dev/null.

Options

sp by atom, High-Performance word generator based on hashcat markov stats

Usage: ./sp64.bin [options]... hcstat-file [filter-mask]

* Startup:

  -V,  --version             Print version
  -h,  --help                Print help

* Increment:

       --pw-min=NUM          Start incrementing at NUM
       --pw-max=NUM          Stop incrementing at NUM

* Markov:

       --markov-disable      Emulates maskprocessor output
       --markov-classic      No per-position tables
       --threshold=NUM       Filter out chars after NUM chars added
                             Set to 0 to disable

* Misc:

       --combinations        Calculate number of combinations
       --hex-charset         Assume charset is given in hex

* Resources:

  -s,  --skip=NUM            skip number of words (for restore)
  -l,  --limit=NUM           limit number of words (for distributed)

* Files:

  -o,  --output-file=FILE    Output-file

* Custom charsets:

  -1,  --custom-charset1=CS  User-definable charsets
  -2,  --custom-charset2=CS  Example:
  -3,  --custom-charset3=CS  --custom-charset1=?dabcdef
  -4,  --custom-charset4=CS  sets charset ?1 to 0123456789abcdef

* Built-in charsets:

  ?l = abcdefghijklmnopqrstuvwxyz
  ?u = ABCDEFGHIJKLMNOPQRSTUVWXYZ
  ?d = 0123456789
  ?s =  !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
  ?a = ?l?u?d?s
  ?h = 8 bit characters from 0xc0 - 0xff
  ?D = 8 bit characters from german alphabet
  ?F = 8 bit characters from french alphabet
  ?R = 8 bit characters from russian alphabet

Example

The following example shows the output of statsprocessor.

root@sf:~/statsprocessor-0.07# ./sp64.bin --pw-min 5 --pw-max 5 hashcat.hcstat ?l?l?l?l?l | head -9
sange
songe
serin
singe
sunge
srane
shane
slane
snder

A Markov attack uses statistics about which letters follow others, based on the input dictionary used to generate the .hcstat file. In this example, the most common letter in the first position is “s”. The program looks up “s” in the Markov table to find the most common letter after “s” at position 0. Here, it is “a”. This chain continues to the end of the word and iterates through all letters stored in the Markov table.

Alternative solution

There is no known alternative that handles Markov ordering in this way, but the following program can generate wordlists and is partially configurable:

Except where otherwise noted, content on this wiki is licensed under the following license: Public Domain