비밀번호 강도를 테스트하기 위해 직접 비밀번호를 해독하는 방법

이 기사에서는 오픈소스 비밀번호 해독 도구를 사용하여 3가지 비밀번호를 테스트하여 비밀번호 보안에 있어 어떤 방법이 실제로 효과적인지 알아냈습니다.

목차

비밀번호 해독이란 무엇인가요?

비밀번호 강도를 테스트하기 위해 직접 비밀번호를 해독하는 방법

온라인 서비스에 계정을 만들면 서비스 제공자는 일반적으로 해당 서버에서 로그인 정보를 암호화합니다. 이는 비밀번호를 위한 겉보기에 고유한 무작위 문자와 숫자 문자열인 "해시"를 생성하는 알고리즘을 사용하여 수행됩니다. 물론, 실제로 무작위적인 것은 아니며, 오직 사용자의 비밀번호에 의해서만 생성될 수 있는 매우 특정한 문자열이지만, 훈련되지 않은 눈에는 엉망으로 보입니다.

단어를 해시로 바꾸는 것은 해시를 다시 단어로 "디코딩"하는 것보다 훨씬 빠르고 쉽습니다. 따라서 비밀번호를 설정하면 로그인하는 서비스에서 비밀번호를 해시하여 실행하고 그 결과를 해당 서버에 저장합니다.

이 비밀번호 파일이 유출되면 해커는 비밀번호를 해독하여 내용을 알아내려고 시도합니다. 비밀번호를 암호화하는 것이 해독하는 것보다 빠르기 때문에 해커는 잠재적인 비밀번호를 입력으로 받고 서버와 동일한 방법을 사용하여 암호화한 다음 결과를 비밀번호 데이터베이스와 비교하는 시스템을 설정합니다.

잠재적 비밀번호의 해시가 데이터베이스의 어떤 항목과도 ​​일치하면 해커는 모든 시도가 시도된 잠재적 비밀번호와 일치한다는 것을 알게 됩니다.

HashCat을 사용하여 자신의 비밀번호를 해독하는 방법

기사에 나온 비밀번호 중 몇 개를 풀어서 얼마나 쉬운지 확인해 보세요. 이를 위해 이 예제에서는 누구나 사용할 수 있는 무료 오픈 소스 비밀번호 해독 도구 인 Hashcat을 사용합니다.

이러한 테스트의 경우 예제는 다음 비밀번호를 해독합니다.

  • 123456 : 고전적인 비밀번호이자 사이버보안의 악몽인 123456은 전 세계에서 가장 흔히 사용되는 비밀번호 입니다 . NordPass는 300만 개의 계정이 비밀번호로 123456을 사용하고 있으며, 이 중 120만 개는 기업 계정을 보호하고 있다고 계산했습니다.
  • 수잔48! : 대부분의 사용자가 안전한 비밀번호를 만드는 데 사용하는 패턴을 따르는 비밀번호입니다. 이는 일반적으로 기본적인 비밀번호 보호 기준을 충족하지만, 나중에 살펴보겠지만 악용될 수 있는 몇 가지 중요한 취약점이 있습니다.
  • t9^kJ$2q9a : Bitwarden 도구를 사용하여 생성된 비밀번호. 대문자, 소문자, 기호, 숫자를 섞어 10자리 길이의 비밀번호를 생성하도록 설정되어 있습니다.

이제 MD5를 사용하여 비밀번호를 암호화합니다. 저장된 비밀번호 파일에 비밀번호가 어떻게 표시되는지 살펴보겠습니다.

  • 123456 : e10adc3949ba59abbe56e057f20f883e
  • 수잔48! : df1ce7227606805745ee6cbc644ecbe4
  • t9^kJ$2q9a : 450e4e0ad3ed8766cb2ba83081c0a625

이제 해독할 차례입니다.

Dictionary Attack 방법을 사용하여 간단한 탈옥을 수행합니다.

비밀번호 강도를 테스트하기 위해 직접 비밀번호를 해독하는 방법

먼저, 가장 흔한 비밀번호 공격 방법 중 하나인 사전 공격을 수행해 보겠습니다. 해커가 잠재적인 비밀번호 목록을 가져와 Hashcat에 이를 MD5로 변환하도록 요청한 다음, 비밀번호 중 어떤 것이 위의 3개 항목과 일치하는지 확인하는 간단한 공격입니다. 이 테스트에서는 역사상 가장 큰 비밀번호 유출 사건 중 하나인 "rockyou.txt" 파일을 사전으로 사용해 보겠습니다.

