바보를 위한 무차별 대입 가이드 1부

3086 단어 tutorialsecurity
얼마 전 오래된 하드 드라이브에서 암호로 보호된 zip 파일을 발견했습니다. 이름이 흥미롭고 암호를 몰랐다는 것을 알고 무차별 대입을 배우기에 좋은 도전이 될 것이라고 스스로에게 말했습니다.

무차별 대입. 올바른 암호를 찾을 때까지 가능한 모든 암호를 체계적으로 확인하는 행위 - see Wikipedia for more.


그 뒤에 수학



이제 당신이 나를 미워하기 시작할 거라는 걸 알아요. 무차별 대입의 정의에 따라 수학에 대해 걱정할 필요가 없는 것 같습니다. 무차별 대입자들은 수학에서 벗어나고 싶어합니다. 하지만 일단 시작하면 피할 수 없습니다.

그래서 적어도 이 파일을 얼마나 오래 크래킹할 수 있는지 알기 위해서는 그것을 배워야 한다고 스스로에게 말했습니다.

Bruteforcing은 순수한 수학이며 처음에는 이해하지 못했습니다. 그렇기 때문에 연속 30일 동안 연중무휴 24시간 암호 해독을 시도했지만 아무런 결과도 없이 결국 좌절하게 되었습니다 :(.

수학은 간단합니다. 두 구성 요소와 그 관계를 정의해 보겠습니다.
  • 문자 집합
  • 암호 길이

  • 문자 집합



    문자 집합은 무차별 대입하려는 암호에 포함된 문자 목록입니다. 일반적으로 다음 유형의 조합으로 구성됩니다.
  • 소문자 알파벳 [a-z]
  • 대문자알파벳[A-Z]
  • 숫자 [0-9]
  • 추가 문자 [.-!]

  • 실용적인 예를 들어보겠습니다. 크랙하려는 파일의 경우 다음 명령을 사용하여 무차별 대입했습니다.

    $ fcrackzip -b -c aA1! -u -l 4-10 file.zip > result.txt
    

    fcrackzip에서 c aA1! 매개변수는 문자 세트를 정의합니다. 이 경우 소문자 및 대문자 알파벳 숫자와 추가 문자를 사용한다는 의미입니다.

    Character set = a-z + A-Z + 0-9 + .-!
    
    # of characters = 26 + 26 + 10 + 33 = 95
    


    이 문자를 모두 더하면 총 95개가 됩니다. 암호 길이를 살펴보겠습니다.

    비밀번호 길이



    우리가 해독하려는 암호의 문자 수를 정의합니다.

    무차별 대입할 때 암호 길이는 교육적으로 추측하는 경향이 있습니다. 암호의 길이를 정확히 아는 경우는 드뭅니다. 더 자주 우리는 최소 및 최대 암호 길이를 알고 있습니다.

    위의 명령을 다시 실행하면 i도 암호 길이와 관련하여 교육적인 추측을 했음을 알 수 있습니다.

    $ fcrackzip -b -c aA1! -u -l 4-10 file.zip > result.txt
    


    4자에서 10자 사이로 추정했습니다.

    관계



    이제 기본 정보를 정리했으므로 이것이 어떻게 도움이 되는지 살펴보겠습니다. 가능한 조합의 총 수를 계산해 봅시다.

    지금까지 다음을 설정했습니다.

    Minimum password length : 4
    Maximum password length : 10
    Size of character set : 95
    


    둘 사이의 관계는 다음 방정식으로 설명됩니다.



    암호의 각 문자에 대해 95개의 가능성이 있습니다.

    95 x 95 x 95 x 95 = 81,450,625 possible combinations
    


    즉, 4자 암호의 경우 8,100만 가지 조합이 가능합니다. 5자 암호의 경우 총 조합 수는 다음과 같습니다.

    95 x 95 x 95 x 95 x 95 = 7,737,809,375 possible combinations
    


    또한 6, 7, 8, 9 또는 10자 암호의 조합 수를 계산할 수도 있습니다. 관심이 있다면 계속해서 계산해 보십시오.

    좋은 웹페이지 즐겨찾기