The following methodology is your 10,0000 ft view of the work that you have laid out before you. This approach will favor individuals that can play the "thinking mans" game and enjoy the analytical process. Password cracking is not primarily about what dumps you can come across, or how much GPU you can produce; Password cracking is about unravelling the logic used to create an encrypted string and then strapping that reasoning to as much GPU/CPU that you can get your hands on.
## 1) Extract hashes from target data set
Pull hashes from target, [[hashID - hash-identifier|identify hashing function]], and [[WordList Manipulation|properly format output]] for your tool of choice.
## 2) Format the hashes for processing
Format your hashes based on your tool's preferred method. See tool documentation for this guidance. [[Hashcat]], for example, on each line takes `<user>:<hash>` OR just the plain `<hash>`.
## 3) Evaluate the strength of the hashing algorithm
Using your benchmark or a table of [[Hash Speeds]] assess your target hash and its cracking speed. If it is a slow hash, you will need to be more selective at what types of [[Wordlists and Dictionaries|dictionaries]] and attacks you perform. If it is a fast hash, you can be more liberal with your attack strategy.
## 4) Determine the speed of your machine
With the information from evaluating the hash strength, baseline your cracking machines capabilities. Perform benchmark testing using [[John The Ripper]] and/or [[HashCat|Hashcat's]] built-in benchmark tools on your machine.
```bash
john --test
hashcat -b
```
Based on these results you will be able to better assess your attack options by knowing your machines capabilities against a specific hash. Keep track of this information as it will be useful to save these results for future reference.
## 5) Develop a plan
Based on known or unknown knowledge begin creating an attack plan. A [[Basic Approach|Basic attack plan]] is a standard starting point. As you gain information from the target data set you will adjust your attack plan accordingly.
## 6) Conduct Password Analysis
After successfully cracking a sufficient amount of hashes [[Password Analysis Findings|analyze]] the results for any clues or patterns. This analysis may aid in your success on any remaining hashes.
## 7) Create Custom Attacks
Based on you password analysis [[Advanced Attacks|create custom attacks]] leveraging those known clues or patterns. Examples would be [[Advanced Attacks|custom mask attacks]] or [[Rules]] to fit target users' behavior or preferences.
## 8) Create Advanced Attacks
Experiment with [[Princeprocessor]], custom [[Markov-chains]], [[maskprocessor]], or custom dictionary attacks to shake out those remaining stubborn hashes. This is where your expertise and creativity really come into play.
[[Home]]
#methodology