해시 고양이의 여러 공격 모드

hashcat에는 다양한 공격 모드가 있습니다. 매개 변수 – 도움말을 사용하여 전체 도움말을 보면 다음과 같이 "공격 모드" 테이블을 볼 수 있습니다.

#Mode
0Straight
1Combination
3Brute-force
6하이브리드 워드리스트 + 마스크
7하이브리드 마스크 + 워드리스트

1.Straight

이 공격 패턴은 "사전 공격"이라고도 불립니다. 할 말이 없습니다. 사전이 주어지면 hashcat이 사전의 내용을 줄씩 읽고 각 행의 hash 값을 계산하여 대상 hash 값과 비교합니다.

예:

  hashcat -a 0 -m 400 example400.hash  example.dict

2.Combination

Baidu는 Combination이 명사라고 말했습니다. 의미는 "결합; 연합; 암호 조합; 점프복"입니다. 이 공격 패턴은 사실 매우 간단합니다. 두 개의 암호 사전의 내용을 결합하는 것입니다. 이 공격 패턴을 사용하려면 두 개의 비밀번호 사전을 지정해야 한다. 두 개의 암호 사전 dict1.txt와 dict2.txt가 있다고 가정해 보겠습니다. 그 내용은 다음과 같습니다.

   사냥 
고양이 키티 
  무지개

와

  파리 
  rock

그런 다음 명령어는 다음과 같습니다.

  hashcat -m 0 -a 1 hash.txt dict1.txt dict2.txt

실제로 시도한 사전은 다음과 같습니다.

  huntingparis 
헌팅록 
키티파리 
키티록 
레인보우파리 
  rainbowrock

dict1.txt의 단어는 왼쪽에 있고, dict2.txt의 단어는 오른쪽에 있으며, 총 3×2=6개입니다.

이 패턴과 관련된 매개변수는 다음과 같습니다.

  -j, --rule-left 
  -k, --rule-right

-j 이후의 규칙은 왼쪽에 작용하고, -k 이후의 규칙은 오른쪽에 작용합니다. 매개변수 -j '$-'를 추가하면 실제로 시도된 사전은

  hunting-paris입니다. 
사냥 바위 
키티 파리 
키티 록 
rain-bowparis에 대한 리뷰 
  rain-bowrock

매개변수 추가 -j '^!', 실제로 시도된 사전은

  입니다! 사냥파리 
  ! 헌팅 록 
  ! 키티파리 
  ! 키티 록 
  ! 레인보우파리 
  ! rainbowrock

매개변수 -k '^>'를 추가하면 실제로 시도된 사전은 다음과 같습니다.

  hunting>paris 
바위 사냥 
키티 파리 
키티 바위 
보우파리스 
  rain>bowrock

이 규칙은 무엇입니까? '$', '^'는 정규 표현식과 비슷하게 사용되고 있으니 정규인가요? 사실 그렇지 않습니다. hashcat의 규칙은 스스로 구현됩니다. 이것은 또 다른 큰 내용입니다. 자세한 내용은 Rule-based Attack

3.Brute-force

를 참조하세요. 주어진 문자 세트의 다양한 조합을 시도합니다. hashcat 공식 위키에 따르면 이 방법은 구식이며 Mask-Attack으로 전반적으로 대체되었으므로

4.Mask Attack

은 비교적 새로운 공격 방법입니다. 예는 다음과 같습니다.

  hashcat -a 3 -m 0 md5.hash ? 엘? 엘? 엘? 엘? l

"Attack Modes" 테이블에 따르면 -A 3은 Brute-force에 해당하지만 실제로 -A 3은 Mask Attack을 사용합니다. 마스크 공격은 고급 Brute-force로 볼 수 있습니다.

-m 매개변수는 해시 함수 유형을 지정하는 데 사용됩니다. md5 값은 md5 해시 파일에 저장됩니다. 핵심은 마지막 문자열 "?l?l?l?l?l?l?l"입니다. 이러한 문자열을 mask라고 합니다.

마스크는 여러 자리 표시자로 구성된 문자열입니다. "?l"은 자리 표시자이며, 여기서 "?"는 다음 "l"을 수정하는 데 사용되는 키워드입니다. "?l"은 "?l" 외에도 문자 집합을 나타낼 수 있습니다. "?u", "?d", "?h", "?h", "?s", "?a" 및 "?b"를 나타내는 문자 집합은 아래 표에 나와 있습니다.

0 – 0xff
? Charset
labcdefghijklmnopqrstuvwxyz
uabcdefghijklmnopqrstuvwxyz
d0123456789
H0123456789abcdef
H0123456789abcdef
s! "#$%&'()*+,-./:;<=>?@[\]^_`~{|}
a? 엘? 너? 디? s
b

이렇게 하면 "?l"은 실제로 암호 사전과 동일합니다.

aaaaa 
아아아아 
... 
zzzzz

마찬가지로 "?l?u?d"는 암호 사전과 동일합니다.

  aA0 
이메일 : aA1 
  ... 
  bA0 
  ... 
  zZ9

위 테이블의 문자 집합은 해시캣에 내장되어 있으며, 문자 집합을 스스로 지정할 수도 있습니다.

  --custom-charset1=character set 1 
  --custom-charset2=문자 집합 2 
  --custom-charset3=문자 집합3 
  --custom-charset4=문자 집합 4

매개 변수 –custom-charsetN은 -N으로 줄일 수 있으며, 예를 들어 –custom-charset1은 -1로 줄일 수 있습니다. -N으로 지정된 문자 집합은

  -1 abc123 ?와 같은 자리 표시자 "?N" 형태로 마스크에 지정됩니다. 1? 1? 1

는 암호 사전과 동일합니다.

  aaa 
아아브 
  ... 
aa3 이미지 
  ... 
  333

-N은 문자 집합을 나타내는 문자열 외에도 문자 집합을 저장하는 .hcchr로 끝나는 파일일 수도 있습니다. hashcat에는 설치 패키지의 charsets/디렉토리에 있는 .hcchr 파일이 많이 제공됩니다.

자리 표시자 "??"가 나타내는 문자 집합은 "?" 자체입니다. 이 외에도 나머지 문자를 자리 표시자로 사용하면 문자 자체를 나타냅니다. 예를 들어 "?lwerner?d"는 암호 사전과 동일합니다.

  awerner0 
아워너 1 
  ... 
  zwerner9

위의 지식이 있으면 mask를 쉽게 이해할 수 있습니다. 마스크는 여러 자리 표시자로 구성됩니다. 각 자리 표시자는 문자 집합이고 마스크는 자리 표시자 문자 집합의 조합입니다. 자리 표시자의 수는 암호의 길이와 같습니다. 이런 디자인은 단순히 문자 집합과 비밀번호 길이를 주는 것보다 어떤 이점이 있을까요?

누군가의 비밀번호에 총 7자리가 있다는 것을 알고 있다고 가정합니다. 첫 번째 자리는 대문자, 다음 세 자리는 소문자, 마지막 세 자리는 숫자입니다. 전통적인 폭력 크래킹의 경우 문자 세트 A-Z, A-Z, 0-9, 총 62자가 필요합니다. 최대 62^7=3 521 614 606208번 시도해야 하며 이는 조 수준입니다. 이 비밀번호를 설명하기 위해 마스크를 사용하면 계산하기 쉬운 "\u\l\l\l\d\d\d"입니다. 총 (26^4)×(10^3)=456 976,000개의 가능성이 있습니다. , 이는 이전 방법에 비해 4배 줄어든 수준입니다.

한 걸음 물러서서, 비밀번호의 분포를 모르더라도 마스크를 사용하면 기존의 폭력적인 해독의 효과를 쉽게 시뮬레이션할 수 있다.

이제 문제는 마스크가 고정되어 있고, 그 안에 얼마나 많은 자리 표시자가 죽어 있는지, 비밀번호의 길이를 모른다면 어떻게 해야 하는지입니다. 비밀번호가 너무 길어도 된다. 만약 다른 사람의 비밀번호가 3자리밖에 없고, 우리의 자리표시자가 4개가 있어서 아무리 해결할 수 없다면, 어찌 큰 손해가 아닌가. 1부터 시작해서 각 길이의 마스크를 한 번 써야 할까요? 그것은 얼마나 귀찮은가.

에는 두 가지 해결 방법이 있습니다. 하나는 mask 파일을 사용하여 하나의 파일에 여러 개의 mask를 쓴 다음 명령줄에 이 파일을 지정하는 것입니다. 마스크 파일은 .hcmask로 끝나야 합니다.

예를 들어 test.hcmask의 내용은 다음과 같습니다.

  ? 엘 
  ? 엘? 엘 
  ? 엘? 엘? 엘 
  ? 엘? 엘? 엘? l

는 다음 명령을 사용하여 파일을 사용합니다.

  hashcat -m 0 -a 3  --show md5.hash test.hcmask

