https://github.com/after-the-sunrise/brutus
Brute-force password cracker. 'You forgot your password too?'
https://github.com/after-the-sunrise/brutus
brute-force java password-cracker zip
Last synced: 5 months ago
JSON representation
Brute-force password cracker. 'You forgot your password too?'
- Host: GitHub
- URL: https://github.com/after-the-sunrise/brutus
- Owner: after-the-sunrise
- License: agpl-3.0
- Created: 2016-12-11T15:53:03.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2023-12-23T01:35:19.000Z (over 2 years ago)
- Last Synced: 2023-12-24T01:45:19.597Z (over 2 years ago)
- Topics: brute-force, java, password-cracker, zip
- Language: Java
- Homepage:
- Size: 51.8 KB
- Stars: 7
- Watchers: 5
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# brutus
[![Build Status][travis-icon]][travis-page] [![Coverage Status][coverall-icon]][coverall-page]
## Overview
*'Brutus, so you forgot your password too?'*
Brutus is a [brute-force attack](https://en.wikipedia.org/wiki/Brute-force_attack) password cracker tool,
which simply generates a sequence of words following the predefined character combination,
and attempts to decrypt the file with each password until the correct one is found.
Needless to say, brute-force is *NOT* one of the most efficient algorithm out there, so
keep in mind that this tool is limited to be functional with simple passwords.
## Feature
Brutus currently supports the following file formats:
* `*.zip`
* `*.pdf`
* `*.txt`
Note that `*.txt` is to be used for testing purpose, which tries to match the clear-text value
written in the text file. This is intended to be used for measuring the speed of password generation.
Complexity of the password can be optionally specified, such as min/max number of characters and
types of characters (lower-case, upper-case, numbers, etc).
Execution parameters can also be specified, which includes the number of concurrent threads to use,
and time-out in case if the password is not found within the specified time interval.
See the [Configuration](#configuration) section of this documentation for the list of configurable parameters.
## Usage
### Prerequisites
* JDK 1.8 or later
* Maven 3 or later
* Internet connection for downloading dependencies.
### Preparation
Download the sources, and build the project to sanity check the environment.
Make sure that the build and test passes.
```bash
git clone "https://github.com/after-the-sunrise/brutus.git" "brutus"
cd brutus && mvn clean test
```
### Execution
Execute the application with [Exec Maven Plugin](http://www.mojohaus.org/exec-maven-plugin/),
specifying the file to decrypt. The file name's extension (cf: `.txt`, `.zip`)
is used to automatically determine and switch the decryption logic.
```bash
mvn exec:java -Dexec.args="-in /path/to/the/file.zip"
```
To configure the maximum length of password to attempt, specify the `-max` parameter.
```bash
mvn exec:java -Dexec.args="-in /path/to/the/file.zip -max 8"
```
### Configuration
For the list of configurable parameters, refer to the '--help' option.
```bash
mvn exec:java -Dexec.args="--help"
```
[travis-page]:https://travis-ci.org/after-the-sunrise/brutus
[travis-icon]:https://travis-ci.org/after-the-sunrise/brutus.svg?branch=master
[coverall-page]:https://coveralls.io/github/after-the-sunrise/brutus?branch=master
[coverall-icon]:https://coveralls.io/repos/github/after-the-sunrise/brutus/badge.svg?branch=master