## General Examine the small selection of tools provided here and identify the one that is most relevant to your requirements. - CUPP - Mentalist - Cewl - Crunch ## CUPP - command ```Terminal python3 cupp.py -h python3 cupp.py -i (Interactive mod, Ask you question about your target) puthon4 cupp.py -l (Download Pre-created wordlists to your machine) ``` ![cupp-example](https://github.com/Mebus/cupp/raw/master/screenshots/cupp-example.gif) ## Mentalist Mentalist is a graphical tool for custom wordlist generation. It utilizes common human paradigms for constructing passwords and can output the full wordlist as well as rules compatible with [Hashcat](https://hashcat.net/hashcat) and [John the Ripper](http://www.openwall.com/john). ![Mentalist GUI](https://camo.githubusercontent.com/4eb268cbdaf7e2a09a3be4b1c7a2a32b47e9f6e568a9b34d549bfbfb512b684a/68747470733a2f2f73633074667265652e73717561726573706163652e636f6d2f732f6d656e74616c6973742d726561646d652d6775692e676966) ## Cewl (Only work for english website) Tools such as Cewl can be used to effectively crawl a website and extract strings or keywords. Cewl is a powerful tool to generate a wordlist specific to a given company or target. Consider the following example below: ``` cewl -w list.txt -d 5 -m 5 http://example.com ``` -w  ---> Will write the contents to a file. In this case, list.txt. -m 5  ---> Gathers strings (words) that are 5 characters or more -d 5  ---> Is the depth level of web crawling/spidering (default 2) ## Username Generator Gathering employees' names in the enumeration stage is essential. We can generate username lists from the target's website. For the following example, we'll assume we have a {first name} {last name} (ex: John Smith) and a method of generating usernames. **This can be usefull to generate username list for Acive Directory** Example ``` - **{first name}:** john - **{last name}:** smith - **{first name}{last name}:  johnsmith**  - **{last name}{first name}:  smithjohn**   - first letter of the **{first name}{last name}: jsmith**  - first letter of the **{last name}{first name}: sjohn**   - first letter of the **{first name}.{last name}: j.smith**  - first letter of the **{first name}-{last name}: j-smith**  - and so on ``` ``` git clone https://github.com/therodri2/username_generator.git cd username_generator python3 username_generator.py -h echo "John Smith" > users.lst python3 username_generator.py -w users.lst ``` ## Crunch Crunch allow you to create custom brute force worlist (related to characters lengh) Simple ``` crunch 2 2 01234abcd -o crunch.txt ``` - The following example creates a wordlist containing all possible combinations of 2 characters, including 0-4 and a-d. We can use the -o argument and specify a file to save the output to. Include a know variable (Example: We want that all password start with pass) ``` crunch 6 6 -t "pass%%" -o crunch.txt ``` - We can use the % symbol from above to match the numbers. Here we generate a wordlist that contains pass followed by 2 numbers. ![[Pasted image 20230317202043.png]]