티스토리 뷰

반응형

Crunch 사용법 - 사전파일 만들기

 

Crunch 사용법 - 사전파일 만들기(비밀번호 찾기 꿀팁)

 

기억나지 않는 비밀번호. 엑셀(excel, xls, xlsx), 워드(word, doc, docx), pdf, zip 비밀번호 찾기...  그 파일들이 중요한 파일이라면 더욱 난감하겠죠. 이런 난감한 상황이라면 John과 같은 password cracking tool을 사용하면 무차별 대입(Brute force)를 통해서 비밀번호를 알아낼 수 있습니다.

John과 같은 프로그램도 중요하지만 예상되는 비밀번호 문자열이 담겨있는 wordlist(사전 파일) 역시 굉장히 중요합니다.
Kali Linux에서 명령어 wordlists를 입력하면 Kali Linux에 기본적으로 설치된 wordlists 목록이 나오며 /usr/shar/wordlists 디렉터리로 이동되는데요 가장 유명한 rockyou.txt 파일 역시 이 디렉터리에 있습니다.

직접 crunch로 wordlist를 생성하기 전에 rockyou.txt와 같은 wordlist를 먼저 사용해 보세요. 이 wordlist로 풀리지 않는 경우 crunch를 이용해서 맞춤형 wordlist를 생성하는 것이 효율적입니다.

 

Kali Linux 기본 wordlists

 

wordlists

 

cd /usr/share/wordlists 또는 wordlists 명령어를 사용하여 위 파일들이 있는 디렉터리로 이동할 수 있습니다.

rockyou.txt 파일은 해당 디렉토리에 gz 파일로 압축된 상태이기 때문에 gunzip rockyou.tar.gz 을 입력해서 압축을 풀어주시면 됩니다.

 

crunch 사용법

 

man crunch

 

man crunch 명령어를 실행해서 chrunch의 manual을 먼저 확인해 보세요.
많은 옵션 중에서 가장 많이 사용하는 옵션 및 주의사항에 대해서 설명드리도록 하겠습니다.

 

crunch 문자열 입력 순서

 

wordlist 생성시 사용할 문자열(charset string)은 영문 소문자(lower characters), 영문 대문자(upper case characters), 숫자(numbers), 특수 문자(symbols) 순으로 넣어주셔야 합니다. 

crunch 8 8 abcABC567?# 와 같이 입력하면 8자리의 wordlist가 생성되는데요. abcABC567?# 이 charset을 이용하여 생성하게 됩니다. 자신이 설정한 비밀번호가 기억나지 않는 경우 주로 맞춤형 wordlist를 만들기 때문에 자신이 사용하지 않는 영단어, 특수 문자, 숫자들을 제외할 수 있습니다.

 

crunch charset 사용법(1)

 

직접 사용할 문자열(charset string)을 입력하는 대신 chrunch 기본 탑재 charset.lst 옵션에서 charset-name을 사용하여 입력할 수 있습니다.

cat /usr/share/crunch/charset.lst 명령어를 입력해서 charset-name 별로 기본값으로 입력되는 charset string을 확인해보세요.

 

crunch -o option

 

-o 옵션은 crunch를 통해서 만들어지는 파일을 저장할 때 사용하는 옵션입니다. -o filename.txt와 같이 입력하여 filename.txt 파일로 wordlist를 생성할 수 있습니다.

 

crunch -s 및 -t 옵션

 

-s startblock 은 crunch가 wordlist를 생성할 때 이 옵션에 입력한 startblock 문자열부터 생성을 하게 됩니다. 예로) -s 03god22fs와 같이 설정하면 wordlist 생성시 03dog22fs부터 생성을 시작한다는 의미입니다.

-t @,%^ 부분은 패턴을 만들어주는 옵션입니다. 매우 중요합니다.
@는 영문소문자(lower case characters)
, 는 영문대문자(upper case characters)
%는 숫자(numbers)
^는 특수문자(symbols)를 의미합니다.

-t @@,@@%%^^ 이런식으로 패턴을 만들면 영문소문자, 영문소문자, 영문대문자, 영문소문자, 영문소문자, 숫자, 숫자, 특수문자, 특수문자 이런 패턴으로 만들어지는 것 입니다.

자신이 사용할 만한 비밀번호 패턴으로 만들어주는것이 잃어버린 비밀번호 찾기에 적절하겠지요.

 

crunch charset 사용법(2)

 

Example 4에 살펴보시면 crunch 1 8로 시작하는데, wordlist 생성 시 1~8자리 wordlist를 생성하게 되며 사용하는 문자열(charset strings)은 crunch에 기본 탑재된 charset.lst의 mixalpha-numeric-all-space에 입력된 문자열을 사용한다는 의미입니다.

 

crunch charset 사용법(3)

 

Example 5에 살펴보시면 crunch 8 8 로 시작을 하죠, 이 경우 생성하는 문자열은 8자리 문자열로만 생성이 됩니다.

-t 패턴이 들어갔는데요, 영문소문자, 영문소문자,dog,영문소문자,영문소문자,영문소문자 순으로 생성됩니다.

-s cbdogaaa로 startblock이 들어갔기 때문에 wordlist의 첫 줄에는 cbdogaaa부터 순차적으로 문자열이 만들어지게 됩니다.

 

crunch charset 사용법(4)

 

cat /usr/share/crunch/charset.lst 명령어를 입력하시면 위와 같은 문자열이 나오는데요.
앞에 지정된 이름에 들어가는 문자열이 나오게 됩니다.

hex-lower 프리셋(preset)을 선택하면 0123456789abcdef 가 자동으로 charset에 들어간다고 생각하시면 됩니다.
자신이 원하는 프리셋(preset)을 선택하시면 됩니다. 

 

반응형
댓글