hashcat에는 네 가지 기본 암호화 해독 방법이 있습니다:
1. 사전 복호화
2. 조합 문자열 복호화
3. 폭력 복호화 (폐기) – 마스크 공격 (마스크 복호화 )
4. 혼합 복호화
규칙 기반 복호화 방식도 있고, 대소문자를 전환하는 방식도 있지만 규칙 복호화
-a 0 -m type hashfile dictionary1 dictionary2
또한 gpu를 사용하여 가속화
사전의 내용이 다음과 같다면
11
22
33
조합은 다음과 같습니다.
1111
1122
1133
2222
2233
3333
-k, --rule-right=rule Single rule applied to each Word on the right dictionary123
예를 들어:
사전 1:
11 2212
사전 2:
33 4412
명령:
-j '$-' - k '! $'12
위의 $ 대리 사전의 단어, -j '$-'는 단어 오른쪽에 -, -k '$를 추가하는 것을 의미합니다! '는 단어의 왼쪽에 하나를 추가하는 것을 의미합니다! 그래서 생성된 조합은 다음과 같습니다:
11-33! 22-33! 11-44! 22-44! 1234
, 공식적으로 제공된 설명은 비교적 간단합니다. 즉, mask attack은 brute-force보다 비밀번호 테이블의 수를 줄입니다. 비밀번호 수를 줄이는 알고리즘은 많이 소개되지 않았지만(hcmask 파일을 기반으로) 일반적인 비밀번호 형식을 통해 비밀번호 수를 줄이는 간단한 문장을 언급했습니다. 예를 들어, "Kele1997"은 폭력적으로 가 을 해독할 때 모든 가능성을 열거할 것입니다. 그러나 마스크 공격을 할 때 프로그램은 첫 글자만 대문자로 시도합니다. 대부분의 비밀번호는 두 번째 또는 세 번째 위치에 대문자가 거의 없기 때문입니다. 이러한 규칙을 사용하여 비밀번호 후보 수를 줄입니다
공식적으로는 마스크 공격은 모든 brute-force 비밀번호
내장 문자 세트를 생성할 수 있기 때문에 brute-force에 비해 단점이 없습니다.
? l = abcdefghijklmnopqrstuvwxyz
? u = ABCDEFGHIJKLMNOPQRSTUVWXYZ
? d = 0123456789
? h = 0123456789abcdef
? H = 0123456789ABCDEF
? s = «공간»! "#$%&'()*+,-./:; <=>? @[\]^_`{|}~
? A = ? 엘? 너? 디? 에스
? b = 0 - 0xff123456789
프로그램 디렉토리에는 여러 가지 이상한 문자가 포함된 charsets가 있습니다. 비밀번호에 추가하면 이 파일을 사용할 수 있습니다.
hashcat에는 사용자 지정 문자 집합을 지정하는 네 개의 매개변수가 있습니다.
–custom-charset1=CS
–custom-charset2=CS
–custom-charset3=CS
–custom-charset4=CS
이 네 개의 매개변수는 약어 -1, -2, -3, -4로 대체할 수 있습니다. 사용자 지정 문자 세트를 지정할 수 있습니다. 암호 해독
다음 명령은 첫 번째 사용자 지정 문자 집합(-1)을 러시아어 특정 문자로 설정합니다.
-1 charsets/special/russian/ru_ISO-8859-5-special.hcchr
비밀번호의 고정 길이를 지정할 필요가 없습니다. –increment 매개변수를 지정하여
-i, --증분 | | Enable mask 증분 모드 | { | Num | Stop mask incrementing at X 123-a 3 hash.txt mask_file.hcmask hcmask 파일을 로드하고 파일에 있는 mask를 사용하여
해시캣은 여러 개의 hcmask 파일을 제공합니다. 프로그램 디렉토리 mask/
--hex-charset 뒤의 문자열은 16입니다.
생성된 암호는 사전과 폭력 암호 해독 생성된 문자를 조합한 것입니다. 예를 들어, 밤:example.dict
password hello12
hashcat64 -a 6 example.dict ? 디? 디? 디? d
? 디? 디? 디? d는 네 자리 길이의 정수
를 나타냅니다. 따라서 최종 생성된 암호 후보 시퀀스는 다음과 같습니다.
password0000 비밀번호0001 비밀번호0002 . . . 비밀번호99991234567
hashcat64 -a 6 ? 디? 디? 디? d example.dict
결과:
0000password 0001비밀번호 . . . 9999password123456
해시 -o bf.rule '$? d $? d $? d $? d
에 의해 생성된 규칙은 다음과 같습니다. bf.rule
$0 $0 $0 $0 $0 $0 $0 $1 $0 $0 $0 $2 $0 $0 $0 $3 $0 $0 $0 $4 . . . $9 $9 $9 $9123456789
그런 다음 사용하십시오 hashcat -a 6 example.dict -r bf.rule -m . . . .
마지막으로 생성된 것은 다음과 같습니다.
hello0 0 0 0 비밀번호 0 0 0 0 안녕하세요0 0 0 1 비밀번호0 0 0 1 안녕하세요0 0 0 2 비밀번호 0 0 0 2 . . . 안녕하세요9 9 9 9 비밀번호9 9 9 91234567891011