Skip to content
This repository was archived by the owner on Dec 22, 2023. It is now read-only.

Passwords List Generator #81

Merged
merged 1 commit into from
Oct 1, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions Scripts/Miscellaneous/Passwords_List_Generator/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Custom Wordlist Generator

As you Know that when you perform a Brute-Force attack you need to have wordlist that has multiple passwords. Most of the wordlist available in the internet is made up of random possible passwords. But think of a situation where you need to exploit a person whose password is related to his pet's name like Schmuserkadser(Famous meme of the crying cat). In that situation, there is a very less chance that you are gonna find a wordlist containing the specific pet's name. So this program will help you to solve this task!

## How to run the script

```
python3 main.py
```

## PoC

[![asciicast](https://asciinema.org/a/pYHj8vu1zQ6t4SYgAVpAaDzT2.png)](https://asciinema.org/a/pYHj8vu1zQ6t4SYgAVpAaDzT2)


## Author name
<a href="https://github.com/madhavmehndiratta">Madhav Mehndiratta</a>
68 changes: 68 additions & 0 deletions Scripts/Miscellaneous/Passwords_List_Generator/main.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
'''
This program takes keywords as input and then joins them to create a wordlist.
'''

def get_information():
information = []
information.append(input("Enter victim's First name: "))
information.append(input("Enter victim's Second name: "))
information.append(input("Enter victim's Nickname: "))
information.append(input("Enter Birth Year: "))
information.append(input("Enter Birth Month: "))

more = input("Would you like to add more information? [y/N]: ")
if more.lower() == 'y':
more_info = input("Enter related keywords separated by commas: ").replace(" ", "")
info_list = more_info.split(",")
for element in info_list:
information.append(element)
leet_mode = input("Would you like to enable leet mode? (Eg: hacker = h4ck3r) [Y/N]: ")
if leet_mode.lower() == 'y':
leet_mode = "1"
elif leet_mode.lower() == 'n':
leet_mode = "0"
else:
print("[-] Incorrect value. Enabling by default...")
leet_mode = "1"

file_name = input("Enter the name of the output file: ")
return information, leet_mode, file_name

# Code for Leet mode (Example: hacker = h4ck3r) [This replaces all common letters with identical numbers]
def leet_mod(list1):
list2 = []
for element in list1:
list2.append(element.replace('a', '4'))
list2.append(element.replace('i', '1'))
list2.append(element.replace('o', '0'))
list2.append(element.replace('e', '3'))
list2.append(element.replace('t', '7'))
list2.append(element.replace('A', '4'))
list2.append(element.replace('i', '1'))
list2.append(element.replace('E', '3'))
list2.append(element.replace('T', '7'))
list2.append(element.replace('O', '0'))
list3 = list1 + list2
return list3

def make_wordlist(information, file_name,):
with open(file_name, 'w') as wordlist:
for element in information:
wordlist.write(element + '\n')
wordlist.write(element.lower() + '\n')
wordlist.write(element.upper() + '\n')
for element2 in information:
wordlist.write(element.lower() + element2 + '\n')
wordlist.write(element.upper() + element2 + '\n')
wordlist.write(element.upper() + element2.lower() + '\n')
wordlist.write(element.lower() + element2.lower() + '\n')
wordlist.write(element.lower() + element2.upper() + '\n')
wordlist.write(element.upper() + element2.upper() + '\n')


(information, leet_mode, file_name) = get_information()
if leet_mode == "1":
information = leet_mod(information)
make_wordlist(information, file_name)

print("Wordlist Generated Successfully!")
Loading