암호 해독의 기술적 원리: 암호 해독의 성공률을 높이는 방법과 암호를 성공적으로 해독하고 복구하는 방법.

해커처럼 생각하고 비밀번호의 구조에 따라 얼마나 빨리 해킹될 수 있는지 스스로에게 물어보세요. 해커나 침투 테스터가 시스템을 파괴하고 데이터베이스 덤프에서 일반 텍스트 암호에 액세스하려면 먼저 저장된 암호 해시를 해킹해야 합니다.When hackers or penetration testers breaks a system and want to access plain-text password from the database dump, they must first hack the password hash. 많은 공격자들이 그들이 원하는 모든 암호 공격을 거의 이유 없이 시도한다는 개념에 빠져들었다. 이 토론에서는 몇 가지 효과적인 비밀번호 해독 방법과 비밀번호의 통계적 분석을 도구와 결합하여 효율적이고 성공적인 해독을 위한 시간 제한된 방법을 만드는 방법을 보여줍니다.

이것이 왜 중요한가?

암호 해독은 죽어가는 사업입니다. 사용자는 더 복잡한 암호를 만들어야 했고, 일부 백엔드 개발자는 표준 해시 함수를 대체하기 위해  Bcrypt 와 같은 메커니즘을 사용하기 시작했습니다. Bcrypt 해시는 생성하는 데 더 오랜 시간이 걸리므로 비밀번호를 해독하기가 더 어려워집니다. 크래커는 비밀번호를 효과적으로 해독하기 위해 매우 빠르게 해시값을 생성해야 하므로 Bcrypt는 이러한 공격에 대항하는 매우 강력한 도구입니다. 이 예를 설명하기 위해 2012년에 도입된 25개의 GPU 클러스터로 만든 암호 해독 프로그램은 초당 3,500억 해시의 NTLM 해시 생성 속도를 달성할 수 있었고, Bcrypt는 71,000개의 해시 생성 속도를 달성할 수 있었습니다. 이를 비교 모델로 사용하면 생성된 각 Bcrypt 해시에 대해 500만 개의 NTLM 해시를 생성할 수 있습니다. Bcrpyted 알고리즘에 직면했을 때, 해커는 암호에 대해 더 많은 계산 추측을 해야 하며, 모든 가능성에 대해 무력을 사용하는 것에 의존할 수 없습니다.

执行流程的顺序

참고: 공격자가 암호의 길이가 매우 짧아서 키 공간을 폭력으로 해독하는 데 오랜 시간이 걸리지 않는다는 것을 알고 있다면 증분 공격 단계를 수행할 필요가 없습니다.

타임라인

시간 효율성은 암호를 성공적으로 해독하는 데 중요한 요소가 됩니다. 사용자 암호의 전체 주요 공간을 덮어쓰는 것이 좋지만, 그렇게 하는 데 필요한 시간은 일반적으로 실행 가능하지 않습니다. 따라서 크래킹을 할 때는 가장 시간을 절약하는 공격을 먼저 시도하고, 성공하지 못하면 더 많은 키 공간을 커버하는 느린 암호 공격을 진행하는 것이 중요합니다. 가장 빠른 방법은 일반적으로 사용하는 사용자 비밀번호와 이전 비밀번호 덤프를 기반으로 한 간단한 사전 공격입니다. 거기서부터는 사전을 조작하여 끝에 숫자나 기호를 붙이거나 글자를 바꾸어 보아야 한다. 이를 하이브리드 공격 또는 규칙 기반 공격이라고 합니다. 다음으로 머신러닝 기능을 사용하여 가능한 비밀번호를 생성해 볼 수 있습니다. 마르코프 체인(Markov chain)이 좋은 예이다. 영어에 존재하는 일반적인 요소를 조합하여 단어(예: "ing", "er", "qu")를 형성함으로써 아래와 같은 비밀번호에 대한 좋은 추측을 생성할 수 있습니다. 이 특정 비밀번호는 어떤 방법으로든 쉽게 해독될 수 있지만, 모든 공격 벡터를 단순화하기 위해 이 비밀번호를 사용합니다. Password1234Password1234

Pa + ss + Word + 1234

마지막으로 표적 폭력 공격(마스크 공격이라고 함)은 암호 구조를 기반으로 주어진 암호의 모든 키 공간을 덮어씁니다. 암호의 구조 는 암호를 만드는 데 사용되는 문자의 유형과 순서를 의미합니다. 예를 들어, 구조에는 대문자가 있고, 그 다음에는 소문자 7자와 4자리( 로 표시)가 있습니다. Password1234ullllllldddd

