├── .gitignore ├── README.md ├── generate-attacks.py ├── grab_and_convert.sh ├── hashcat ├── hashcat-output.txt ├── hashcat-potfile.txt ├── rules │ ├── 4-digit-append.rule │ ├── best64.rule │ ├── bssid.rule │ ├── d3ad0ne.rule │ ├── mobile.ua │ ├── names.rule │ ├── passphrase-rule1.rule │ ├── passphrase-rule2.rule │ ├── passphrases.rule │ ├── quick-ssid.rule │ ├── rockyou-30000.rule │ ├── ssid-ninja.rule │ ├── ssid.rule │ ├── unix-ninja-leetspeak.rule │ └── wifi.rule └── wordNinjaGenerator.py └── wordlists └── known-wpa-passwords.txt /.gitignore: -------------------------------------------------------------------------------- 1 | .env 2 | network-list.txt 3 | .idea 4 | handshakes 5 | hashcat/scripts 6 | ssh 7 | hashcat/hashcat 8 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # pwnagotchi-scripts 2 | 3 | #### Needless to say, this project is for EDUCATIONAL use only and is not intended for any illegal usage. 4 | 5 | Basically a linux version of [pwnagotchi-tools](https://github.com/mtagius/pwnagotchi-tools). These scripts will do the following: 6 | - SSH into pwnagotchi & pull .pcap handshakes 7 | - Convert pcap to hc22000 format for hashcat 8 | 9 | 10 | 11 | 12 | Required: 13 | - [hcxtools](https://launchpad.net/ubuntu/+source/hcxtools) `sudo apt-get -y install hcxtools` 14 | - [7z](https://www.7-zip.org/download.html) `sudo apt-get -y install p7zip-full` 15 | - [Hashcat 6.2+](https://hashcat.net/hashcat/) 16 | - [Cuda Toolkit (For GPU)](https://linuxconfig.org/how-to-install-cuda-on-ubuntu-20-04-focal-fossa-linux) 17 | - [Nvidia Drivers (For GPU)](https://linuxconfig.org/how-to-install-the-nvidia-drivers-on-ubuntu-20-04-focal-fossa-linux) 18 | 19 | ``` 20 | wget https://hashcat.net/files/hashcat-6.2.6.7z 21 | ``` 22 | Extract contents 23 | 24 | ``` 25 | 7z x hashcat* 26 | ``` 27 | Move to pwnagotchi-scripts hashcat directory 28 | 29 | ``` 30 | sudo mv hashcat-6.2.6 /path/to/pwnagotchi-scripts/hashcat/hashcat 31 | ``` 32 | 33 | ### Wordlists 34 | 35 | You will need to download the following wordlists. Move them to /pwnagotchi-scripts/wordlists directory 36 | * known-wpa-passwords.txt - This is your own personal list of your cracked wifi passwords. 37 | * [netgear-spectrum.txt](https://raw.githubusercontent.com/soxrok2212/PSKracker/master/dicts/netgear-spectrum/netgear-spectrum.txt) - The repo for this list is [here](https://github.com/soxrok2212/PSKracker) 38 | * [NAMES.DIC](https://www.outpost9.com/files/wordlists/names.zip)- Any list of all lowercase first names can replace this. 39 | * [words_alpha.txt](https://raw.githubusercontent.com/dwyl/english-words/master/words_alpha.txt) - Any list of all lowercase common words can replace this. 40 | * [hashesorg2019](https://weakpass.com/wordlist/1851) 41 | * [openwall.net-all.txt](https://raw.githubusercontent.com/danielmiessler/SecLists/master/Passwords/openwall.net-all.txt) 42 | * [rockyou](https://github.com/praetorian-code/Hob0Rules/blob/master/wordlists/rockyou.txt.gz) - The famous rockyou list. 43 | * [Top24Million-WPA-probable-v2.txt](https://github.com/berzerk0/Probable-Wordlists/blob/master/Real-Passwords/WPA-Length/Real-Password-WPA-MegaLinks.md) 44 | * [Top1pt8Billion-WPA-probable-v2.txt](https://github.com/berzerk0/Probable-Wordlists/blob/master/Real-Passwords/WPA-Length/Real-Password-WPA-MegaLinks.md) 45 | * [passphrases.txt](https://initstring.keybase.pub/passphrase-wordlist/passphrases.txt?dl=1) - The repo for this list is [here](https://github.com/initstring/passphrase-wordlist). 46 | * [Custom-WPA](https://weakpass.com/wordlist/490) 47 | * [Super-WPA](https://weakpass.com/wordlist/500) 48 | 49 | ### Configuration 50 | 51 | Configuration is very simple. You actually do not need to change anything if you extract hashcat and the wordlists to the configured directories. If you wish to change them however, you can modify the following in `grab_and_convert.sh` 52 | 53 | ``` 54 | SSHKEY= 55 | HASHCAT_LOCATION= 56 | WORDLIST_LOCATION= 57 | ``` 58 | # Running 59 | 60 | - Pull files from pwnagotchi, convert to hc2000 and create attack script. 61 | 62 | ``` 63 | sudo sh grab_and_convert.sh 64 | ``` 65 | 66 | - Crack with Hashcat 67 | 68 | ``` 69 | cd hashcat/scripts && sh hash.sh 70 | ``` 71 | 72 | -------------------------------------------------------------------------------- /generate-attacks.py: -------------------------------------------------------------------------------- 1 | # Modified version of generate-hashcat-scripts.py which can be found here: 2 | # https://github.com/mtagius/pwnagotchi-tools 3 | # Big thanks to the original author 4 | 5 | import os 6 | import logging 7 | from dotenv import load_dotenv 8 | from random import randint 9 | from pathlib import Path 10 | 11 | logging.basicConfig(level=logging.INFO, format='%(levelname)s: %(message)s') 12 | sessionScripts = [] 13 | 14 | # Load .env 15 | load_dotenv() 16 | project_path = Path(os.getenv("PROJECT_PATH", "")) 17 | hashcat_path = Path(os.getenv("HASHCAT_PATH", "")) 18 | wordlist_path = Path(os.getenv("WORDLIST_PATH", "")) 19 | 20 | if not all([project_path, hashcat_path, wordlist_path]): 21 | raise ValueError("Environment variables for PROJECT_PATH, HASHCAT_PATH, or WORDLIST_PATH are missing!") 22 | 23 | # Hashcat attack settings 24 | HASHCAT_SCRIPT_VERSION = "v1" 25 | TEMP_ABORT = "--hwmon-temp-abort=100" 26 | WORKLOAD_PROFILE = "-w 2" 27 | RULE_PATH = project_path / "hashcat/rules" 28 | WORD_NINJA_PATH = project_path / "hashcat" 29 | HASH_TYPE = "-m 22000" 30 | OUTPUT_FILE = project_path / "hashcat/hashcat-output.txt" 31 | POTFILE = project_path / "hashcat/hashcat-potfile.txt" 32 | OUTPUT_PATH = f'--potfile-path "{POTFILE}" -o "{OUTPUT_FILE}"' 33 | 34 | # Attacks list 35 | ATTACKS = [ 36 | ["-a 0", "known-wpa-passwords.txt", "quick-ssid.rule", "-S"], 37 | ["-a 0", "known-wpa-passwords.txt", "unix-ninja-leetspeak.rule", "-S"], 38 | ["-a 0", "known-wpa-passwords.txt", "rockyou-30000.rule", "-S"], 39 | ["-a 0", "known-wpa-passwords.txt", "d3ad0ne.rule", "-S"], 40 | ["-a 0", "nerdlist.txt", "quick-ssid.rule"], 41 | ["-a 0", "nerdlist.txt", "unix-ninja-leetspeak.rule"], 42 | ["-a 0", "nerdlist.txt", "rockyou-30000.rule"], 43 | ["-a 0", "nerdlist.txt", "d3ad0ne.rule"], 44 | ["-a 0", "bssid.rule"], 45 | ["-a 0", "ssid-ninja.rule"], 46 | ["-a 3", "MYWIFI?d?d?d?d"], 47 | ["-a 3", "wifi?d?d?d?d"], 48 | ["-a 3", "-1 !@$??#~%^&*^^ wifi?d?d?d?1"], 49 | ["-a 3", "wifi?d?d?d?d?d"], 50 | ["-a 3", "?d?d?d?dwifi"], 51 | ["-a 3", "?d?d?d?d?dwifi"], 52 | ["-a 3", "WIFI?d?d?d?d"], 53 | ["-a 3", "-1 !@$??#~%^&*^^ WIFI?d?d?d?1"], 54 | ["-a 3", "WIFI?d?d?d?d?d"], 55 | ["-a 3", "?d?d?d?dWIFI"], 56 | ["-a 3", "?d?d?d?d?dWIFI"], 57 | ["-a 3", "?l?l?l?lwifi"], 58 | ["-a 3", "-1 !@$??#~%^&*^^ ?l?l?l?lwifi?1"], 59 | ["-a 3", "?l?l?l?l?lwifi"], 60 | ["-a 3", "wifi?l?l?l?l"], 61 | ["-a 3", "-1 !@$??#~%^&*^^ wifi?l?l?l?l?1"], 62 | ["-a 3", "wifi?l?l?l?l?l"], 63 | ["-a 3", "?u?l?l?lWifi"], 64 | ["-a 3", "?u?l?l?l?lWifi"], 65 | ["-a 3", "?u?u?u?uWIFI"], 66 | ["-a 3", "-1 !@$??#~%^&*^^ ?u?u?u?uWIFI?1"], 67 | ["-a 3", "?u?u?u?u?uWIFI"], 68 | ["-a 3", "WIFI?u?u?u?u"], 69 | ["-a 3", "-1 !@$??#~%^&*^^ WIFI?u?u?u?u?1"], 70 | ["-a 3", "WIFI?u?u?u?u?u"], 71 | ["-a 0", "NAMES.DIC", "names.rule"], 72 | ["-a 0", "words_alpha.txt", "names.rule"], 73 | ["-a 0", "4-digit-append.rule"], 74 | ["-a 3", "?d?d?d?d?d?d?d?d"], 75 | ["-a 6", "netgear-spectrum.txt", "?d?d?d"], 76 | ["-a 6", "netgear-spectrum.txt", "?d"], 77 | ["-a 6", "netgear-spectrum.txt", "?d?d"], 78 | ["-a 0", "openwall.net-all.txt", "quick-ssid.rule"], 79 | ["-a 0", "netgear-spectrum.txt", "quick-ssid.rule"], 80 | ["-a 6", "words_alpha.txt", "?d"], 81 | ["-a 6", "words_alpha.txt", "-1 !@$??#~%^&*^^ ?1"], 82 | ["-a 6", "words_alpha.txt", "-1 !@$??#~%^&*^^ ?d?1"], 83 | ["-a 6", "words_alpha.txt", "-1 !@$??#~%^&*^^ ?1?d"], 84 | ["-a 6", "words_alpha.txt", "?d?d"], 85 | ["-a 6", "words_alpha.txt", "-1 !@$??#~%^&*^^ ?d?d?1"], 86 | ["-a 6", "words_alpha.txt", "?d?d?d"], 87 | ["-a 3", "?l?l?l?l?l?l1!"], 88 | ["-a 3", "?u?l?l?l?l?l1!"], 89 | ["-a 3", "?u?u?u?u?u?u1!"], 90 | ["-a 3", "?d?d?d?d?d?d?d?d?d"], 91 | ["-a 0", "hashesorg2019"], 92 | ["-a 0", "rockyou.txt", "quick-ssid.rule"], 93 | ["-a 0", "NAMES.DIC", "rockyou-30000.rule"], 94 | ["-a 0", "netgear-spectrum.txt", "unix-ninja-leetspeak.rule"], 95 | ["-a 0", "Top1pt8Billion-WPA-probable-v2.txt"], 96 | ["-a 0", "Top24Million-WPA-probable-v2.txt", "quick-ssid.rule"], 97 | ["-a 0", "passphrases.txt", "passphrases.rule"], 98 | ["-a 0", "Custom-WPA"], 99 | ["-a 0", "Super-WPA"], 100 | ["-a 3", "?h?h?h?h?h?h?h?h"], 101 | ["-a 3", "?H?H?H?H?H?H?H?H"], 102 | ["-a 3", "?d?d?d?d?d?d?d?d?d?d"] 103 | ] 104 | 105 | # Generate the hashcat script 106 | def generate_hashcat_script(filename: str): 107 | ssid = filename.split("_")[0] 108 | file_id = filename.split(".hc22000")[0] 109 | hash_path = project_path / "handshakes/hash" / filename 110 | session = f"--session {file_id}_{randint(1000, 9999)}" 111 | script_path = project_path / "hashcat/scripts" / f"{file_id}.sh" 112 | 113 | logging.info(f"Creating script: {script_path}") 114 | with script_path.open("w") as script_file: 115 | script_file.write(f"# {HASHCAT_SCRIPT_VERSION}\n") 116 | script_file.write(f'cd "{hashcat_path}"\n') 117 | 118 | for attack in ATTACKS: 119 | command = build_attack_command(attack, hash_path, session, ssid) 120 | script_file.write(f"{command}\n") 121 | 122 | sessionScripts.append(f"{file_id}.sh") 123 | 124 | # Build hashcat commands 125 | def build_attack_command(attack, hash_path, session, ssid): 126 | command = f'./hashcat.bin {attack[0]} {HASH_TYPE} {session} {TEMP_ABORT} {WORKLOAD_PROFILE} {OUTPUT_PATH} "{hash_path}"' 127 | 128 | if attack[0] == "-a 0": # Dictionary attack 129 | command = handle_dict_attack(attack, command, ssid) 130 | elif attack[0] == "-a 3": # Mask attack 131 | command += f" {attack[1]}" 132 | elif attack[0] == "-a 6": # Hybrid attack 133 | command += f' "{wordlist_path / attack[1]}" {attack[2]}' 134 | 135 | return command 136 | 137 | # Handle dictionary attacks 138 | def handle_dict_attack(attack, command, ssid): 139 | if "bssid.rule" in attack[1]: 140 | return f'{command} -r "{RULE_PATH / attack[1]}"' 141 | if "ssid-ninja.rule" in attack[1]: 142 | return f'python "{WORD_NINJA_PATH / "wordNinjaGenerator.py"}" {ssid} | {command} -r "{RULE_PATH / attack[1]}"' 143 | command += f' "{wordlist_path / attack[1]}"' 144 | if len(attack) > 2: 145 | command += f' -r "{RULE_PATH / attack[2]}"' 146 | return command 147 | 148 | # Generate scripts for handshakes 149 | def generate_scripts_for_hcs(): 150 | handshake_dir = project_path / "handshakes/hash" 151 | if not handshake_dir.exists(): 152 | logging.error(f"Handshake directory {handshake_dir} not found!") 153 | return 154 | 155 | for filename in handshake_dir.iterdir(): 156 | if filename.suffix == ".hc22000": 157 | logging.info(f"Generating attacks for {filename.name}") 158 | generate_hashcat_script(filename.name) 159 | 160 | def print_logo(): 161 | logo = ''' 162 | ██████ ███████ █████ ██████ ██ ██ ██████ ██████ ██ ██ ███ ██ 163 | ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████ ██ 164 | ██████ █████ ███████ ██ ██ ████ █████ ██████ ██ █ ██ ██ ██ ██ 165 | ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ███ ██ ██ ██ ██ 166 | ██ ██ ███████ ██ ██ ██████ ██ ███████ ██ ███ ███ ██ ████ 167 | ''' 168 | print(logo) 169 | 170 | if __name__ == "__main__": 171 | print_logo() 172 | generate_scripts_for_hcs() 173 | -------------------------------------------------------------------------------- /grab_and_convert.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Author: sic 3 | 4 | # Define variables 5 | INSTALL_LOCATION="$(pwd)" 6 | SSHKEY="$INSTALL_LOCATION/ssh/id_rsa" 7 | SSHKEY_PUB="$INSTALL_LOCATION/ssh/id_rsa.pub" 8 | HASHCAT_LOCATION="$INSTALL_LOCATION/hashcat/hashcat" 9 | WORDLIST_LOCATION="$INSTALL_LOCATION/wordlists" 10 | REMOTE_HOST="10.0.0.2" 11 | REMOTE_DIR="/root/handshakes" 12 | LOCAL_HANDSHAKES_DIR="$INSTALL_LOCATION/handshakes/pcap" 13 | 14 | # Create necessary directories 15 | mkdir -p "$INSTALL_LOCATION/handshakes/pcap" \ 16 | "$INSTALL_LOCATION/handshakes/hash" \ 17 | "$INSTALL_LOCATION/hashcat/scripts" \ 18 | "$INSTALL_LOCATION/ssh" 19 | 20 | cat < .env 21 | PROJECT_PATH="$INSTALL_LOCATION/" 22 | HASHCAT_PATH="$HASHCAT_LOCATION" 23 | WORDLIST_PATH="$WORDLIST_LOCATION/" 24 | EOT 25 | 26 | # Generate SSH key if not already present 27 | if [ ! -f "$SSHKEY" ]; then 28 | echo "*** Generating SSH Key ***" 29 | ssh-keygen -t rsa -f "$SSHKEY" -N "" 30 | chmod 600 "$SSHKEY" 31 | chmod 644 "$SSHKEY_PUB" 32 | ssh-copy-id -i "$SSHKEY_PUB" root@"$REMOTE_HOST" 33 | fi 34 | 35 | # Set proper permissions on the SSH key 36 | chmod 600 "$SSHKEY" 37 | chmod 644 "$SSHKEY_PUB" 38 | 39 | # Verify SSH key has been copied correctly 40 | echo "*** Verifying SSH Key ***" 41 | ssh -i "$SSHKEY" root@"$REMOTE_HOST" exit 42 | if [ $? -ne 0 ]; then 43 | echo "SSH key authentication failed. Please check the SSH key and remote server settings." 44 | exit 1 45 | fi 46 | 47 | # Copy pcap files from remote host 48 | echo "*** Copying pcap files from remote host ***" 49 | scp -i "$SSHKEY" root@"$REMOTE_HOST":"$REMOTE_DIR/*.pcap" "$LOCAL_HANDSHAKES_DIR" 50 | 51 | # Remove any public key files if present 52 | rm -f "$LOCAL_HANDSHAKES_DIR/*.pub" 53 | 54 | # Convert pcap files to hc22000 format 55 | echo "*** Converting to hc22000 format ***" 56 | cd "$LOCAL_HANDSHAKES_DIR" || { 57 | echo "Failed to change directory to $LOCAL_HANDSHAKES_DIR" 58 | exit 1 59 | } 60 | hcxpcapngtool -o hash.hc22000 -E "$INSTALL_LOCATION/network-list.txt" *.pcap 61 | mv hash.hc22000 "$INSTALL_LOCATION/handshakes/hash" 62 | 63 | # Set permissions 64 | chmod -R a+rwx "$INSTALL_LOCATION" 65 | 66 | # Generate Hashcat attacks 67 | echo "*** Generating Hashcat Attacks ***" 68 | cd "$INSTALL_LOCATION" || { 69 | echo "Failed to change directory to $INSTALL_LOCATION" 70 | exit 1 71 | } 72 | python3 generate-attacks.py || { 73 | echo "Failed to generate Hashcat attacks" 74 | exit 1 75 | } 76 | 77 | echo "*** Script completed successfully ***" 78 | -------------------------------------------------------------------------------- /hashcat/hashcat-output.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sicXnull/pwnagotchi-scripts/49baba74c5721f7082e61f320d6cf8b31f9f5330/hashcat/hashcat-output.txt -------------------------------------------------------------------------------- /hashcat/hashcat-potfile.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sicXnull/pwnagotchi-scripts/49baba74c5721f7082e61f320d6cf8b31f9f5330/hashcat/hashcat-potfile.txt -------------------------------------------------------------------------------- /hashcat/rules/best64.rule: -------------------------------------------------------------------------------- 1 | ## nothing, reverse, case... base stuff 2 | : 3 | r 4 | u 5 | T0 6 | 7 | ## simple number append 8 | $0 9 | $1 10 | $2 11 | $3 12 | $4 13 | $5 14 | $6 15 | $7 16 | $8 17 | $9 18 | 19 | ## special number append 20 | $0 $0 21 | $0 $1 22 | $0 $2 23 | $1 $1 24 | $1 $2 25 | $1 $3 26 | $2 $1 27 | $2 $2 28 | $2 $3 29 | $6 $9 30 | $7 $7 31 | $8 $8 32 | $9 $9 33 | $1 $2 $3 34 | 35 | ## high frequency append 36 | $e 37 | $s 38 | 39 | ## high frequency overwrite at end 40 | ] $a 41 | ] ] $s 42 | ] ] $a 43 | ] ] $e $r 44 | ] ] $i $e 45 | ] ] ] $o 46 | ] ] ] $y 47 | ] ] ] $1 $2 $3 48 | ] ] ] $m $a $n 49 | ] ] ] $d $o $g 50 | 51 | ## high frequency prepend 52 | ^1 53 | ^e ^h ^t 54 | 55 | ## high frequency overwrite at start 56 | o0d 57 | o0m o1a 58 | 59 | ## leetify 60 | so0 61 | si1 62 | se3 63 | 64 | ## simple extracts 65 | D2 66 | D2 D2 67 | D3 68 | D4 69 | 70 | ## undouble word 71 | '5 D3 72 | '5 $1 73 | 74 | ## removes suffixes from 'strongified' passwords in dict 75 | ] 76 | ] ] 77 | ] ] ] 78 | ] ] ] d 79 | ] ] D1 ] 80 | 81 | ## rotates 82 | +5 ] } } } } '4 83 | O02 { { { { { { 84 | } ] ] { 85 | } } -0 O12 86 | } } } 87 | } } } } '4 88 | } } } } } '5 89 | } } } } } } Y4 '4 d 90 | 91 | ## unknown 92 | *04 +0 '4 93 | *05 O03 d '3 p1 94 | +0 +0 +0 +0 +0 +0 +0 +0 95 | +0 +0 +0 O12 96 | Z4 '8 O42 97 | Z5 '6 O31 ] p1 98 | Z5 *75 '5 { O02 99 | d O28 Y4 '4 d 100 | f *A5 '8 O14 101 | p2 '7 p1 O58 102 | O14 d p2 '6 -------------------------------------------------------------------------------- /hashcat/rules/bssid.rule: -------------------------------------------------------------------------------- 1 | # do nothing 2 | : 3 | # the echo command seems to append a space for some reason so, we remove it 4 | @ 5 | # delete all : symbols 6 | @: 7 | @: @ 8 | # all lowercase characters 9 | l 10 | @ l 11 | @: l 12 | @: l @ 13 | 14 | # we run through all iterations with all chars removed from the from and back 15 | 16 | ] 17 | ] ] 18 | ] ] ] 19 | ] ] ] ] 20 | ] ] ] ] ] 21 | ] ] ] ] ] ] 22 | ] ] ] ] ] ] ] 23 | ] ] ] ] ] ] ] ] 24 | ] ] ] ] ] ] ] ] ] 25 | ] ] ] ] ] ] ] ] ] ] 26 | ] ] ] ] ] ] ] ] ] ] ] 27 | ] ] ] ] ] ] ] ] ] ] ] ] 28 | ] ] ] ] ] ] ] ] ] ] ] ] ] 29 | ] ] ] ] ] ] ] ] ] ] ] ] ] ] 30 | ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] 31 | ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] 32 | 33 | @ ] 34 | @ ] ] 35 | @ ] ] ] 36 | @ ] ] ] ] 37 | @ ] ] ] ] ] 38 | @ ] ] ] ] ] ] 39 | @ ] ] ] ] ] ] ] 40 | @ ] ] ] ] ] ] ] ] 41 | @ ] ] ] ] ] ] ] ] ] 42 | @ ] ] ] ] ] ] ] ] ] ] 43 | @ ] ] ] ] ] ] ] ] ] ] ] 44 | @ ] ] ] ] ] ] ] ] ] ] ] ] 45 | @ ] ] ] ] ] ] ] ] ] ] ] ] ] 46 | @ ] ] ] ] ] ] ] ] ] ] ] ] ] ] 47 | @ ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] 48 | @ ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] 49 | 50 | @: ] 51 | @: ] ] 52 | @: ] ] ] 53 | @: ] ] ] ] 54 | @: ] ] ] ] ] 55 | @: ] ] ] ] ] ] 56 | @: ] ] ] ] ] ] ] 57 | @: ] ] ] ] ] ] ] ] 58 | @: ] ] ] ] ] ] ] ] ] 59 | @: ] ] ] ] ] ] ] ] ] ] 60 | @: ] ] ] ] ] ] ] ] ] ] ] 61 | 62 | @ @: ] 63 | @ @: ] ] 64 | @ @: ] ] ] 65 | @ @: ] ] ] ] 66 | @ @: ] ] ] ] ] 67 | @ @: ] ] ] ] ] ] 68 | @ @: ] ] ] ] ] ] ] 69 | @ @: ] ] ] ] ] ] ] ] 70 | @ @: ] ] ] ] ] ] ] ] ] 71 | @ @: ] ] ] ] ] ] ] ] ] ] 72 | @ @: ] ] ] ] ] ] ] ] ] ] ] 73 | 74 | l ] 75 | l ] ] 76 | l ] ] ] 77 | l ] ] ] ] 78 | l ] ] ] ] ] 79 | l ] ] ] ] ] ] 80 | l ] ] ] ] ] ] ] 81 | l ] ] ] ] ] ] ] ] 82 | l ] ] ] ] ] ] ] ] ] 83 | l ] ] ] ] ] ] ] ] ] ] 84 | l ] ] ] ] ] ] ] ] ] ] ] 85 | l ] ] ] ] ] ] ] ] ] ] ] ] 86 | l ] ] ] ] ] ] ] ] ] ] ] ] ] 87 | l ] ] ] ] ] ] ] ] ] ] ] ] ] ] 88 | l ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] 89 | l ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] 90 | 91 | l @ ] 92 | l @ ] ] 93 | l @ ] ] ] 94 | l @ ] ] ] ] 95 | l @ ] ] ] ] ] 96 | l @ ] ] ] ] ] ] 97 | l @ ] ] ] ] ] ] ] 98 | l @ ] ] ] ] ] ] ] ] 99 | l @ ] ] ] ] ] ] ] ] ] 100 | l @ ] ] ] ] ] ] ] ] ] ] 101 | l @ ] ] ] ] ] ] ] ] ] ] ] 102 | l @ ] ] ] ] ] ] ] ] ] ] ] ] 103 | l @ ] ] ] ] ] ] ] ] ] ] ] ] ] 104 | l @ ] ] ] ] ] ] ] ] ] ] ] ] ] ] 105 | l @ ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] 106 | l @ ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] 107 | 108 | l @: ] 109 | l @: ] ] 110 | l @: ] ] ] 111 | l @: ] ] ] ] 112 | l @: ] ] ] ] ] 113 | l @: ] ] ] ] ] ] 114 | l @: ] ] ] ] ] ] ] 115 | l @: ] ] ] ] ] ] ] ] 116 | l @: ] ] ] ] ] ] ] ] ] 117 | l @: ] ] ] ] ] ] ] ] ] ] 118 | l @: ] ] ] ] ] ] ] ] ] ] ] 119 | 120 | l @: @ ] 121 | l @: @ ] ] 122 | l @: @ ] ] ] 123 | l @: @ ] ] ] ] 124 | l @: @ ] ] ] ] ] 125 | l @: @ ] ] ] ] ] ] 126 | l @: @ ] ] ] ] ] ] ] 127 | l @: @ ] ] ] ] ] ] ] ] 128 | l @: @ ] ] ] ] ] ] ] ] ] 129 | l @: @ ] ] ] ] ] ] ] ] ] ] 130 | l @: @ ] ] ] ] ] ] ] ] ] ] ] 131 | 132 | 133 | # now to remove chars from the front 134 | 135 | [ 136 | [ [ 137 | [ [ [ 138 | [ [ [ [ 139 | [ [ [ [ [ 140 | [ [ [ [ [ [ 141 | [ [ [ [ [ [ [ 142 | [ [ [ [ [ [ [ [ 143 | [ [ [ [ [ [ [ [ [ 144 | [ [ [ [ [ [ [ [ [ [ 145 | [ [ [ [ [ [ [ [ [ [ [ 146 | [ [ [ [ [ [ [ [ [ [ [ [ 147 | [ [ [ [ [ [ [ [ [ [ [ [ [ 148 | [ [ [ [ [ [ [ [ [ [ [ [ [ [ 149 | [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ 150 | [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ 151 | 152 | @ [ 153 | @ [ [ 154 | @ [ [ [ 155 | @ [ [ [ [ 156 | @ [ [ [ [ [ 157 | @ [ [ [ [ [ [ 158 | @ [ [ [ [ [ [ [ 159 | @ [ [ [ [ [ [ [ [ 160 | @ [ [ [ [ [ [ [ [ [ 161 | @ [ [ [ [ [ [ [ [ [ [ 162 | @ [ [ [ [ [ [ [ [ [ [ [ 163 | @ [ [ [ [ [ [ [ [ [ [ [ [ 164 | @ [ [ [ [ [ [ [ [ [ [ [ [ [ 165 | @ [ [ [ [ [ [ [ [ [ [ [ [ [ [ 166 | @ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ 167 | @ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ 168 | 169 | @: [ 170 | @: [ [ 171 | @: [ [ [ 172 | @: [ [ [ [ 173 | @: [ [ [ [ [ 174 | @: [ [ [ [ [ [ 175 | @: [ [ [ [ [ [ [ 176 | @: [ [ [ [ [ [ [ [ 177 | @: [ [ [ [ [ [ [ [ [ 178 | @: [ [ [ [ [ [ [ [ [ [ 179 | @: [ [ [ [ [ [ [ [ [ [ [ 180 | 181 | @ @: [ 182 | @ @: [ [ 183 | @ @: [ [ [ 184 | @ @: [ [ [ [ 185 | @ @: [ [ [ [ [ 186 | @ @: [ [ [ [ [ [ 187 | @ @: [ [ [ [ [ [ [ 188 | @ @: [ [ [ [ [ [ [ [ 189 | @ @: [ [ [ [ [ [ [ [ [ 190 | @ @: [ [ [ [ [ [ [ [ [ [ 191 | @ @: [ [ [ [ [ [ [ [ [ [ [ 192 | 193 | l [ 194 | l [ [ 195 | l [ [ [ 196 | l [ [ [ [ 197 | l [ [ [ [ [ 198 | l [ [ [ [ [ [ 199 | l [ [ [ [ [ [ [ 200 | l [ [ [ [ [ [ [ [ 201 | l [ [ [ [ [ [ [ [ [ 202 | l [ [ [ [ [ [ [ [ [ [ 203 | l [ [ [ [ [ [ [ [ [ [ [ 204 | l [ [ [ [ [ [ [ [ [ [ [ [ 205 | l [ [ [ [ [ [ [ [ [ [ [ [ [ 206 | l [ [ [ [ [ [ [ [ [ [ [ [ [ [ 207 | l [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ 208 | l [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ 209 | 210 | l @ [ 211 | l @ [ [ 212 | l @ [ [ [ 213 | l @ [ [ [ [ 214 | l @ [ [ [ [ [ 215 | l @ [ [ [ [ [ [ 216 | l @ [ [ [ [ [ [ [ 217 | l @ [ [ [ [ [ [ [ [ 218 | l @ [ [ [ [ [ [ [ [ [ 219 | l @ [ [ [ [ [ [ [ [ [ [ 220 | l @ [ [ [ [ [ [ [ [ [ [ [ 221 | l @ [ [ [ [ [ [ [ [ [ [ [ [ 222 | l @ [ [ [ [ [ [ [ [ [ [ [ [ [ 223 | l @ [ [ [ [ [ [ [ [ [ [ [ [ [ [ 224 | l @ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ 225 | l @ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ 226 | 227 | l @: [ 228 | l @: [ [ 229 | l @: [ [ [ 230 | l @: [ [ [ [ 231 | l @: [ [ [ [ [ 232 | l @: [ [ [ [ [ [ 233 | l @: [ [ [ [ [ [ [ 234 | l @: [ [ [ [ [ [ [ [ 235 | l @: [ [ [ [ [ [ [ [ [ 236 | l @: [ [ [ [ [ [ [ [ [ [ 237 | l @: [ [ [ [ [ [ [ [ [ [ [ 238 | 239 | l @: @ [ 240 | l @: @ [ [ 241 | l @: @ [ [ [ 242 | l @: @ [ [ [ [ 243 | l @: @ [ [ [ [ [ 244 | l @: @ [ [ [ [ [ [ 245 | l @: @ [ [ [ [ [ [ [ 246 | l @: @ [ [ [ [ [ [ [ [ 247 | l @: @ [ [ [ [ [ [ [ [ [ 248 | l @: @ [ [ [ [ [ [ [ [ [ [ 249 | l @: @ [ [ [ [ [ [ [ [ [ [ [ 250 | -------------------------------------------------------------------------------- /hashcat/rules/mobile.ua: -------------------------------------------------------------------------------- 1 | 050?d?d?d?d?d?d?d 2 | 095?d?d?d?d?d?d?d 3 | 066?d?d?d?d?d?d?d 4 | 099?d?d?d?d?d?d?d 5 | 063?d?d?d?d?d?d?d 6 | 073?d?d?d?d?d?d?d 7 | 093?d?d?d?d?d?d?d 8 | 068?d?d?d?d?d?d?d 9 | 067?d?d?d?d?d?d?d 10 | 096?d?d?d?d?d?d?d 11 | 097?d?d?d?d?d?d?d 12 | 098?d?d?d?d?d?d?d 13 | 044?d?d?d?d?d?d?d -------------------------------------------------------------------------------- /hashcat/rules/names.rule: -------------------------------------------------------------------------------- 1 | # do nothing 2 | : 3 | # all uppercase characters 4 | u 5 | # 6 | # toggle the case of char in position 0 7 | T0 8 | T0 $w $i $f $i 9 | # duplicate word 10 | d 11 | d l 12 | d u 13 | 14 | #################### 15 | ## append numbers ## 16 | #################### 17 | # append 0 to the end of each combination 18 | $0 19 | # append 1 to the end of each combination 20 | $1 21 | # append 2 to the end of each combination 22 | $2 23 | # append 3 to the end of each combination 24 | $3 25 | # append 4 to the end of each combination 26 | $4 27 | # append 5 to the end of each combination 28 | $5 29 | # append 6 to the end of each combination 30 | $6 31 | # append 7 to the end of each combination 32 | $7 33 | # append 8 to the end of each combination 34 | $8 35 | # append 9 to the end of each combination 36 | $9 37 | 38 | ######################################## 39 | ## append various number combinations ## 40 | ######################################## 41 | # append 00 to the end of each combination 42 | $0 $0 43 | # append 01 to the end of each combination 44 | $0 $1 45 | # append 11 to the end of each combination 46 | $1 $1 47 | # append 12 to the end of each combination 48 | $1 $2 49 | # append 21 to the end of each combination 50 | $2 $1 51 | # append 22 to the end of each combination 52 | $2 $2 53 | # append 23 to the end of each combination 54 | $2 $3 55 | # append 69 to the end of each combination 56 | $6 $9 57 | # append 77 to the end of each combination 58 | $7 $7 59 | # append 88 to the end of each combination 60 | $8 $8 61 | # append 99 to the end of each combination 62 | $9 $9 63 | # append 123 to the end of each combination 64 | $1 $2 $3 65 | 66 | # append s to the end of each combination 67 | $s 68 | 69 | # essid 70 | $w $i $f $i 71 | $W $i $F $i 72 | $w $i $- $f $i 73 | $W $i $- $F $i 74 | $W $I $F $I 75 | $' $s $w $i $f $i 76 | $s $w $i $f $i 77 | $@ $w $i $f $i 78 | $@ $h $o $m $e 79 | $@ $1 $2 $3 80 | $@ $1 $2 81 | $@ $1 82 | $@ 83 | $1 $2 $3 $4 $! 84 | $1 $2 $3 $! 85 | 86 | # years 87 | $2 $0 $1 $1 88 | $2 $0 $1 $2 89 | $2 $0 $1 $3 90 | $2 $0 $1 $4 91 | $2 $0 $1 $5 92 | $2 $0 $1 $6 93 | $2 $0 $1 $7 94 | $2 $0 $1 $8 95 | $2 $0 $1 $9 96 | $2 $0 $2 $0 97 | $2 $0 $2 $1 98 | 99 | 100 | # add the to the beginning of each combination 101 | ^e ^h ^t 102 | 103 | # add the to the beginning of each combination and add wifi to the end 104 | ^e ^h ^t $w $i $f $i 105 | 106 | ^e ^h ^T $W $i $f $i 107 | 108 | l ^e ^h ^t $w $i $f $i 109 | u ^E ^H ^T $W $I $F $I 110 | 111 | $w $i $f $i $2 $0 $1 $1 112 | $w $i $f $i $2 $0 $1 $2 113 | $w $i $f $i $2 $0 $1 $3 114 | $w $i $f $i $2 $0 $1 $4 115 | $w $i $f $i $2 $0 $1 $5 116 | $w $i $f $i $2 $0 $1 $6 117 | $w $i $f $i $2 $0 $1 $7 118 | $w $i $f $i $2 $0 $1 $8 119 | $w $i $f $i $2 $0 $1 $9 120 | $w $i $f $i $2 $0 $2 $0 121 | $w $i $f $i $2 $0 $2 $1 122 | 123 | ^e ^h ^t $w $i $f $i $2 $0 $1 $1 124 | ^e ^h ^t $w $i $f $i $2 $0 $1 $2 125 | ^e ^h ^t $w $i $f $i $2 $0 $1 $3 126 | ^e ^h ^t $w $i $f $i $2 $0 $1 $4 127 | ^e ^h ^t $w $i $f $i $2 $0 $1 $5 128 | ^e ^h ^t $w $i $f $i $2 $0 $1 $6 129 | ^e ^h ^t $w $i $f $i $2 $0 $1 $7 130 | ^e ^h ^t $w $i $f $i $2 $0 $1 $8 131 | ^e ^h ^t $w $i $f $i $2 $0 $1 $9 132 | ^e ^h ^t $w $i $f $i $2 $0 $2 $0 133 | ^e ^h ^t $w $i $f $i $2 $0 $2 $1 134 | 135 | # replace all instances of o with 0 136 | so0 137 | # replace all instances of i with 1 138 | si1 139 | # replace all instance of e with 3 140 | se3 141 | # replace all instance of s with $ 142 | ss$ 143 | # first 2 144 | so0 si1 145 | # all 3 146 | so0 si1 se3 147 | # all 3 with wifi 148 | so0 si1 se3 $w $i $f $i 149 | #all 3 with the wifi 150 | ^e ^h ^t so0 si1 se3 $w $i $f $i -------------------------------------------------------------------------------- /hashcat/rules/passphrase-rule1.rule: -------------------------------------------------------------------------------- 1 | : 2 | s - 3 | s . 4 | s _ 5 | @ 6 | c 7 | u 8 | C 9 | @ c 10 | @ C 11 | @ u 12 | E 13 | E@ 14 | s - e- 15 | s . e. 16 | s _ e_ -------------------------------------------------------------------------------- /hashcat/rules/passphrase-rule2.rule: -------------------------------------------------------------------------------- 1 | # Do Nothing 2 | : 3 | 4 | # Add years to end - both with spaces and without 5 | $2$0$1$5 6 | $2$0$1$6 7 | $2$0$1$7 8 | $2$0$1$8 9 | $2$0$1$9 10 | $2$0$2$0 11 | $2$0$1$5$! 12 | $2$0$1$6$! 13 | $2$0$1$7$! 14 | $2$0$1$8$! 15 | $2$0$1$9$! 16 | $2$0$2$0$! 17 | $ $2$0$1$5 18 | $ $2$0$1$6 19 | $ $2$0$1$7 20 | $ $2$0$1$8 21 | $ $2$0$1$9 22 | $ $2$0$2$0 23 | $ $2$0$1$5$! 24 | $ $2$0$1$6$! 25 | $ $2$0$1$7$! 26 | $ $2$0$1$8$! 27 | $ $2$0$1$9$! 28 | $ $2$0$2$0$! 29 | 30 | # Add common numbers to the end - both with spaces and without 31 | $1 32 | $1$! 33 | $1$2$3 34 | $1$2$3$! 35 | $ $1 36 | $ $1$! 37 | $ $1$2$3 38 | $ $1$2$3$! 39 | 40 | # Add commong numbers to the beginning - both with spaces and without (have to do them backwards with a prepend) 41 | ^1 42 | ^3^2^1 43 | ^ ^1 44 | ^ ^3^2^1 45 | 46 | # Add common punctuation to end 47 | $! 48 | $? 49 | 50 | # G3t 133t (just the common ones) across whole phrase 51 | sa@sA@ 52 | se3sE3 53 | sl1sL1 54 | so0sO0 55 | ss5sS5 56 | sa@sA@se3sE3so0sO0ss5sS5 57 | sa@sA@$! 58 | se3sE3$! 59 | sl1sL1$! 60 | so0sO0$! 61 | ss5sS5$! 62 | sa@sA@se3sE3so0sO0ss5sS5$! 63 | 64 | # Hashcat doesn't support 'nth place'positional replace in rule sets yet. 65 | # So we can say 'replace only the first A with @' 66 | # See: https://hashcat.net/wiki/doku.php?id=rule_based_attack#using_p_nth_instance_of_a_character_with_positional_rules 67 | # So, we are going to make some guesses here.... Sub in l33t characters at positions 1,2,3 and also end with ! 68 | # Not a great way to do it, but oh well. Will update in future if feature becomes available. 69 | o1@ 70 | o2@ 71 | o3@ 72 | o13 73 | o23 74 | o33 75 | o11 76 | o21 77 | o31 78 | o10 79 | o20 80 | o30 81 | o15 82 | o25 83 | o35 84 | o1@$! 85 | o2@$! 86 | o3@$! 87 | o13$! 88 | o23$! 89 | o33$! 90 | o11$! 91 | o21$! 92 | o31$! 93 | o10$! 94 | o20$! 95 | o30$! 96 | o15$! 97 | o25$! 98 | o35$! -------------------------------------------------------------------------------- /hashcat/rules/passphrases.rule: -------------------------------------------------------------------------------- 1 | # do nothing 2 | : 3 | # remove spaces 4 | @ 5 | # all uppercase characters 6 | @ u 7 | # toggle the case of char in position 0 8 | @ T0 9 | 10 | #################### 11 | ## append numbers ## 12 | #################### 13 | # append 0 to the end of each combination 14 | @ $0 15 | # append 1 to the end of each combination 16 | @ $1 17 | # append 2 to the end of each combination 18 | @ $2 19 | # append 3 to the end of each combination 20 | @ $3 21 | # append 4 to the end of each combination 22 | @ $4 23 | # append 5 to the end of each combination 24 | @ $5 25 | # append 6 to the end of each combination 26 | @ $6 27 | # append 7 to the end of each combination 28 | @ $7 29 | # append 8 to the end of each combination 30 | @ $8 31 | # append 9 to the end of each combination 32 | @ $9 33 | 34 | ######################################## 35 | ## append various number combinations ## 36 | ######################################## 37 | # append 00 to the end of each combination 38 | @ $0 $0 39 | # append 01 to the end of each combination 40 | @ $0 $1 41 | # append 11 to the end of each combination 42 | @ $1 $1 43 | # append 12 to the end of each combination 44 | @ $1 $2 45 | # append 21 to the end of each combination 46 | @ $2 $1 47 | # append 22 to the end of each combination 48 | @ $2 $2 49 | # append 23 to the end of each combination 50 | @ $2 $3 51 | # append 69 to the end of each combination 52 | @ $6 $9 53 | # append 77 to the end of each combination 54 | @ $7 $7 55 | # append 88 to the end of each combination 56 | @ $8 $8 57 | # append 99 to the end of each combination 58 | @ $9 $9 59 | # append 123 to the end of each combination 60 | @ $1 $2 $3 61 | 62 | # append s to the end of each combination 63 | @ $s 64 | 65 | # essid 66 | @ $w $i $f $i 67 | @ $W $i $F $i 68 | @ $w $i $- $f $i 69 | @ $W $i $- $F $i 70 | @ $W $I $F $I 71 | @ $' $s $w $i $f $i 72 | @ $s $w $i $f $i 73 | @ $@ $w $i $f $i 74 | @ $@ $h $o $m $e 75 | @ $@ $1 $2 $3 76 | @ $@ $1 $2 77 | @ $@ $1 78 | @ $@ 79 | @ $1 $2 $3 $4 $! 80 | @ $1 $2 $3 $! 81 | 82 | # years 83 | @ $2 $0 $1 $1 84 | @ $2 $0 $1 $2 85 | @ $2 $0 $1 $3 86 | @ $2 $0 $1 $4 87 | @ $2 $0 $1 $5 88 | @ $2 $0 $1 $6 89 | @ $2 $0 $1 $7 90 | @ $2 $0 $1 $8 91 | @ $2 $0 $1 $9 92 | @ $2 $0 $2 $0 93 | @ $2 $0 $2 $1 94 | 95 | ############################ 96 | ## high frequency prepend ## 97 | ############################ 98 | # add a 1 to the beginning of each combination 99 | @ ^1 100 | # add the to the beginning of each combination 101 | @ ^e ^h ^t 102 | 103 | # add the to the beginning of each combination and add wifi to the end 104 | @ ^e ^h ^t $w $i $f $i 105 | 106 | # append ! 107 | @ $! 108 | 109 | # replace all instances of o with 0 110 | @ so0 111 | # replace all instances of i with 1 112 | @ si1 113 | # replace all instance of e with 3 114 | @ se3 115 | # replace all instance of s with $ 116 | @ ss$ 117 | # first 2 118 | @ so0 si1 119 | # all 3 120 | @ so0 si1 se3 121 | # all 4 122 | @ so0 si1 se3 ss$ 123 | # all 3 with wifi 124 | @ so0 si1 se3 $w $i $f $i 125 | #all 3 with the wifi 126 | @ ^e ^h ^t so0 si1 se3 $w $i $f $i 127 | # all 4 with wifi 128 | @ so0 si1 se3 ss$ $w $i $f $i 129 | #all 4 with the wifi 130 | @ ^e ^h ^t so0 si1 se3 ss$ $w $i $f $i -------------------------------------------------------------------------------- /hashcat/rules/quick-ssid.rule: -------------------------------------------------------------------------------- 1 | # do nothing 2 | : 3 | # all uppercase characters 4 | u 5 | # all lowercase characters 6 | l 7 | # toggle the case of char in position 0 8 | T0 9 | 10 | #################### 11 | ## append numbers ## 12 | #################### 13 | # append 0 to the end of each combination 14 | $0 15 | # append 1 to the end of each combination 16 | $1 17 | # append 2 to the end of each combination 18 | $2 19 | # append 3 to the end of each combination 20 | $3 21 | # append 4 to the end of each combination 22 | $4 23 | # append 5 to the end of each combination 24 | $5 25 | # append 6 to the end of each combination 26 | $6 27 | # append 7 to the end of each combination 28 | $7 29 | # append 8 to the end of each combination 30 | $8 31 | # append 9 to the end of each combination 32 | $9 33 | 34 | ######################################## 35 | ## append various number combinations ## 36 | ######################################## 37 | # append 11 to the end of each combination 38 | $1 $1 39 | # append 12 to the end of each combination 40 | $1 $2 41 | # append 21 to the end of each combination 42 | $2 $1 43 | # append 22 to the end of each combination 44 | $2 $2 45 | # append 23 to the end of each combination 46 | $2 $3 47 | # append 69 to the end of each combination 48 | $6 $9 49 | # append 77 to the end of each combination 50 | $7 $7 51 | # append 88 to the end of each combination 52 | $8 $8 53 | # append 99 to the end of each combination 54 | $9 $9 55 | # append 123 to the end of each combination 56 | $1 $2 $3 57 | 58 | # append common numeric endings to passwords 59 | $4 $2 $0 60 | $6 $9 $6 $9 61 | 62 | # append s to the end of each combination 63 | $s 64 | 65 | # essid 66 | $w $i $f $i 67 | $W $i $F $i 68 | $w $i $- $f $i 69 | $W $i $- $F $i 70 | $W $I $F $I 71 | $' $s $w $i $f $i 72 | $s $w $i $f $i 73 | $@ $w $i $f $i 74 | $@ $h $o $m $e 75 | $@ $1 $2 $3 76 | $@ 77 | $1 $2 $3 $4 $! 78 | $1 $2 $3 $! 79 | 80 | # years 81 | $2 $0 $1 $1 82 | $2 $0 $1 $2 83 | $2 $0 $1 $3 84 | $2 $0 $1 $4 85 | $2 $0 $1 $5 86 | $2 $0 $1 $6 87 | $2 $0 $1 $7 88 | $2 $0 $1 $8 89 | $2 $0 $1 $9 90 | $2 $0 $2 $0 91 | $2 $0 $2 $1 92 | 93 | 94 | # add the to the beginning of each combination 95 | ^e ^h ^t 96 | 97 | # replace all instances of o with 0 98 | so0 99 | # replace all instances of i with 1 100 | si1 101 | # replace all instance of e with 3 102 | se3 103 | # replace all instance of s with $ 104 | ss$ 105 | # first 2 106 | so0 si1 107 | # all 3 108 | so0 si1 se3 109 | # all 3 with wifi 110 | so0 si1 se3 $w $i $f $i -------------------------------------------------------------------------------- /hashcat/rules/ssid-ninja.rule: -------------------------------------------------------------------------------- 1 | # do nothing 2 | : 3 | # all uppercase characters 4 | u 5 | # all lowercase characters 6 | l 7 | # toggle the case of char in position 0 8 | T0 9 | 10 | #################### 11 | ## append numbers ## 12 | #################### 13 | # append 0 to the end of each combination 14 | $0 15 | # append 1 to the end of each combination 16 | $1 17 | # append 2 to the end of each combination 18 | $2 19 | # append 3 to the end of each combination 20 | $3 21 | # append 4 to the end of each combination 22 | $4 23 | # append 5 to the end of each combination 24 | $5 25 | # append 6 to the end of each combination 26 | $6 27 | # append 7 to the end of each combination 28 | $7 29 | # append 8 to the end of each combination 30 | $8 31 | # append 9 to the end of each combination 32 | $9 33 | 34 | ######################################## 35 | ## append various number combinations ## 36 | ######################################## 37 | # append 11 to the end of each combination 38 | $1 $1 39 | # append 12 to the end of each combination 40 | $1 $2 41 | # append 21 to the end of each combination 42 | $2 $1 43 | # append 22 to the end of each combination 44 | $2 $2 45 | # append 23 to the end of each combination 46 | $2 $3 47 | # append 69 to the end of each combination 48 | $6 $9 49 | # append 77 to the end of each combination 50 | $7 $7 51 | # append 88 to the end of each combination 52 | $8 $8 53 | # append 99 to the end of each combination 54 | $9 $9 55 | # append 123 to the end of each combination 56 | $1 $2 $3 57 | 58 | # append s to the end of each combination 59 | $s 60 | 61 | # essid 62 | $w $i $f $i 63 | $W $i $F $i 64 | $W $i $f $i 65 | $w $i $- $f $i 66 | $W $i $- $F $i 67 | $W $I $F $I 68 | $' $s $w $i $f $i 69 | $s $w $i $f $i 70 | $@ $w $i $f $i 71 | $@ $h $o $m $e 72 | $@ $1 $2 $3 73 | $@ 74 | $1 $2 $3 $4 $! 75 | $1 $2 $3 $! 76 | 77 | 78 | # add the to the beginning of each combination 79 | ^e ^h ^t 80 | 81 | # replace all instances of o with 0 82 | so0 83 | # replace all instances of i with 1 84 | si1 85 | # replace all instance of e with 3 86 | se3 87 | # replace all instance of s with $ 88 | ss$ 89 | # first 2 90 | so0 si1 91 | # all 3 92 | so0 si1 se3 93 | # all 3 with wifi 94 | so0 si1 se3 $w $i $f $i -------------------------------------------------------------------------------- /hashcat/rules/ssid.rule: -------------------------------------------------------------------------------- 1 | # do nothing 2 | : 3 | # all uppercase characters 4 | u 5 | # all lowercase characters 6 | l 7 | # toggle the case of char in position 0 8 | T0 9 | 10 | #################### 11 | ## append numbers ## 12 | #################### 13 | # append 0 to the end of each combination 14 | $0 15 | # append 1 to the end of each combination 16 | $1 17 | # append 2 to the end of each combination 18 | $2 19 | # append 3 to the end of each combination 20 | $3 21 | # append 4 to the end of each combination 22 | $4 23 | # append 5 to the end of each combination 24 | $5 25 | # append 6 to the end of each combination 26 | $6 27 | # append 7 to the end of each combination 28 | $7 29 | # append 8 to the end of each combination 30 | $8 31 | # append 9 to the end of each combination 32 | $9 33 | 34 | ######################################## 35 | ## append various number combinations ## 36 | ######################################## 37 | # append 00 to the end of each combination 38 | $0 $0 39 | # append 01 to the end of each combination 40 | $0 $1 41 | # append 11 to the end of each combination 42 | $1 $1 43 | # append 12 to the end of each combination 44 | $1 $2 45 | # append 21 to the end of each combination 46 | $2 $1 47 | # append 22 to the end of each combination 48 | $2 $2 49 | # append 23 to the end of each combination 50 | $2 $3 51 | # append 69 to the end of each combination 52 | $6 $9 53 | # append 77 to the end of each combination 54 | $7 $7 55 | # append 88 to the end of each combination 56 | $8 $8 57 | # append 99 to the end of each combination 58 | $9 $9 59 | # append 123 to the end of each combination 60 | $1 $2 $3 61 | 62 | # append s to the end of each combination 63 | $s 64 | 65 | # essid 66 | $w $i $f $i 67 | $W $i $F $i 68 | $w $i $- $f $i 69 | $W $i $- $F $i 70 | $W $I $F $I 71 | $' $s $w $i $f $i 72 | $s $w $i $f $i 73 | $@ $w $i $f $i 74 | $@ $h $o $m $e 75 | $@ $1 $2 $3 76 | $@ $1 $2 77 | $@ $1 78 | $@ 79 | $1 $2 $3 $4 $! 80 | $1 $2 $3 $! 81 | 82 | # years 83 | $2 $0 $1 $1 84 | $2 $0 $1 $2 85 | $2 $0 $1 $3 86 | $2 $0 $1 $4 87 | $2 $0 $1 $5 88 | $2 $0 $1 $6 89 | $2 $0 $1 $7 90 | $2 $0 $1 $8 91 | $2 $0 $1 $9 92 | $2 $0 $2 $0 93 | $2 $0 $2 $1 94 | 95 | 96 | # add the to the beginning of each combination 97 | ^e ^h ^t 98 | 99 | # add the to the beginning of each combination and add wifi to the end 100 | ^e ^h ^t $w $i $f $i 101 | 102 | ^e ^h ^T $W $i $f $i 103 | 104 | l ^e ^h ^t $w $i $f $i 105 | u ^E ^H ^T $W $I $F $I 106 | 107 | $w $i $f $i $2 $0 $1 $1 108 | $w $i $f $i $2 $0 $1 $2 109 | $w $i $f $i $2 $0 $1 $3 110 | $w $i $f $i $2 $0 $1 $4 111 | $w $i $f $i $2 $0 $1 $5 112 | $w $i $f $i $2 $0 $1 $6 113 | $w $i $f $i $2 $0 $1 $7 114 | $w $i $f $i $2 $0 $1 $8 115 | $w $i $f $i $2 $0 $1 $9 116 | $w $i $f $i $2 $0 $2 $0 117 | $w $i $f $i $2 $0 $2 $1 118 | 119 | ^e ^h ^t $w $i $f $i $2 $0 $1 $1 120 | ^e ^h ^t $w $i $f $i $2 $0 $1 $2 121 | ^e ^h ^t $w $i $f $i $2 $0 $1 $3 122 | ^e ^h ^t $w $i $f $i $2 $0 $1 $4 123 | ^e ^h ^t $w $i $f $i $2 $0 $1 $5 124 | ^e ^h ^t $w $i $f $i $2 $0 $1 $6 125 | ^e ^h ^t $w $i $f $i $2 $0 $1 $7 126 | ^e ^h ^t $w $i $f $i $2 $0 $1 $8 127 | ^e ^h ^t $w $i $f $i $2 $0 $1 $9 128 | ^e ^h ^t $w $i $f $i $2 $0 $2 $0 129 | ^e ^h ^t $w $i $f $i $2 $0 $2 $1 130 | 131 | # replace all instances of o with 0 132 | so0 133 | # replace all instances of i with 1 134 | si1 135 | # replace all instance of e with 3 136 | se3 137 | # replace all instance of s with $ 138 | ss$ 139 | # first 2 140 | so0 si1 141 | # all 3 142 | so0 si1 se3 143 | # all 3 with wifi 144 | so0 si1 se3 $w $i $f $i 145 | #all 3 with the wifi 146 | ^e ^h ^t so0 si1 se3 $w $i $f $i -------------------------------------------------------------------------------- /hashcat/rules/unix-ninja-leetspeak.rule: -------------------------------------------------------------------------------- 1 | ## common leetspeak rules 2 | ## written by Unix-Ninja 3 | sa4 4 | sa4sb6 5 | sa4sb6sc< 6 | sa4sb6sc