Use when cracking passwords and analyzing hashes.
Scanned 9/10/2026
Install to Claude Code
npx -y skills add LoopyLuci/Skills --skill password-cracking-hash-analysis --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Password Cracking Hash Analysis?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/loopyluci-password-cracking-hash-analysis)More formats (shields.io, HTML) on the badges page.
---
name: password-cracking-hash-analysis
description: "Use when cracking passwords and analyzing hashes."
version: 1.0.0
author: Hermes Agent
license: MIT
metadata:
hermes:
tags: [password-cracking, hashcat, john, hash-analysis, wordlist, GPU, brute-force]
related_skills: [active-directory-pentesting, webapp-penetration-testing, privilege-escalation-techniques, osint-reconnaissance-techniques]
---
# Password Cracking and Hash Analysis
Cracking passwords and analyzing hashes — from hash identification through Hashcat/John workflows, rule-based attacks, GPU acceleration, and wordlist generation.
## When to Use
- Testing password policy strength during pentests
- Cracking password hashes obtained during assessments
- Analyzing hash types (NT, NTLM, bcrypt, SHA, MD5)
- Building custom wordlists and rule sets
## Cracking Techniques
```python
HASHCAT_ATTACKS = {
'straight': "hashcat -m 1000 -a 0 hashes.txt wordlist.txt — dictionary attack",
'rule_based': "hashcat -m 1000 -a 0 hashes.txt wordlist.txt -r best64.rule — with rules",
'mask': "hashcat -m 1000 -a 3 hashes.txt ?l?l?l?l?l?l?l?l — brute force mask (?l=lowercase)",
'combinator': "hashcat -m 1000 -a 1 hashes.txt word1.txt word2.txt — word combo attack",
'association': "hashcat -m 1000 -a 6 hashes.txt wordlist.txt ?d?d?d — append digits",
}
JOHN_RULES = """
# Custom rule: capitalize + append year
$[A-Z] $1 $2 $3 $4
c $1 $2 $3 $4
$[0-9] $[0-9] $[0-9] $[0-9]
"""
class HashIdentifier:
"""Identify hash type from format."""
@staticmethod
def identify(hash_string: str) -> List[str]:
patterns = {
'MD5': r'^[a-f0-9]{32}$',
'SHA1': r'^[a-f0-9]{40}$',
'SHA256': r'^[a-f0-9]{64}$',
'bcrypt': r'^\$2[ayb]\$[0-9]{2}\$.{53}$',
'NTLM': r'^[a-f0-9]{32}$', # Same as MD5 but context-different
}
import re
possible = []
for name, pattern in patterns.items():
if re.match(pattern, hash_string, re.I):
possible.append(name)
return possible
```
## Verification Checklist
- [ ] Hash type correctly identified
- [ ] Cracking mode selected (dictionary, rule, mask, combinator, brute-force)
- [ ] GPU acceleration enabled (OpenCL/CUDA)
- [ ] Wordlist chosen (rockyou, SecLists, or custom)
- [ ] Rule sets applied (best64, OneRuleToRuleThemAll)
- [ ] Cracking time estimated (keyspace / hash rate)
- [ ] Potfile checked for previously cracked hashes
- [ ] Ethical boundaries: only authorized hashes cracked
- [ ] Cracked passwords reported securely (not in plain text reports)
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!