ptt

command module
v0.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 15, 2024 License: MIT Imports: 10 Imported by: 0

README

Password Transformation Tool (ptt) is a versatile utility designed for password cracking. It facilitates the creation of custom rules and transformations, as well as the generation of wordlists. This tool supports processing data from files, URLs, and standard input, streamlining cracking workflows.

Features:

  • Transform input strings with various modes.
  • Creates Hashcat rules and masks from input strings.
  • Transforms input strings with a variety of functions for password cracking.
  • Accepts input from multiple sources including; standard input, files, and URLs.
  • All transformations support multibyte characters.
Usage of Password Transformation Tool (ptt) version (0.2.1):

ptt [options] [...]
Accepts standard input and/or additonal arguments.

Options:
  -b    Bypass map creation and use stdout as primary output.
  -d int
        Enable debug mode with verbosity levels [0-2].
  -f value
        Read additional files for input.
  -i value
        Starting index for transformations if applicable. Accepts ranges separated by '-'.
  -k value
        Only keep items in a file.
  -l value
        Keeps output equal to or within a range of lengths. Accepts ranges separated by '-'.
  -m int
        Minimum numerical frequency to include in output.
  -n int
        Maximum number of items to display in verbose statistics output. (default 25)
  -o string
        Output to JSON file in addition to stdout.
  -r value
        Only keep items not in a file.
  -rm string
        Replacement mask for transformations if applicable. (default "uldsb")
  -t string
        Transformation to apply to input.
  -tf value
        Read additional files for transformations if applicable.
  -tp value
        Read a template file for multiple transformations and operations.
  -u value
        Read additional URLs for input.
  -v    Show verbose output when possible.
  -vv
        Show statistics output when possible.
  -vvv
        Show verbose statistics output when possible.
  -w int
        Number of words to generate for passphrases if applicable.

The -f, -k, -r, -tf, -tp, and -u flags can be used multiple times and together.

Transformation Modes:
  -t append
        Transforms input into append rules.
  -t append-remove
        Transforms input into append-remove rules.
  -t append-shift
        Transforms input into append-shift rules.
  -t decode
        Transforms input by URL, HTML, and Unicode escape decoding.
  -t dehex
        Transforms input by decoding $HEX[...] formatted strings.
  -t encode
        Transforms input by URL, HTML, and Unicode escape encoding.
  -t hex
        Transforms input by encoding strings into $HEX[...] format.
  -t insert -i [index]
        Transforms input into insert rules starting at index.
  -t mask -rm [uldsb] -v
        Transforms input by masking characters with provided mask.
  -t mask-match -tf [file]
        Transforms input by keeping only strings with matching masks from a mask file.
  -t mask-retain -rm [uldsb] -tf [file]
        Transforms input by creating masks that still retain strings from file.
  -t mask-swap -tf [file]
        Transforms input by swapping tokens from a partial mask file and a input file.
  -t overwrite -i [index]
        Transforms input into overwrite rules starting at index.
  -t passphrase -w [words] -tf [file]
        Transforms input by randomly generating passphrases with a given number of words and separators from a file.
  -t pop -rm [uldsb]
        Transforms input by generating tokens from popping strings at character boundaries.
  -t prepend
        Transforms input into prepend rules.
  -t prepend-remove
        Transforms input into prepend-remove rules.
  -t prepend-shift
        Transforms input into prepend-shift rules.
  -t remove -rm [uldsb]
        Transforms input by removing characters with provided mask characters.
  -t swap -tf [file]
        Transforms input by swapping tokens with exact matches from a ':' separated file.
  -t toggle -i [index]
        Transforms input into toggle rules starting at index.

Getting Started:

Documentation on usage and examples can be found in the /docs directory or on the repository here: link

Install:

Source:

Fast method with Go installed:

go install github.com/jakewnuk/ptt@latest

Slow method with Go installed:

git clone https://github.com/JakeWnuk/ptt && cd ptt && go build ./main.go && mv ./main ~/go/bin/ptt && ptt
Docker:

Pull the latest image from Docker Hub:

docker run -it -v ${PWD}:/data jwnuk/ptt

Build the Docker image from the Dockerfile:

git clone https://github.com/JakeWnuk/ptt && cd ptt && docker build -t ptt . && docker run -it -v ${PWD}:/data ptt

Documentation

Overview

Package main controls the user interaction logic for the application

Directories

Path Synopsis
pkg
format
Package format contains functions for printing and formatting output
Package format contains functions for printing and formatting output
mask
Package mask handles the transformation of a string into a masks
Package mask handles the transformation of a string into a masks
models
Package models contains models used by the application
Package models contains models used by the application
rule
Package rule contains the transformation logic to convert input into Hashcat rules
Package rule contains the transformation logic to convert input into Hashcat rules
transform
Package transform contains logic for transforming input maps
Package transform contains logic for transforming input maps
utils
Package utils provides utility functions for the application.
Package utils provides utility functions for the application.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL