
고성능 워드 생성기로, 각 위치별로 구성 가능한 문자셋을 지원합니다.
위치별로 설정 가능한 문자 집합을 사용하는 고성능 단어 생성기
주어진 키스페이스의 모든 조합을 시도하는 방식은 무차별 대입 공격과 같지만, 더 구체적입니다.
전통적인 무차별 대입 공격을 고수하지 않고 이 방식을 사용하는 이유는 비밀번호 후보 키스페이스를 더 효율적인 것으로 줄이기 위해서입니다.
한 가지 예를 들어보겠습니다. 비밀번호: Julia1984를 크랙하려고 합니다.
전통적인 무차별 대입 공격에서는 모든 대문자, 모든 소문자, 모든 숫자를 포함하는 문자 집합("mixalpha-numeric")이 필요합니다. 비밀번호 길이는 9이므로 62^9(13,537,086,546,263,552)개의 조합을 반복해야 합니다. 크랙 속도가 100M/s라면 완료하는 데 4년 이상이 걸립니다.
마스크 공격에서는 인간과 그들이 비밀번호를 설계하는 방식에 대해 알고 있습니다. 위의 비밀번호는 간단하지만 일반적인 패턴인 이름 뒤에 연도가 붙은 형태와 일치합니다. 또한 첫 번째 위치에만 대문자를 시도하도록 공격을 구성할 수 있습니다. 두 번째나 세 번째 위치에만 대문자가 나타나는 경우는 매우 드뭅니다. 요약하면, 마스크 공격을 통해 키스페이스를 522626262610101010(237,627,520,000)개의 조합으로 줄일 수 있습니다. 동일한 크랙 속도 100M/s로 이 작업은 단 40분 만에 완료됩니다.
단점은 없습니다. 위 예제가 매우 특정적이라는 주장이 있을 수 있지만 이는 중요하지 않습니다. 마스크 공격에서도 무차별 대입 공격과 정확히 동일한 키스페이스를 사용하도록 마스크를 구성할 수 있습니다. 중요한 것은 그 반대는 불가능하다는 점입니다.
생성된 비밀번호 후보의 각 위치에 대해 플레이스홀더를 구성해야 합니다. 크랙하려는 비밀번호의 길이가 8이라면 마스크는 8개의 플레이스홀더로 구성되어야 합니다.
4개의 사용자 정의 문자 집합을 구성하는 4개의 명령줄 매개변수가 있습니다.
이 명령줄 매개변수에는 각각 -1, -2, -3, -4라는 4개의 단축키가 있습니다. 명령줄에서 문자를 직접 지정할 수 있습니다.
마스크 공격은 항상 특정 비밀번호 길이에 한정됩니다. 예를 들어, 마스크 "?l?l?l?l?l?l?l?l"을 사용하면 길이가 8인 비밀번호만 크랙할 수 있습니다. 하지만 크랙하려는 비밀번호의 길이가 7이면 찾을 수 없습니다. 따라서 마스크에 플레이스홀더를 하나씩 추가하면서 공격을 여러 번 반복해야 합니다. 이는 "--increment" 플래그를 사용하여 투명하게 자동화됩니다.
현재 세계에서 가장 빠른 단어 생성기입니다. 몇 가지 통계는 다음과 같습니다.
테스트 중 불규칙성을 피하기 위해 모든 출력은 /dev/null로 전송되었습니다.
다음 명령어는 다음과 같은 비밀번호 후보를 생성합니다.
명령어: ?l?l?l?l?l?l?l?l
키스페이스: aaaaaaaa - zzzzzzzz
명령어: -1 ?l?d ?1?1?1?1?1
키스페이스: aaaaa - 99999
명령어: password?d
키스페이스: password0 - password9
명령어: -1 ?l?u ?1?l?l?l?l?l19?d?d
키스페이스: aaaaaa1900 - Zzzzzz1999
명령어: -1 ?dabcdef -2 ?l?u ?1?1?2?2?2?2?2
키스페이스: 00aaaaa - ffZZZZZ
명령어: -1 efghijklmnop ?1?1?1
키스페이스: eee - ppp
간단히 make를 실행하세요.
Linux, Windows 및 OSX용 바이너리: https://github.com/jsteube/maskprocessor/releases