# Psudohash | Password List Generator That Focuses On Keywords Mutated By Commonly Used Password Creation Patterns

**URL:** <https://onehack.st/t/psudohash-password-list-generator-that-focuses-on-keywords-mutated-by-commonly-used-password-creation-patterns/224512>\
**Category:** Tools & Scripts\
**Tags:** tools, privacy\
**Created:** [September 29, 2022, 8:31pm UTC](https://onehack.st/t/psudohash-password-list-generator-that-focuses-on-keywords-mutated-by-commonly-used-password-creation-patterns/224512 "2022-09-29T20:31:28Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![WhiteHat](https://onehack.st/user_avatar/onehack.st/whitehat/32/162514_2.png) [@WhiteHat](https://onehack.st/u/WhiteHat)\
**Post date:** [September 29, 2022, 8:31pm UTC](https://onehack.st/t/psudohash-password-list-generator-that-focuses-on-keywords-mutated-by-commonly-used-password-creation-patterns/224512/1 "2022-09-29T20:31:29Z")

</div>

![image](https://onehack.st/uploads/default/original/3X/9/5/95fc0c0c22985d179300421806835319305e159d.png)

[![Python 3.x](https://camo.githubusercontent.com/c653b4074c5c5998838f96060afebf90b7974d2a3b754f43c1bef940900905fd/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f707974686f6e2d332e782d79656c6c6f772e737667)](https://www.python.org/) [![License](https://camo.githubusercontent.com/f6ac67468ffb89e8d0e8083d625d5a989cf22caec52d49498a72977dbd4d60c9/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d7265642e737667)](https://github.com/t3l3machus/psudohash/blob/main/LICENSE) [![](https://camo.githubusercontent.com/8a66685edd914ed0beae92bcc52dd74cc157760bea27623b4341551951cf032c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4d61696e7461696e65642533462d5965732d323361383263)](https://camo.githubusercontent.com/8a66685edd914ed0beae92bcc52dd74cc157760bea27623b4341551951cf032c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4d61696e7461696e65642533462d5965732d323361383263)

## Purpose

psudohash is a password list generator for orchestrating brute force attacks. It imitates certain password creation patterns commonly used by humans, like substituting a word’s letters with symbols or numbers, using char-case variations, adding a common padding before or after the word and more. It is keyword-based and highly customizable.

### Pentesting Corporate Environments

System administrators and other employees often use a mutated version of the Company’s name to set passwords (e.g. Am@z0n\_2022). This is commonly the case for network devices (Wi-Fi access points, switches, routers, etc), application or even domain accounts. With the most basic options, psudohash can generate a wordlist with all possible mutations of one or multiple keywords, based on common character substitution patterns (customizable), case variations, strings commonly used as padding and more. Take a look at the following example: [![usage_example_png](https://camo.githubusercontent.com/d31e900c0c8d74bcc16b709f91c3b2828c5b86fb76f31e96dc49ca364e895cc3/68747470733a2f2f7261772e6769746875622e636f6d2f74336c336d61636875732f707375646f686173682f6d61737465722f53637265656e73686f74732f6d732d6578616d706c652e706e67)](https://camo.githubusercontent.com/d31e900c0c8d74bcc16b709f91c3b2828c5b86fb76f31e96dc49ca364e895cc3/68747470733a2f2f7261772e6769746875622e636f6d2f74336c336d61636875732f707375646f686173682f6d61737465722f53637265656e73686f74732f6d732d6578616d706c652e706e67)

The script includes a basic character substitution schema. You can add/modify character substitution patterns by editing the source and following the data structure logic presented below (default):

```auto
transformations = [
	{'a' : '@'},
	{'b' : '8'},
	{'e' : '3'},
	{'g' : ['9', '6']},
	{'i' : ['1', '!']},
	{'o' : '0'},
	{'s' : ['

```

### Individuals

When it comes to people, i think we all have (more or less) set passwords using a mutation of one or more words that mean something to us e.g., our name or wife/kid/pet/band names, sticking the year we were born at the end or maybe a super secure padding like “!@#”. Well, guess what?

[![usage_example_png](https://camo.githubusercontent.com/6d0cd62b5ca89c1a784785f962f4c30a9ce74bf83cec026b026f7be6b9551ed2/68747470733a2f2f7261772e6769746875622e636f6d2f74336c336d61636875732f707375646f686173682f6d61737465722f53637265656e73686f74732f6d756c7469706c652d776f7264732e706e67)](https://camo.githubusercontent.com/6d0cd62b5ca89c1a784785f962f4c30a9ce74bf83cec026b026f7be6b9551ed2/68747470733a2f2f7261772e6769746875622e636f6d2f74336c336d61636875732f707375646f686173682f6d61737465722f53637265656e73686f74732f6d756c7469706c652d776f7264732e706e67)

## Installation

No special requirements. Just clone the repo and make the script executable:

```auto
git clone https://github.com/t3l3machus/psudohash
cd ./psudohash
chmod +x psudohash.py

```

## Usage

```auto
./psudohash.py [-h] -w WORDS [-an LEVEL] [-nl LIMIT] [-y YEARS] [-ap VALUES] [-cpb] [-cpa] [-cpo] [-o FILENAME] [-q]

```

The help dialog [-h, --help] includes usage details and examples.

## Usage Tips

1. Combining options `--years` and `--append-numbering` with a `--numbering-limit` ≥ last two digits of any year input, will most likely produce duplicate words because of the mutation patterns implemented by the tool.
2. If you add custom padding values and/or modify the predefined common padding values in the source code, in combination with multiple optional parameters, there is a small chance of duplicate words occurring. psudohash includes word filtering controls but for speed’s sake, those are limited.

## Future

I’m gathering information regarding commonly used password creation patterns to enhance the tool’s capabilities., ‘5’]},  
{‘t’ : ‘7’}  
]

```auto

### Individuals

When it comes to people, i think we all have (more or less) set passwords using a mutation of one or more words that mean something to us e.g., our name or wife/kid/pet/band names, sticking the year we were born at the end or maybe a super secure padding like "!@#". Well, guess what?

[![usage_example_png](https://camo.githubusercontent.com/6d0cd62b5ca89c1a784785f962f4c30a9ce74bf83cec026b026f7be6b9551ed2/68747470733a2f2f7261772e6769746875622e636f6d2f74336c336d61636875732f707375646f686173682f6d61737465722f53637265656e73686f74732f6d756c7469706c652d776f7264732e706e67)](https://camo.githubusercontent.com/6d0cd62b5ca89c1a784785f962f4c30a9ce74bf83cec026b026f7be6b9551ed2/68747470733a2f2f7261772e6769746875622e636f6d2f74336c336d61636875732f707375646f686173682f6d61737465722f53637265656e73686f74732f6d756c7469706c652d776f7264732e706e67)

## Installation

No special requirements. Just clone the repo and make the script executable:

```

DISCOURSE\_PLACEHOLDER\_2

```auto

## Usage

```

DISCOURSE\_PLACEHOLDER\_3

```auto

The help dialog [-h, --help] includes usage details and examples.

## Usage Tips

1. Combining options `DISCOURSE_PLACEHOLDER_4` and `DISCOURSE_PLACEHOLDER_5` with a `DISCOURSE_PLACEHOLDER_6` ≥ last two digits of any year input, will most likely produce duplicate words because of the mutation patterns implemented by the tool.
2. If you add custom padding values and/or modify the predefined common padding values in the source code, in combination with multiple optional parameters, there is a small chance of duplicate words occurring. psudohash includes word filtering controls but for speed's sake, those are limited.

## Future

I'm gathering information regarding commonly used password creation patterns to enhance the tool's capabilities.

GitHub:
-
https://github.com/t3l3machus/psudohash
```