또 다른 해결 방법은 매개변수 –increment를 추가하는 것입니다. 이 매개변수는 hashcat에게 우리가 주는 마스크에 따라 한 자리 표시자부터 시작하도록 알려줍니다. 그리고 우리가 주어진 길이가 될 때까지 두 개, 세 개를 시도합니다. 예를 들어 이 자리 표시자 "abc"를 작성한 다음 다음 문자열의 md5 값을 계산합니다.

  a:0cc175b9c0f1b6a831c399e269772661 
  b:92eb5ffee6ae2fec3ad71c777531578f 
  c:4a8a08f09d37b73795649038408b5f33 
  ab:187ef4436122d1cc2f40dc2b92f0eba0 
  ac:e2075474294983e013ee4dd2201c7a73 
ba:07159c47ee1b19ae4fb9c40d480856c4 
  bc: 5360af35bde9ebd8f01f492dc059593c 
  ca:5435c69ed3bcc5b2e4d580e393e373d3 
  cb:d0d7fdb6977b26929fb68c6083c0b439 
  abc:900150983cd24fb0d6963f7d28e17f72 
  abc:900150983cd24fb0d6963f7d28e17f72 
  bac:79ec16df80b57696a03bb364410061f3 
  bca:b64eab8ce39e013604e243089c687e4f 
  cba:3944b025c9ca7eec3154b44666ae04a0 
  cab:16ecfd64586ec6c1ab212762c2c38a90

":" 앞에는 해시 값을 계산할 원본 문자열이 있고, ":" 뒤에는 계산된 hasn 값이 있습니다. 위의 내용을 md5.hash 파일에 저장한 다음 다음 명령을 실행합니다.

  hashcat -m 0 -a 3 --show --username md5.hash abc

매개변수 –username을 추가하는 이유는 각 해시 값 앞에 원래 문자열이 있기 때문입니다. 이 매개변수를 추가하지 않으면 hashcat은 올바른 해시 값을 찾을 수 없음을 표시합니다. 이 매개변수를 추가하면 hashcat은 해시 값 앞의 문자열이 해시 값 쌍의 사용자 이름이라고 생각하여 해시 값을 원활하게 로드할 수 있습니다.

실행 결과 단 하나의 해시만 해결되었습니다.

  900150983cd24fb0d6963f7d28e17f72:abc

이제 매개 변수 –increment를 추가하고 다시 실행합니다.

  hashcat -m 0 -a 3 --show --increment --username md5.hash abc

이번에는 두 개의 해시가 더 풀렸습니다.

  0cc175b9c0f1b6a831c399e269772661:a 
  187ef4436122d1cc2f40dc2b92f0eba0:ab

볼 수 있듯이 –increment가 작동합니다. 그러나 동시에 우리는 이 매개변수가 있으면 hashcat은 A, ab, abc를 순서대로만 시도할 뿐 자리 표시자를 순서대로 배열하고 조합하여 다양한 가능성을 시도하지 않는다는 것을 알고 있다.

5. 하이브리드 공격

하이브리드 공격은 두 개의 사전을 결합하는 Combinator 공격과 비슷한 반면, 하이브리드 공격은 사전과 마스크를 교배하는 것입니다.

이미 다음과 같은 사전 example.dict를 가지고 있다고 가정합니다.

   안녕하세요 
  werner

명령:

  hashcat -m 0 -a 6 md5.hash example.dict ? 디? d

는 단순히 사전을 사용하는 것과 동일합니다.

  hello00 
안녕하세요01 
  ... 
안녕하세요99 
  워너00 
베르너 01 
  ... 
  werener99

명령:

  hashcat -m 0 -a 7 md5.hash ? 디?  dexample.dict

는 단순히 사전을 사용하는 것과 동일합니다.

  00안녕하세요 
  01안녕 
  ... 
  99안녕 
  00워너 
  01베르너 
  ... 
이 게시물을 즐겨찾기로 설정                                         

이전:다양한 해시를 해독하기 위해 해시 고양이 소프트웨어를 사용하는 방법.
다음:Hashcat을 사용하는 방법: 기술 공유
  • Word, Excel, PPT, PDF, RAR, ZIP, 7Z, 압축 패키지, Office 암호화 파일 잠금 해제 및 암호 해제에 집중
  • 우리는 사용자에게 고품질의 파일 압축 패키지 비밀번호 복구, PDF 잠금 해제 Word 비밀번호 검색을 제공합니다
  • 저작권 © 문서 비밀번호 복구 마스터온라인 암호 해독 플랫폼