크래킹을 시작하려면, 기사 작성자는 Hashcat 폴더로 가서 빈 공간을 마우스 오른쪽 버튼으로 클릭하고 '터미널에서 열기'를 클릭해야 합니다 . 이제 터미널이 열리고 Hashcat 디렉토리로 설정되었으므로 다음 명령을 사용하여 Hashcat 애플리케이션을 호출합니다.

.\hashcat -m 0 -a 0 passwordfile.txt rockyou.txt -o results.txt

명령의 기능은 다음과 같습니다.

  • .\hashcat이 Hashcat을 호출합니다.
  • -m 0 : 사용할 인코딩 유형을 지정합니다. 이 사례에서는 Hashcat 도움말 문서에 0으로 나열된 MD5를 사용합니다.
  • -a 0 : 수행할 공격을 지정합니다. Hashcat 도움말 문서에는 Dictionary Attack이 0으로 나열되어 있으므로 여기서는 그렇게 부릅니다.
  • passwordfile.txt rockyou.txt : 첫 번째 파일에는 앞서 설정한 3개의 암호화된 비밀번호가 들어 있습니다. 두 번째 파일은 rockyou 비밀번호 데이터베이스 전체입니다.
  • -o results.txt : 이 변수는 결과를 어디에 저장할지 결정합니다. 해당 명령은 해독된 비밀번호를 "results"라는 이름의 TXT 파일에 저장합니다.

rockyou가 아무리 거대하더라도 Hashcat은 그것들을 모두 6초 만에 처리했습니다. 결과 파일에서 Hashcat은 비밀번호 123456을 해독했다고 밝혔지만, 비밀번호 Susan과 Bitwarden은 여전히 ​​해독되지 않았습니다. 그 이유는 123456이 rockyou.txt 파일에서 다른 사람에 의해 사용되었지만, Susan이나 Bitwarden이라는 비밀번호는 다른 사람이 사용하지 않았기 때문입니다. 즉, 그들은 이 공격에서 살아남을 만큼 안전했습니다.

은폐된 Brute Force 공격을 사용하여 보다 복잡한 탈옥을 수행합니다.

비밀번호 강도를 테스트하기 위해 직접 비밀번호를 해독하는 방법
Hashcat을 사용하여 무차별 대입 공격 수행

사전 공격은 누군가가 대규모 비밀번호 목록에서 찾은 비밀번호와 동일한 비밀번호를 사용할 때 효과적입니다. 이러한 방법은 구현이 빠르고 쉽지만 사전에 없는 비밀번호는 해독할 수 없습니다. 따라서 비밀번호를 실제로 테스트하고 싶다면 무차별 대입 공격을 사용해야 합니다.

사전 공격이 사전에 설정된 목록을 가져와 하나하나 변환하는 것에 불과하다면, 무차별 대입 공격은 상상할 수 있는 모든 조합으로 동일한 작업을 수행합니다. 이러한 방법은 구현하기 어렵고 시간도 오래 걸리지만 결국에는 모든 비밀번호를 해독할 수 있습니다. 곧 알게 되겠지만, 그런 능력을 갖추는 데는 때로는 오랜 시간이 걸릴 수도 있습니다.

"실제" 무차별 대입 공격을 수행하는 데 사용되는 명령은 다음과 같습니다.

.\hashcat -m 0 -a 3 target.txt --increment ?a?a?a?a?a?a?a?a?a?a -o output.txt

명령의 기능은 다음과 같습니다.

  • -a 3 : 이 변수는 수행하고자 하는 공격을 정의합니다. Hashcat 도움말 문서에는 무차별 대입 공격이 3위로 나열되어 있으므로, 여기서는 무차별 대입 공격이라고 부릅니다.
  • target.txt : 해독하려는 암호화된 비밀번호가 담긴 파일입니다.
  • --increment : 이 명령어는 Hashcat에게 길이가 한 글자인 모든 비밀번호를 시도한 다음, 두 글자, 세 글자 등 일치하는 비밀번호를 찾을 때까지 시도하도록 지시합니다.
  • ?a?a?a?a?a?a?a?a?a?a?a : 이것을 "마스크"라고 합니다. 마스크를 사용하면 Hashcat에 어떤 문자가 어떤 위치에 사용되는지 알려줄 수 있습니다. 각 물음표는 비밀번호의 문자 위치를 지정하고, 문자는 각 위치에서 시도할 내용을 지정합니다. "a"라는 문자는 대문자와 소문자, 숫자, 기호를 나타내므로 이 마스크는 "각 위치에서 모든 것을 시도해 보세요"라는 의미입니다. 이건 끔찍한 마스크지만, 나중에 효과적으로 사용하는 방법을 알려드리겠습니다.
  • -o output.txt : 이 변수는 결과를 어디에 저장할지 결정합니다. 예제 명령은 해독된 비밀번호를 "output"이라는 이름의 TXT 파일에 넣습니다.

