hashcat vs john the ripper

agnusdei·2025년 9월 9일
0

CTF

목록 보기
96/154

Hashcat이 압도적으로 우세

1. 성능 면에서

Hashcat has much better support for GPU cracking while JTR is better for different hash types 그리고 Hashcat is optimized for modern hardware, particularly GPU acceleration, which makes it much faster when using high-performance GPUs

실제 성능 차이:

  • GPU 가속: Hashcat은 NVIDIA/AMD GPU 완전 지원, John은 제한적
  • 속도: 대용량 wordlist에서 5-10배 이상 차이
  • 메모리 효율성: Hashcat이 훨씬 우수

2. 맹글링 규칙 비교

문법 유사성:
While there are a few differences, you can use most rules in both hashcat and John the Ripper - 기본 문법은 비슷하지만 Hashcat이 더 직관적

Hashcat 장점:

# Hashcat 규칙이 더 읽기 쉬움
c $1 $2 $3    # 첫글자 대문자 + 123
sa@ se3       # a->@, e->3 치환

John의 단점:

  • 복잡한 조건부 규칙 문법
  • 디버깅이 어려움
  • 에러 메시지가 불친절

3. 현업 사용 현황

대부분의 펜테스터들이 Hashcat 선호:

  1. 속도가 생명인 환경

    • 클라이언트 보고서 마감 있음
    • GPU 서버 활용 필수
  2. 사용 편의성

    • 더 나은 문서화
    • 활발한 커뮤니티
    • 풍부한 룰셋 제공
  3. 실무 워크플로우

# 1단계: 빠른 사전 공격
hashcat -m 1000 -a 0 hashes.txt rockyou.txt

# 2단계: 룰 기반 공격  
hashcat -m 1000 -a 0 hashes.txt wordlist.txt -r best64.rule

# 3단계: 마스크 공격
hashcat -m 1000 -a 3 hashes.txt ?u?l?l?l?l?l?d?d

4. John을 아직 쓰는 경우

  1. 특수한 해시 타입: John이 지원하는 일부 마이너 해시
  2. 시스템 제약: GPU 없는 환경
  3. 기존 스크립트: 이미 John 기반으로 구축된 자동화

5. 현실적인 선택

현업에서의 실제 사용 패턴:

  • 90% Hashcat (GPU 환경)
  • 10% John (특수 상황)

추천 접근법:

# 빠른 확인용
hashcat -m 1000 -a 0 --show hashes.txt

# 본격 공격용  
hashcat -m 1000 -a 0 hashes.txt wordlist.txt -r dive.rule --force

6. 성능 벤치마크 (참고용)

실제 테스트 기준 (RTX 4090):

  • NTLM: Hashcat 50GH/s vs John 2GH/s
  • MD5: Hashcat 80GH/s vs John 5GH/s
  • bcrypt: 둘 다 느리지만 Hashcat이 2-3배 빠름

결론: Hashcat 압승

현업에서는 시간이 돈이고, 클라이언트 만족도가 중요해서 거의 모든 팀이 Hashcat으로 이동했습니다. John은 학습용이나 특수한 상황에서만 쓰는 추세예요.

GPU 있으시면 무조건 Hashcat 가세요!

profile
DevSecOps ⚙️ + CTF🚩

0개의 댓글