Skip to content
danielpclarkPublic

About

Multi-threaded AES Brute Force File Decryption

Topics

Resources

Stars

28 stars

Watchers

2 watching

Forks

Latest commit

 

History

110 Commits

Folders and files

Repository files navigation

CI

abrute - Multi-threaded AES Brute Force File Decryption

Abrute is a multi-threaded brute force file decryption tool. Many features have been added to this including a resume feature, a JSON endpoint, computer clustor workload splitting, character adjacency limitting, and custom CLI reporters. Abrute will decrypt the .aes and .zip extension files on any Linux compatible system.

AES Crypt (.aes) decryption is performed in-process by the pure-Rust aescry crate, so no external aescrypt binary is required. Only .zip decryption still shells out to the system unzip command.

Installation

To use the install script you need to have the following commands available on your system curl wget unzip sudo cc.


For Ubuntu and Docker images of Ubuntu you can install these prerequisites with:

apt-get update && apt-get install curl wget unzip sudo build-essential

NOTE: if you are not root you may need to precede apt-get with sudo


The install.sh script will check for Rust and proceed to install it if it is missing (it will ask you if you want to install Rust).

First download the installation script locally.

curl https://raw.githubusercontent.com/danielpclark/abrute/master/install.sh > install.sh

Then verify that the contents of the installation script is safe to use (a no brainer). Then run

bash install.sh

This install script will use sudo to copy the binary directly to /usr/bin and make the command abrute available to you everywhere.

Manual Installation

You need to have Rust installed.

curl https://sh.rustup.rs -sSf | sh

Then you can get and compile abrute.

git clone https://github.com/danielpclark/abrute.git
cd abrute
cargo build --release
sudo cp target/release/abrute /usr/bin/

Usage

  USAGE:  abrute <RANGE> <CHARACTERS> [OPTIONS] -- <TARGET>
  
   <RANGE>         Single digit or a range 4:6 for password length.
   <CHARACTERS>    Characters to use in password attempt. Don't use quotes
                   unless they may be in the password. Backslash may escape
                   characters such as space.
   -a, --adjacent  Set a limit for allowed adjacent characters. Zero will
                   not allow any characters of the same kind to neighbor
                   in the attempts.
   -s, --start     Starting character sequence to begin with.
   -z, --zip       Use `unzip` decryption instead of AES Crypt.
   -c, --chunk     Workload chunk size per core before status update.
                   Defaults to 32.
   --cluster       Takes an offset and cluster size such as 1:4 for the
                   first system in a cluster of 4.  Helps different systems
                   split the workload without trying the same passwords.
   -r, --reporter  Use `spinner`, or `benchmark` to use a different command
                   line reporter.
   <TARGET>        Target file to decrypt.  The target must be preceeded
                   by a double dash: -- target.aes
   -h, --help      Prints help information.
   -v, --version   Prints version information.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

About

Multi-threaded AES Brute Force File Decryption

Topics

Resources

Stars

28 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages