Kali includes a number of tools that can be used to help generate custom wordlists. These wordlists could then be used in online or offline brute force attacks.
Cewl
Cewl is a tool used to generate wordlists by scraping websites. It’s commonly used to create customized wordlists from the content of a website, which can then be used in password cracking attempts.
Command Line Options
Option | Description | Example |
---|---|---|
-d [depth] | Set the depth to crawl (default is 2). | cewl -d 3 https://bordergate.co.uk (Crawl to a depth of 3 levels) |
-m [min_length] | Set the minimum word length (default is 3). | cewl -m 5 https://bordergate.co.uk (Words longer than 5 characters) |
-w [output_file] | Write the wordlist to a file. | cewl -w wordlist.txt https://bordergate.co.uk (Save to wordlist.txt) |
-c | Count the frequency of words in the list. | cewl -c https://bordergate.co.uk (List words with frequency counts) |
-n | Disable the addition of numbers to the wordlist. | cewl -n https://bordergate.co.uk (No numbers in wordlist) |
-e | Extract email addresses from the website. | cewl -e https://bordergate.co.uk (Find and list email addresses) |
-a [user-agent] | Specify a custom user-agent string for the request. | cewl -a “Mozilla/5.0” https://bordergate.co.uk |
–no-words | Don’t output the wordlist; used with --meta or --emails . | cewl –no-words –meta https://bordergate.co.uk |
–meta | Extract meta descriptions and keywords from the website. | cewl –meta https://bordergate.co.uk (Extract metadata) |
–offsite | Follow links to external sites (offsite links). | cewl –offsite https://bordergate.co.uk |
–lowercase | Convert all words to lowercase. | cewl –lowercase https://bordergate.co.uk |
–verbose | Provide detailed output. | cewl –verbose https://bordergate.co.uk |
Usage
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | ┌──(kali㉿kali)-[~] └─$ cewl -d 1 -m 5 -w wordlist.txt https: //www .bordergate.co.uk CeWL 6.1 (Max Length) Robin Wood (robin@digi.ninja) (https: //digi .ninja/) ┌──(kali㉿kali)-[~] └─$ head wordlist.txt image bordergate Infrastructure local using Windows featured https System BorderGate |
Crunch
Crunch is a tool for creating custom word lists. It’s installed by default in Kali Linux. Crunch is particularly powerful because it lets users define not only the characters but also the length and complexity of the words generated, making it highly customizable for brute-force attacks or dictionary-based cracking attempts.
Command Line Options
Option | Description | Example |
---|---|---|
-o <file> | Specify the output file for the wordlist. | -o mywordlist.txt |
-c <number> | Number of characters per line (useful for specific length). | -c 12 |
-t <pattern> | Use a pattern to generate the wordlist. | -t @@@1 (e.g., abc1, def1) |
-a <charset> | Define a custom character set. | -a lsd (includes lowercase, special chars, digits) |
-b <number> | Set the number of bytes (for binary files). | -b 16 |
-e <charset> | Exclude specific characters from the charset. | -e 0 (exclude zeros) |
-i | Incremental mode (useful for generating sequences). | -i |
-l <length> | Generate wordlists of specific length. | -l 8 |
-n <length> | Generate wordlists up to a specific length. | -n 12 |
-m <number> | Minimum number of characters in the wordlist. | -m 8 |
-p <number> | Maximum number of permutations. | -p 10000 |
-u | Use unique words (avoids duplicates). | -u |
Usage Examples
Description | Command |
---|---|
Generate a wordlist with one lowercase letter followed by 5 digits | crunch 6 6 -t @%%%%% -o wordlist |
Generate a wordlist between 6 and 8 characters. | crunch 6 8 -o wordlist.txt |
Generate a wordlist with lowercase letters, digits, and special characters. | crunch 4 6 -a lsd -o wordlist.txt |
Generate all permutations of a word followed by two numbers. | crunch 12 12 -t bordergate%% |
Generate all permutations of a word followed by a special character. | crunch 11 11 -t bordergate^ |
Generate wordlist of specific length (e.g., 12 characters). | crunch 12 12 -o fixed_length_wordlist.txt |
Generate a wordlist with a custom character set (e.g., abc123). | crunch 4 6 -a abc123 -o custom_charset_wordlist.txt |
Cupp
Cupp is a tool for creating custom word lists based on known information. In interactive mode, it asks a series of questions about the target user that might help in guessing their password.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 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 | ┌──(kali㉿kali)-[~] └─$ cupp -i ___________ cupp.py! # Common \ # User \ ,__, # Passwords \ (oo)____ # Profiler (__) )\ ||--|| * [ Muris Kurgas | j0rgan@remote-exploit.org ] [ Mebus | https://github.com/Mebus/] [+] Insert the information about the victim to make a dictionary [+] If you don't know all the info, just hit enter when asked! ;) > First Name: Fred > Surname: Flintstone > Nickname: Twinkletoes > Birthdate (DDMMYYYY): 30091960 > Partners) name: Wilma > Partners) nickname: > Partners) birthdate (DDMMYYYY): 30091960 > Child's name: Pebbles > Child's nickname: > Child's birthdate (DDMMYYYY): 22021980 > Pet's name: Dino > Company name: Slate Rock and Gravel Company > Do you want to add some key words about the victim? Y/[N]: Y > Please enter the words, separated by comma. [i.e. hacker,juice,black], spaces will be removed: Brontosaurus > Do you want to add special chars at the end of words? Y/[N]: Y > Do you want to add some random numbers at the end of words? Y/[N]:Y > Leet mode? (i.e. leet = 1337) Y/[N]: N [+] Now making a dictionary... [+] Sorting list and removing duplicates... [+] Saving dictionary to fred.txt, counting 8896 words. [+] Now load your pistolero with fred.txt and shoot! Good luck! ┌──(kali㉿kali)-[~] └─$ tail fred.txt wilma_93060 wilma_960 wilma_9600 wilma_96009 wilma_96030 wilma_96060 wilma_9609 wilma_96090 wilma_9960 wilma_99600 |