Skip to content
masterzorag edited this page Feb 5, 2017 · 12 revisions

bruteforge

A selective data combinator.

License: GPL v3

How does it works

  • Parses a custom configuration file
  • Uses parsed data combining all possibilities, just like a bruteforce algorithm does
  • Write to STDOUT, according to output mode

Help screen

  bruteforge, a selective data combinator.
  -----------
  
  -c  pass a valid config file
  -l  set word lenght (default = max possible)
  -n  generate just n words
  -x  use HEX mode    (default = CHAR)
  
  Output:
  -b  binary output
  -w  print out wordlist
  -q  quiet run

Config file

It's a simple text file, containing single charsets that will be used, one per line.
Order fixes sorting, other than select composing data single values.
You can use one file for single task to store composing data, then use to generate plaintext wordlist or hexadecimal binary as well as (hashes) wordlist, or raw binary data (check test folder for examples).
Use -c config_file to read your data from file.

Locale and Codepage

The character encoding is relevant: since bruteforge works on single byte value, it can support 256 characters, defaulting to codepage ISO-8859-1.
When using Extended ASCII Codes, just make sure you have set locale, codepage and font for ISO-8859-1, else will get confused about generated output in your terminal, also check config_file character encoding after saved.

$ file test/test_4.ISO-8859-1
test/test_4.ISO-8859-1: ISO-8859 text

Characters or hex values

Use -x to parse and use data as hexadecimal values.

Word length

Use -l to lock word length.

Request number of combinations

Use -n to ask for just a fixed number of words.

Output mode

Output modes are mutually exclusive, you can select just one from:

  • write wordlist with -w
  • write binary data with -b
  • test your configuration running in quiet mode with -q, you can dump at any time by sending USR1 signal

Examples

  • parse config, using extended ascii codes
    $ ./bf -c test/test_4.ISO-8859-1

  • parse config, using hexadecimal values
    $ ./bf -c test/test_3 -x

  • write wordlist to STDOUT, or test hex mode with quiet output
    $ ./bf -c test/test_4.ISO-8859-1 -w
    $ ./bf -c test/test_3 -x -q

  • just ask 100 samples, as a wordlist
    $ ./bf -c test/test_1 -n 100 -w

  • hex mode, lock on 3 characters length, write wordlist, save to file
    $ ./bf -c test/test_3 -x -l 3 -w > file

  • hex mode, lock on 2 characters length, write raw data, save to file, verify

$ ./bf -c test/test_3 -x -l 2 -b > file.bin  
$ hexdump -C file.bin  
00000000  01 0a 01 ab 01 dd 02 0a  02 ab 02 dd 03 0a 03 ab  |................|  
00000010  03 dd                                             |..|  
  • hex mode, lock on 20 characters length, write raw data, pipe in your program
    $ ./bf -c test/test_3 -x -l 20 -b | ./test/read_stdin_demo -l 20
  • Parse config
    just parse
  • Marking last changed
    Mark
  • Sending -USR1 signal
    sending -USR1 signal
  • Extended ASCII Codes
    Extended ASCII Codes
  • Save last generated
    save
Clone this wiki locally