소문자 , 대문자 , 기호 , 숫자(l)(u)(s)(d)

따라서 공격자가 이 구조를 사용하여 문자 조합의 모든 가능성을 생성하기로 결정하면 결국 비밀번호를 찾을 것입니다. 그러면 공격자의 질문은 다음과 같습니다. 해시 값 세트를 공격할 때 먼저 어떤 구조를 표적으로 삼아야 합니까? Password1234

통계 분석

이 질문에 답하는 데 도움이 되기 위해 인기 있는 암호 덤프에 대한 통계 분석을 수행하여 다른 암호 구조보다 더 일반적인 암호 구조가 있는지, 그리고 그 구조가 얼마나 올바른지 확인했습니다. 공개적으로 노출된 3400만 개가 넘는 비밀번호의 샘플 크기는 RockYou, LinkedIn, phpBB와 같은 유명한 비밀번호 덤프를 포함합니다.


다음 그림은 마스크 구조의 고유 마스크별 주파수를 보여준다. 빨간색 선은 가장 자주 나타나는 13번째 마스크 뒤에 나타나는 50% 선을 나타냅니다.


从示例图派生的密码掩码

이는 첫 13개의 고유 마스크 구조가 샘플 암호의 50%를 차지한다는 것을 의미합니다. 샘플에서 2천만 개 이상의 암호의 구조가 처음 13개의 마스크에 있습니다. 이러한 결과는 구조화된 암호의 보편성 측면에서 상당히 충격적입니다. 나머지 50%는 긴 오른쪽 꼬리 안에 있으며 이 그림에서 축소되었습니다. 실제로 260,500개의 고유 마스크 중 400개만 이 그림에 표시됩니다. 이 범용 구조 암호의 개념은 믿을 수 없습니다; 그러나 사용자가 비밀번호를 어떻게 만들고 기억하는지 생각해 보면 놀라운 일이 아닙니다. 분석 데이터에 따르면 이것이 어떻게 가능한지 설명하는 데 도움이 되는 논리적 요소가 있습니다. 사용자가 대문자가 포함된 비밀번호를 요청할 때 90% 이상의 경우 첫 번째 문자로 사용됩니다. 숫자를 요청할 때 대부분의 사용자는 비밀번호 끝에 두 자리의 숫자를 추가합니다(아마도 졸업 연도일 것입니다). 다음으로 가장 인기 있는 옵션은 네 자리 숫자로 암호를 끝내는 것입니다 (아마도 지난 해나 올해). 이 경우 다음으로 가장 인기있는 숫자는 끝에 숫자가 있고 끝에 세 개의 숫자가 있습니다. 이와 같은 구조적 공통성은 공격자가 사용자 비밀번호의 구조가 가장 가능성이 높은 것을 예측할 수 있게 한다.

통계적 혼합 – 가속화

이러한 구조적 지식을 활용하여 사용자가 모두 9글자로 시작하고 9글자로 시작하더라도 비밀번호를 than(무작위 문자)로 설정할 가능성이 높다고 가정하는 것이 안전합니다. 따라서 암호 구조가 주어지면 연속된 문자를 보면 단어일 가능성이 높다고 가정합니다. 이는 크래커에게는 매우 유용한 가정입니다. 왜냐하면 많은 키 공간을 제거하기 때문입니다. 그런 다음 일반적인 암호 구조의 통계적 유의성을 이용하는 하이브리드 공격이 됩니다. potatoespwivwdhpp

효율성 및 시간 제한

일반적으로 침투 테스터로서 해시 세트를 깨뜨리는 경우에도 모든 해시를 해킹할 시간이 없을 수 있습니다. 그러나 이를 파괴하면 시스템에 대한 액세스를 업그레이드하고 고객에게 더 유용한 발견을 제공할 수 있습니다. 따라서 암호를 해독할 때 해시 값 세트를 해독하는 데 얼마나 많은 시간을 할당할지 결정하는 것이 유용할 수 있습니다. 이전 분석에서 발견된 구조를 사용하여 공격자는 가장 빠른 완료 시간에 따라 정렬된 비밀번호 복잡성 요구 사항을 기반으로 인기 있는 상위 10개 구조를 덮어씌우고자 하는 구조를 결정할 수 있습니다. 마지막으로, 공격자는 크래킹을 수행하는 데 1시간 이내의 시간을 소비함으로써 자신의 방법에 시간을 제한할 수 있습니다. 이것은 최근 해시를 얻기 위한 침투 테스트에서 발견되었습니다. 아래는 CPU 기반 크래커의 결과 스냅샷입니다.