이런 엉터리 마스크를 써도 비밀번호 123456은 15초 안에 해독됩니다. 가장 흔한 비밀번호이기는 하지만, 가장 취약한 비밀번호 중 하나이기도 합니다.

비밀번호 "Susan48!" 훨씬 나아요. 컴퓨터에 따르면 해독하는 데 4일이 걸린다고 나와 있어요. 하지만 하나의 문제가 있습니다. 수잔의 비밀번호에 심각한 결함이 있다는 기사를 기억하시나요? 가장 큰 실수는 비밀번호가 예측 가능한 방식으로 구성된다는 것입니다.

비밀번호를 만들 때 특정 요소를 특정 위치에 넣는 경우가 많습니다. 비밀번호를 만든 수잔이 처음에는 "susan"을 사용하려고 했지만 대문자와 숫자를 추가하라는 요청을 받았다고 상상해 보세요. 기억하기 쉽게 하기 위해 첫 글자를 대문자로 쓰고 끝에 숫자를 추가했습니다. 그러면 로그인 서비스에서 기호를 요청했을 수도 있고, 비밀번호 설정자가 기호를 끝에 붙였을 수도 있습니다.

따라서 마스크를 사용하여 Hashcat에 특정 문자만 특정 위치에서 시도하도록 지시하여 사람들이 비밀번호를 만들 때 얼마나 쉽게 추측할 수 있는지를 활용할 수 있습니다. 이 마스크에서 "?u"는 해당 위치에서 대문자만 사용하고, "?l"은 소문자만 사용하고, "?a"는 모든 문자를 나타냅니다.

.\hashcat -m 0 -a 3 -1 ?a target.txt ?u?l?l?l?l?a?a?a -o output.txt

이 마스크를 사용하여 Hashcat은 4일이 걸리는 것보다 훨씬 빠른 3분 10초 만에 비밀번호를 해독했습니다.

Bitwarden 비밀번호는 10자 길이이고 예측 가능한 패턴을 사용하지 않으므로 마스크 없이 무차별 대입 공격을 해서야 비밀번호를 해독할 수 있습니다. 불행히도 Hashcat에 이를 요청했을 때, 가능한 조합의 수가 정수 제한을 초과한다는 오류가 발생했습니다. IT 보안 전문가는 Bitwarden이 비밀번호를 해독하는 데 3년이 걸렸다고 말했는데, 그게 충분하다고 합니다.

비밀번호 해킹으로부터 계정을 안전하게 보호하는 방법

이 기사가 Bitwarden 비밀번호를 해독하지 못하는 주요 요인은 비밀번호 길이(10자)와 예측 불가능성입니다. 따라서 비밀번호를 만들 때는 최대한 길게 만들고, 비밀번호 전체에 기호, 숫자, 대문자를 균등하게 분배하세요. 이를 통해 해커는 마스크를 사용하여 각 요소의 위치를 ​​예측할 수 없게 되고, 이를 해독하기가 훨씬 어려워집니다.

"문자 배열을 사용하세요"와 "가능한 한 길게 만드세요"와 같은 오래된 비밀번호 격언을 아마 알고 계실 겁니다. 사람들이 왜 이런 유용한 팁을 추천하는지 아셨으면 좋겠습니다. 이 팁은 쉽게 해독되는 비밀번호와 안전한 비밀번호의 주요 차이점이기 때문입니다.

Sign up and earn $1000 a day ⋙

Leave a Comment

코르키 DTCL 시즌 7: 아이템 제작, 표준 코르키 거너 분대

코르키 DTCL 시즌 7: 아이템 제작, 표준 코르키 거너 분대

코르키 DTCL 시즌 7은 적 팀을 파괴할 수 있는 자유를 얻고 싶다면 통제력을 발휘할 수 있는 보호나 지원이 필요합니다. 동시에, 코르키의 장비도 더 효과적인 피해를 입히기 위해서는 표준이어야 합니다.

Mini World Royale 다운로드 방법 및 플레이 방법 안내

Mini World Royale 다운로드 방법 및 플레이 방법 안내

미니 월드 로얄의 다운로드 링크와 플레이 방법은 다음과 같습니다. 미니 월드 로얄 APK와 미니 월드 로얄 iOS, 두 가지 버전이 있습니다.

1314는 무엇입니까?

1314는 무엇입니까?

