패스워드 사전 생성 도구 Crunch 사용법 완벽 가이드

Crunch란?

Crunch는 특정 규칙에 따라 패스워드 사전을 생성하는 리눅스 기반 도구로, 침투 테스트 및 보안 평가에서 브루트포스 공격 시 유용하게 활용됩니다. 지정된 문자 집합과 길이 범위 내에서 조합 가능한 모든 비밀번호 조합을 생성할 수 있으며, 출력 형식도 다양하게 지원합니다.

기본 구조

crunch <최소길이> <최대길이> [문자집합] [옵션]
  • 최소길이: 생성할 문자열의 최소 길이 (필수)
  • 최대길이: 생성할 문자열의 최대 길이 (필수)
  • 문자집합: 사용할 문자 목록 (생략 시 기본값: 소문자 a-z)
  • 옵션: 출력 방식, 형식 지정 등 다양한 설정 가능

주요 옵션 설명

옵션 설명
-o 파일명 결과를 지정한 파일에 저장
-b 크기 출력 파일의 최대 크기 제한 (예: 50mb)
-c 숫자 생성할 라인 수 제한
-t 형식 출력 형식 지정 (%, ^, @, , 사용)
-f 파일경로 미리 정의된 문자셋 파일 로드 (기본 위치: /usr/share/crunch/charset.lst)
-e 문자열 지정 문자열 도달 시 생성 중단
-s 문자열 지정 문자열부터 생성 시작
-p 항목들 입력된 항목들의 순열(permutation) 생성
-z 생성 후 gzip, bzip2 등으로 압축

형식 기호 (Placeholder)

  • @ → 소문자 알파벳 (a-z)
  • , → 대문자 알파벳 (A-Z)
  • % → 숫자 (0-9)
  • ^ → 특수문자 (!@#$%^&* etc.)

공백이나 쉼표 포함 시 전체 형식을 따옴표로 감싸야 함.

실제 사용 예시

예제 1: 기본 소문자 조합 생성

1~3자리 소문자 조합을 생성하여 파일에 저장:

crunch 1 3 -o lowercase_dict.txt

확인:

cat lowercase_dict.txt | head -10

예제 2: 숫자만 사용한 사전 생성

3자리 숫자 조합 생성:

crunch 3 3 0123456789 -o digits_3.txt

예제 3: 고정 접두사 + 변수 조합

"admin" 다음에 두 자리 숫자가 오는 형식의 비밀번호 생성:

crunch 7 7 -t admin%% -o admin_pass.txt

예제 4: 사용자 정의 문자셋 적용

특정 문자셋 파일에서 "numeric" 그룹을 불러와 4자리 숫자 생성:

crunch 4 4 -f /usr/share/crunch/charset.lst numeric -o num_custom.txt

예제 5: 순열 기반 생성

"red", "blue", "green" 세 단어의 모든 순서 조합 생성:

crunch 1 1 -p red blue green -o color_perm.txt

※ 이 경우 최소/최대 길이는 무시되며, 입력 요소의 전체 순열이 생성됨.

예제 6: 조건부 생성 (시작 및 종료 지정)

"startkey"부터 시작하여 "endkey"에서 멈추는 조합 생성:

crunch 5 5 -t abc%% -s startkey -e endkey -o range_output.txt

예제 7: 파일 분할 및 압축

각 20MB씩 분할하고, 최종적으로 gzip으로 압축:

crunch 8 8 %^@, -b 20mb -z gzip -o split_compressed

사회공학 기반 맞춤형 사전 전략

실제 공격 시 일반적인 사전보다 타겟 정보를 기반으로 한 맞춤형 사전이 더 효과적입니다.

단계별 접근법

  1. 정보 수집: 관리자 이름, 생년월일, 이메일, 조직명, 애완동물 이름 등 개인 관련 정보 확보
  2. 패턴 추론: 흔히 사용되는 패스워드 패턴 분석 (예: 이름+생일, 회사이름+!)
  3. 사전 생성: 수집된 정보 기반으로 실제 가능성 있는 조합 생성

예시 시나리오: 관리자 이름이 "김철수", 생년월일 1992년으로 파악된 경우

crunch 10 10 -t kimcs92%% -o target_dict.txt

또는 닉네임 "tiger"와 결합:

crunch 8 8 -t tiger%92 -o nickpass.txt

Kali Linux 환경에서의 실행

Crunch는 기본적으로 Kali Linux에 사전 설치되어 있습니다. 업데이트 또는 재설치가 필요할 경우:

sudo apt update && sudo apt install crunch

버전 확인:

crunch -version

태그: crunch password-cracking penetration-testing Kali-Linux brute-force

7월 22일 11:12에 게시됨