Elpscrk : An Intelligent Common User-Password Profiler Based On Permutations And Statistics

Elpscrk is an Intelligent common user-password profiler that’s named after the same tool in Mr. Robot series S01E01.

In simple words, elpscrk will ask you about all info you know about your target then will try to generate every possible password the target could think of, it all depends on the information you give, the flags you activate, and the level of complication you specify.

There are 6 levels of complications in elpscrk for each type of target out there, starts from the simple person which is the default to nerd person, paranoid person till the final boss level which is nuclear level which could generate 1000000 passwords or more. 

Elpscrk is like cupp, but it’s based on permutations and statistics while being memory efficient. So you will get more results in nearly no time, complication levels for each type of user, and very customizable results as you will see in the usage part.

Screenshot

Usage

It’s simple you just run the script and will prompt ask you about the info you know about the target then it will make permutations lists of each common mixes of the data as you will see next.

For more advanced usages and customizations, there are some things you need to pay attention to:

  • Complication levels

It says how simple you want the generated passwords to be. So, for example given names:

  • At level 0, which is the default, each name you give will be converted to (UPPERCASE, lowercase), the First letter will be converted to (UPPERCASE, lowercase),
    and first two letter will be converted to (UPPERCASE, lowercase, capitalized).
  • At level 1, you will see all things from level 0 but also each name reversed, and each first two letters of each name will be reversed too.

Here’s a table explaining the whole complication levels:

Note: In the general idea column, every thing mentioned is being used in many (common/not common) mixtures not alone

LevelGeneral idea
0 – Simple personThis is the default level, here you expect a lot of things like names permutations explained above, dates are splited to groups of days, months, years, last two number of year like 1990 & 90, phone numbers are converted to national format with a list of first/last four numbers as it’s commonly used and so on.
1 – Average personUsing this level will add some interesting things like for names, each name reversed, and each first two letters of each name will be reversed too, for dates, 0 will be appended to (days, months) lower than 10 so 5 will be 05 & 5 of course, last 3 numbers of year will be used also so 1990 will give 990.
2 – Cyber awarenessBy default, old passwords you give will be used as it’s given and any special chars will be removed from it, but starting from level 2 each given old password will be converted to (UPPERCASE, lowercase, capitalized, reversed) forms.
3 – Paranoid personBy default, if you used the --chars flag, elpscrk will use the 10 most common chars as you are in level 0 or 1 but starting with 3 it will use the whole special characters set allowed in passwords (See references).
4 – Nerd personFor level 3 and lower, elpscrk will be using orders pairs to make sure permutations are in order and cuts a lot of uncommon password forms in the mixes, now using level 4 will use same common mixtures but without pairs so for example instead of getting passwords of (names & dates), you will get mixes of (names & dates, names & names, dates & dates,…) and so on
5 – Nuclear!Here is where shit hits the fan 😆, elpscrk will starting using not common and not very realistic results for the most complicated unhuman targets lol.

Note: Before all permutations in these levels starts, elpscrk will generate some of the most used forms of passwords using simple addition like cupp just to make sure it will be in the results.

  • Leet flag

When you enable the leet flag, elpscrk will work as normal and after finishing and exporting the results then it will start getting all leet permutations of all passwords and saves them into new file.

So, for example a name like karim will result to ['k4r1m', 'k4rim', 'kar1m', 'karim']

  • Years and numbers ranges

Using -y/--years option and giving it a year like 1980 will make elpscrk mix all passwords with all the years from 1980 till 2022 (Year we are currently in+1) so you expect passwords like these:

karim1980
1981karim

karim2022

and so on, the same applies to -r/--num-range option giving it number like 100 will add all numbers from 0 till 100 so expect passwords like karim99, 99karim, karim100

Installation

  • It should run on any OS but needs python 3.6 and above.
  • Clone the repo and in its directory install requirements like that: pip install -r requirements.txt or this one python3 -m pip install -r requirements.txt if you have more than one version installed.
  • You are ready to go
R K

Recent Posts

Install Pip on Ubuntu 18.04: Python 3 and Python 2 Setup Guide

Pip is the official package manager for Python and the standard way to install libraries from…

2 days ago

Install R on Ubuntu 18.04 from CRAN: Statistical Computing Setup

R is an open-source programming language and environment built for statistical computing and data visualization. It…

2 days ago

Install Jenkins on Ubuntu 18.04: CI/CD Server Setup Guide

Jenkins is an open-source automation server that makes it easy to build CI/CD pipelines. Continuous integration…

2 days ago

Install Android Studio on Ubuntu 18.04 with Snap and OpenJDK 8

Android Studio is the official IDE for Android development, built on JetBrains' IntelliJ IDEA platform. It…

2 days ago

Install and Configure GitLab on Ubuntu 18.04 with Omnibus

GitLab is a web-based, open-source Git repository manager written in Ruby. It includes built-in tools for…

2 days ago

Install Anaconda on Ubuntu 18.04: Python Data Science Setup Guide

Anaconda is the most widely used Python distribution for data science and machine learning. It bundles…

3 days ago