受损结果表

이 경우 가장 빠르게 완성되는 구조는 , 우리는 대문자로 정의하고 그 다음에 세 개의 소문자 ("W"는 "Word"를 의미합니다), 그 다음에 네 자리의 숫자로 정의합니다. 해시 세트에는 이 구조에 일치하는 암호가 69개 있으며, 제 표준 CPU는 이 구조의 모든 가능성을 1분 안에 순회할 수 있습니다. 우리는 62분 만에 크래킹을 중지했고, 크래킹은 491개의 계정과 일치하는 221개의 고유한 크래킹 해시를 생성했으며, 총 11%의 유출을 초래했습니다. 해킹 비밀번호와 계정 유출 건수의 차이가 큰 이유는 오피스 설정으로 인해 흔히 사용하는 비밀번호를 사용하게 되는 경향이 있기 때문입니다. 공격자가 환경에서 공통 암호를 사용하고 있다고 판단하면 동일한 암호를 가진 모든 사용자도 위협을 받게 됩니다. U(W3)dddd

하이브리드 공격이나 규칙 기반 공격(예를 들어)은 이러한 암호 중 여러 개를 더 빠르게 해독할 수 있지만, 공격 암호의 구조는 더 많은 키 공간을 커버할 수 있게 해줍니다. 이 방법은 Faster 공격이 대상 해시를 성공적으로 손상시키지 못하는 것으로 입증되면 효과적인 다음 단계입니다. 또한, 이 예제는 꽤 평범한 CPU에서 수행되었으며, 강력한 GPU에서 동일한 공격을 수행하면 이 시간을 몇 초로 단축할 수 있다는 점을 기억하는 것이 중요합니다. 따라서 정확한 시기는 이론을 효과적으로 실행하는 것보다 덜 중요하다. best64

에 대한 통계 분석은 일반적인 암호 구조를 일반적으로 공격하는 데 도움이 됩니다. 그러나 특정 응용 프로그램을 찾는 데 도움이 되는 도구가 있습니다. CeWL 과 같은 도구는 웹 페이지에서 단어를 스크랩하여 회사에 대한 단어 목록이나 사전을 생성하는 데 사용할 수 있습니다. 기업이 자사의 업종, 회사 또는 직업과 관련된 비밀번호를 사용하는 경향이 있기 때문에 효과가 있습니다. 또한, 일반적으로 사용되는 비밀번호가 업무 환경에서 유행하는 것으로 판단했기 때문에 이미 해독된 비밀번호도 다른 비밀번호의 기초로 사용할 수 있으며, 이와 비슷할 수 있습니다. 예를 들어, "" 가 사용자의 비밀번호라는 것을 발견하면 "" 를 새 단어 목록에 넣고 규칙 세트에 넣은 다음 다른 사람이 "" 비밀번호를 가지고 있다는 것을 발견할 수 있습니다. ''와 같이 크래킹된 기본 단어를 사용하고 주변 문자로 수정하는 이러한 개념은 암호 재사용 개념으로 거슬러 올라가는 엔터프라이즈 환경에서 덤프된 해시 값을 크래킹할 때 매우 효과적입니다. 우리가 실시한 침투 테스트에 따르면, 이는 마지막 20%의 해킹되지 않은 해시 값을 해킹하는 데 가장 적합합니다. AcmeCorp1234AcmeCorpAcmeCorp@2015AcmeCorp

또한 길이나 문자 구성 때문에 추측할 수 없는 비밀번호를 추측하는 데 시간을 낭비하지 않도록 추측된 모든 비밀번호가 응용 프로그램에서 지정한 요구 사항을 충족하도록 사전을 트리밍하는 것이 중요합니다.

조합

