• Stars
    star
    356
  • Rank 119,446 (Top 3 %)
  • Language
    Rust
  • License
    MIT License
  • Created almost 3 years ago
  • Updated 11 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A multi-threaded PDF password cracking utility equipped with commonly encountered password format builders and dictionary attacks.

PDFRip

A multi-threaded PDF password cracking utility equipped with commonly encountered password format builders and dictionary attacks.

πŸ“– Table of Contents

ℹ️ Introduction

pdfrip is a fast multithreaded PDF password cracking utility written in Rust with support for wordlist based dictionary attacks, date and number range bruteforcing, and a custom query builder for password formats.

Features

  • Fast: Performs about 50k-100k+ passwords per second utilising full CPU cores.
  • Custom Query Builder: You can write your own queries like STRING{69-420} which would generate and use a wordlist with the full number range.
  • Date Bruteforce: You can pass in a year which would bruteforce all 365 days of the year in DDMMYYYY format which is a pretty commonly used password format for PDFs.
  • Number Bruteforce: Just give a number range like 5000-100000 and it would bruteforce with the whole range.

Installation

$ curl -L https://github.com/mufeedvh/pdfrip/releases/download/v1.0.0/pdfrip_amd64 -o pdfrip

(Linux AMD x86-64)

OR

Download the executable from Releases for your OS.

OR

Install with cargo:

$ cargo install --git https://github.com/mufeedvh/pdfrip.git

Install Rust/Cargo

Build From Source

Prerequisites:

  • Git
  • Rust
  • Cargo (Automatically installed when installing Rust)
  • A C linker (Only for Linux, generally comes pre-installed)
$ git clone https://github.com/mufeedvh/pdfrip.git
$ cd pdfrip/
$ cargo build --release

The first command clones this repository into your local machine and the last two commands enters the directory and builds the source in release mode.

Usage

Get a list of all the arguments:

$ pdfrip --help

Start a dictionary attack with a wordlist:

$ pdfrip -f encrypted.pdf wordlist rockyou.txt

Bruteforce number ranges for the password:

$ pdfrip -f encrypted.pdf range 1000 9999

Bruteforce all dates in a year for the password in DDMMYYYY format:

$ pdfrip -f encrypted.pdf date 1999

Build a custom query to generate a wordlist: (useful when you know the password format)

$ pdfrip -f encrypted.pdf custom-query ALICE{1000-9999}

$ pdfrip -f encrypted.pdf custom-query DOC-ID{0-99}-FILE

Enable preceding zeros for custom queries: (which would make {10-5000} to {0010-5000} matching the end range's digits)

$ pdfrip -f encrypted.pdf custom-query ALICE{10-9999} --add-preceding-zeros

Contribution

Ways to contribute:

  • Suggest a feature
  • Report a bug
  • Fix something and open a pull request
  • Help me document the code
  • Spread the word

License

Licensed under the MIT License, see LICENSE for more information.

More Repositories

1

moonwalk

Cover your tracks during Linux Exploitation by leaving zero traces on system logs and filesystem timestamps.
Rust
1,252
star
2

binserve

A fast production-ready static web server with TLS (HTTPS), routing, hot reloading, caching, templating, and security in a single-binary you can set up with zero code.
Rust
903
star
3

basecrack

Decode All Bases - Base Scheme Decoder
Python
472
star
4

CVE-2019-8449

CVE-2019-8449 Exploit for Jira v2.1 - v8.3.4
Python
66
star
5

paydept

πŸ™Œ Shows every open-source dependency you use in your system that accept donations. πŸ’
Rust
44
star
6

seclip

A CLI utility to secretly copy secrets to clipboard. πŸ”’πŸ“
Rust
36
star
7

gisture

A minimal and flexible blog generator based on GitHub Gist.
Rust
30
star
8

log4jail

A firewall reverse proxy for preventing Log4J (Log4Shell aka CVE-2021-44228) attacks.
Rust
24
star
9

l33tmario

Mario the game but you rescue the princess by hacking.
PHP
21
star
10

regretti

A programming language where comments are the first-class citizen and ASCII art flowcharts are the controls!
Rust
18
star
11

okjson

A fast, simple, and pythonic JSON Schema Validator.
Python
5
star
12

ajnatham

An encrypted data storage for notes, passwords, private keys and the like in a single binary with GUI, API and Markdown support.
Rust
5
star
13

website

mufeedvh.com :)
HTML
4
star
14

tupperplot

Tupper's self-referential formula plotting itself on a framebuffer with Rust.
Rust
3
star
15

wordlentropy

Naive and quick Wordle optimal starting word Analysis.
Rust
2
star
16

cheatsheets

my personal cheatsheets.
2
star
17

project-euler

practicing project euler in random languages to build a habit and for fun.
Julia
1
star
18

configuration

my random configs.
Shell
1
star
19

notes

random notes when i feel like it.
JavaScript
1
star