1314는 젊은이들이 종종 사랑의 코드로 사용하는 숫자입니다. 하지만 1314가 무엇이고 무슨 뜻인지 아는 사람은 많지 않습니다.

독성 환경에서 정신적, 신체적 건강을 보호하는 방법

독성 환경에서 정신적, 신체적 건강을 보호하는 방법

유독한 상황을 다루는 것은 엄청나게 어려울 수 있습니다. 다음은 독성 환경에 재치 있게 대처하고 마음의 평화를 유지하는 데 도움이 되는 몇 가지 팁입니다.

음악이 뇌를 자극하는 방법

음악이 뇌를 자극하는 방법

대부분의 사람들은 음악이 단지 오락을 위한 것이 아니라 그보다 훨씬 더 많은 이점을 가지고 있다는 것을 알고 있습니다. 음악이 우리의 뇌 발달을 자극하는 몇 가지 방법은 다음과 같습니다.

식단에서 가장 흔히 결핍되는 영양소

식단에서 가장 흔히 결핍되는 영양소

식단은 우리 건강에 매우 중요합니다. 하지만 우리가 먹는 대부분의 식단에는 이 여섯 가지 중요한 영양소가 부족한 경우가 많습니다.

Circle K CK Club 앱을 이용해 매력적인 혜택을 받는 방법

Circle K CK Club 앱을 이용해 매력적인 혜택을 받는 방법

서클케이의 프로모션 정보를 가장 빠르게 받아보시려면 CK클럽 앱을 설치하세요. 이 앱은 Circle K에서 쇼핑하거나 결제할 때의 결제 내역과 수집된 스탬프 개수를 저장합니다.

인스타그램, 최대 3분 길이의 릴 허용

인스타그램, 최대 3분 길이의 릴 허용

인스타그램은 사용자들이 최대 3분 길이의 릴스 동영상을 게시할 수 있도록 허용한다고 발표했습니다. 이는 기존 90초 제한의 두 배입니다.

Chromebook CPU 정보를 보는 방법

Chromebook CPU 정보를 보는 방법

이 문서에서는 Chromebook에서 CPU 정보를 보고, CPU 속도를 직접 확인하는 방법을 안내합니다.

오래된 안드로이드 태블릿으로 할 수 있는 멋진 8가지 일

오래된 안드로이드 태블릿으로 할 수 있는 멋진 8가지 일

오래된 태블릿을 판매하거나 주고 싶지 않다면 5가지 용도로 사용할 수 있습니다. 고품질 사진 프레임, 음악 플레이어, 전자책 및 잡지 리더, 집안일 도우미, 보조 화면으로 활용할 수 있습니다.

아름다운 손톱을 빨리 얻는 방법

아름다운 손톱을 빨리 얻는 방법

여러분은 빨리 아름답고 윤기나고 건강한 손톱을 갖고 싶어합니다. 아래의 아름다운 손톱을 위한 간단한 팁이 여러분에게 도움이 될 것입니다.

디자이너만이 아는 색상 영감의 비밀

디자이너만이 아는 색상 영감의 비밀

이 글에서는 크리에이티브 마켓 커뮤니티의 최고 디자이너들이 공유한 색상 팁을 소개합니다. 이를 통해 여러분은 항상 완벽한 색상 조합을 얻을 수 있습니다.

노트북을 휴대폰으로 대체하는 데 필요한 모든 것

노트북을 휴대폰으로 대체하는 데 필요한 모든 것

정말 노트북을 휴대폰으로 대체할 수 있을까? 네, 하지만 휴대폰을 노트북으로 바꾸려면 적절한 액세서리가 필요합니다.

ChatGPT는 곧 화면에서 일어나는 모든 일을 볼 수 있게 됩니다.

ChatGPT는 곧 화면에서 일어나는 모든 일을 볼 수 있게 됩니다.

이벤트 전체 영상에서 중요한 점 하나는 곧 출시될 ChatGPT 앱 기능이 데모로 공개되었지만 구체적인 세부 정보는 공유되지 않았다는 것입니다. ChatGPT는 사용자 기기 화면에서 일어나는 모든 일을 볼 수 있는 기능을 제공합니다.

AI는 정직하게 행동하도록 훈련받았음에도 불구하고 인간을 속이는 법을 배우고 있습니다.

AI는 정직하게 행동하도록 훈련받았음에도 불구하고 인간을 속이는 법을 배우고 있습니다.

새로운 연구에 따르면, 정직하도록 훈련받았음에도 불구하고 최고 수준의 AI 중 다수가 훈련을 통해 속이는 법을 배우고 체계적으로 사용자에게 잘못된 믿음을 심어주는 것으로 나타났습니다.