

1. 기본 명령어 구조
hashcat -m [해시 타입] -a [공격 방식] -o [결과 파일] [해시 파일] [워드리스트]
예시:
hashcat -m 0 -a 0 -o cracked.txt hashes.txt rockyou.txt
- -m 0: MD5 해시
- -a 0: Dictionary 공격 (워드리스트 기반)
- hashes.txt: 해시 목록 파일
- rockyou.txt: 공격에 사용할 워드리스트
2. 해시 타입 코드 (-m)
해시 유형코드 (-m)
MD5 | 0 |
SHA1 | 100 |
SHA256 | 1400 |
bcrypt | 3200 |
NTLM | 1000 |
WPA/WPA2 (Wi-Fi) | 22000 |
전체 목록 보기: hashcat --help
3. 공격 방식 (-a)
공격 방식코드설명
Dictionary | 0 | 워드리스트 기반 |
Brute-force | 3 | 완전 무차별 대입 |
Combinator | 1 | 두 워드리스트 결합 |
Mask attack | 3 | 패턴 기반 (예: ?l?l?l?l?d?d) |
4. 마스크 공격 예시
hashcat -m 0 -a 3 hashes.txt ?l?l?l?l?d?d
→ 소문자 4자리 + 숫자 2자리 조합 (abc123 스타일)
- ?l : 소문자, ?d : 숫자
- 총 6자리: 예) abcd12
5. 결과 파일 저장
hashcat -m 0 -a 0 hashes.txt rockyou.txt -o found.txt
복호화 성공한 해시와 평문을 found.txt. 에 저장
6. 결과 확인
- 크랙된 결과는 cracked.txt에 저장됨
- 명령어:
cat cracked.txt
7. 해시 파일 만들기
echo -n "password123" | md5sum
echo "482c811da5d5b4bc6d497ffa98491e38" > hashes.txt
평문을 해시값으로 변환하고, 해시값을 hashes.txt 파일에 저장