가장 빠른 공격부터 시작하여 최소한의 키 공간(표준 사전 공격)을 가장 느리고 가장 큰 키 공간(순수한 무력력)까지 오버레이하는 것이 공격에 할당된 시간을 고려하는 가장 이상적인 진행입니다. 따라서 공격자는 이를 고려한 표준적인 방법을 구현해야 한다. 공격자가 해킹하려는 계정이 첫 번째 단계에서 완료되면 다른 공격을 계속 사용할 이유가 없을 수 있습니다; 그러나 대상 계정이 존재하는 경우 단순한 사전 공격으로는 충분하지 않거나 공격자가 가능한 한 많은 계정을 파괴하려고 하는 경우가 많아 통계 구조를 이용한 하이브리드 공격과 표적 폭력 공격이 필요할 수 있다. 따라서 성공적인 크래킹을 위해서는 방법을 구축하는 것이 필수적이며, 여기에는 앞서 언급한 방법과 몇 가지 자동화된 프로세스가 포함될 수 있습니다. 최근의 도구(예:   PRINCE)는 암호 해독을 용이하게 할 수 있습니다. PRINCE가 메소드에서 시도하는 것처럼 도구 밴드를 개발하는 것도 중요하지만, 도구에 전적으로 의존하지 않고 도구 뒤에 있는 기능을 이해하는 것이 크래킹을 더욱 효과적으로 할 수 있습니다.

방어 – 통계에 대항하는 방법

이러한 암호를 사용하여 분석을 통해 필요한 복잡성 수준을 고려하여 가장 인기있는 구조를 결정할 수 있습니다. 따라서 개발자는 이전 도면의 곡선을 평평하게 만들기 위해 사용자가 이러한 매우 인기 있는 구조 중 일부를 사용하지 못하도록 몇 가지 컨트롤을 구현해야 할 것입니다. 그러나 이 아이디어의 문제점은 간단한 구조가 없으면 사용자가 비밀번호를 기억하기 어려울 수 있다는 것입니다. 이중 인증이 필요한 비밀번호 관리자를 사용하는 것을 추천합니다. 이러한 응용 프로그램은 모든 암호를 생성하고 저장하므로 메모리는 문제가 되지 않습니다. 그들이 생성하는 비밀번호는 구조적으로 무작위이며 앱이 허용하는 한 항상 사용할 수 있습니다. 앞서 언급했듯이 암호화된 암호는 공격자의 발전 전망을 늦출 수 있는 또 다른 매우 효과적인 방법입니다. 마지막으로, 사용자가 비밀번호를 공유하거나 다시 사용하는 것의 위험성을 이해할 수 있도록 사무실 내에서 정책을 구현하는 것은 사용자가 항상 따르지 않더라도 올바른 방향으로 나아가는 성공적인 단계입니다. 비록 그들이 항상 준수하지는 않을 가능성이 높지만, 이것은 효과적인 통제 조치입니다.

결론 및 수확

암호 해독은 모호한 개념일 수 있습니다. 크래킹의 난이도가 높아짐에 따라 효율성 기반의 표적 공격이 필요하며, 개별 크래킹 방법을 확립해야 한다. 결국 해시 생성 속도를 높이기 위해 돈을 투자하는 것은 가치가 없습니다. 따라서 통계와 도구를 공격 수단으로 사용하여 하나의 방법과 단순화된 프로세스를 구현하면 비밀번호 해독을 촉진할 수 있습니다. 개발자는 이러한 상황에 대처하기 위한 통제를 개발할 수 있으며, 사용자는 안전한 비밀번호 관리자를 사용하여 이러한 공격의 효과를 최소화할 수 있습니다. 그러나 이러한 구현은 아직 그다지 인기가 없다. 현재 비밀번호에 대한 통계적 공격은 크랙 횟수와 시간 연결 효율성 측면에서 효과적입니다. 자신의 비밀번호에 대해 생각하고 비밀번호의 구조와 공격자가 사용자의 계정을 해킹할 수 있는 사무실 내의 제어에 따라 얼마나 빨리 해킹될 수 있는지 스스로에게 물어보십시오.

이전:Hashcat은 세계에서 가장 빠른 암호 해독 도구라고 주장합니다. Hashcat을 사용하여 암호를 해독하는 방법은 무엇입니까?
다음:튜토리얼: 전문 암호 해독 소프트웨어를 사용하여 자신의 컴퓨터에서 Excel, Word, PDF 및 압축 아카이브 파일의 암호를 해독합니다.
  • Word, Excel, PPT, PDF, RAR, ZIP, 7Z, 압축 패키지, Office 암호화 파일 잠금 해제 및 암호 해제에 집중
  • 우리는 사용자에게 고품질의 파일 압축 패키지 비밀번호 복구, PDF 잠금 해제 Word 비밀번호 검색을 제공합니다
  • 저작권 © 문서 비밀번호 복구 마스터온라인 암호 해독 플랫폼