Skip to content
/ vimbrute Public

CLI tool built with Rust for multi-threaded bruteforcing of vim's "blowfish2" encryption

License

Notifications You must be signed in to change notification settings

wgslr/vimbrute

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This crate is a tool for multi-threaded brute forcing passwords of a file encrypted using vim "blowsfish2" encryption type.

Requires rust nightly.

Installation

The crate currently is not hosted on crates.io. To install by building locally, run

rustup run nightly cargo install --git https://github.com/wgslr/vimbrute.git --branch=stable vimbrute

or download a x64 Linux binary from releases page.

Usage

vimbrute -f encrypted_file -t4 < passwords_dictionary | tee promising_passwords

Reads standard input for passwords to try, assuming one password per line. A password is deemed valid if decryption of the first 256 bytes of FILE produces a valid utf8 string (ignoring possible trailing split character). Such passwords are printed on the stdout. The program quits when stdin stream ends, NOT after finding first match.

Options

  • -f/--file - required, path to the encrypted FILE
  • -t/--threads (default: 1) - number of threads

Exit code

  • 0 - a match was found
  • 1 - no match was found
  • 2 - other errors occured

Performance

On my 4 core Intel Core i5-3570 it achieves:

  • 4140 passwords/second with -t4
  • 1118 passwords/second with -t1

LICENSE

MIT.

Parts of the crypto-related code were adapted from SirVer's vimdecrypt.

About

CLI tool built with Rust for multi-threaded bruteforcing of vim's "blowfish2" encryption

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages