Password Cracker비밀번호를 해킹/추측하는 방법
⚡ 스마트 요약
암호 크래킹은 저장된 해시값과 체계적으로 추측, 비교 또는 계산하여 자격 증명을 복구하는 행위입니다. 이 개요에서는 공격자의 공격 방식, 사용하는 도구, 공격에 대한 방어 요소, 그리고 관리자가 시행해야 하는 보안 조치에 대해 설명합니다.

암호 크래킹은 공격 보안 분야에서 가장 오래된 기법 중 하나이지만, 사용자들이 예측 가능한 암호를 선택하는 경향이 지속됨에 따라 여전히 중요한 공격 수단으로 남아 있습니다. 이 튜토리얼에서는 공격자들이 암호를 복구하는 데 사용하는 일반적인 기법, 이러한 작업을 자동화하는 도구, 그리고 관리자가 시스템을 이러한 공격으로부터 보호하기 위해 배포할 수 있는 대응책을 소개합니다.
비밀번호 크래킹이란 무엇입니까?
암호 크래킹은 인증 메커니즘을 보호하는 비밀 키를 복구하여 제한된 시스템에 무단으로 접근하려는 시도입니다. 크래킹 과정에는 저장된 암호 해시를 미리 계산된 단어 목록과 비교하거나, 일치하는 암호를 찾을 때까지 후보 암호를 생성하는 알고리즘을 실행하는 방식이 포함될 수 있습니다. 일치하는 암호를 발견하면 공격자는 온라인에서 암호를 추측할 필요 없이 정당한 사용자로 인증할 수 있습니다.
암호 강도란 무엇입니까?
비밀번호 강도는 비밀번호가 해킹 공격에 얼마나 효과적으로 저항하는지를 나타내는 척도입니다. 비밀번호 강도는 다음 세 가지 속성에 의해 결정됩니다.
- 길이 비밀번호에 포함된 총 문자 수.
- 복잡성: 대문자, 소문자, 숫자 및 기호의 조합을 사용하는지 여부.
- 예측 불가능성: 공격자가 사용자를 알고 있다면 비밀번호를 쉽게 추측할 수 있는지 여부.
세 가지 비밀번호를 비교해 보겠습니다. 암호, password1예산 및 #password1$이 예시에서는 cPanel의 암호 강도 표시기를 사용하겠습니다. 아래 이미지는 각 후보 암호의 강도를 보여줍니다.
참고: 사용된 비밀번호는 다음과 같습니다. 암호강도는 1로 매우 약합니다.
참고: 사용된 비밀번호는 다음과 같습니다. password1전력은 28로 여전히 약합니다.
참고: 사용된 비밀번호는 다음과 같습니다. #password1$강도는 60으로 매우 강력합니다. 강도 수치가 높을수록 비밀번호가 더 좋습니다.
이제 동일한 비밀번호를 MD5 해싱을 사용하여 저장해야 한다고 가정해 보겠습니다. 온라인 MD5 해시 생성기를 사용하여 각 비밀번호를 해시 값으로 변환합니다. 아래 표는 결과 해시 값을 보여줍니다.
| 비밀번호 | MD5 해시 | cPanel 강도 표시기 |
|---|---|---|
| 암호 | 5f4dcc3b5aa765d61d8327deb882cf99 | 1 |
| password1 | 7c6a180b36896a0a8c02787eeafb0e4c | 28 |
| #password1$ | 29e08fb7103c327d68327f23d8d9256c | 60 |
이제 공개 MD5 역조회 사이트를 사용하여 위의 해시값을 해독해 보겠습니다. 아래 이미지는 각 값에 대한 암호 해독 결과를 보여줍니다.
위 결과에서 보시다시피, 저희는 강도 수치가 낮은 첫 번째와 두 번째 비밀번호를 해독하는 데 성공했습니다. 하지만 더 길고 복잡하며 예측 불가능한 세 번째 비밀번호는 해독하지 못했습니다. 세 번째 비밀번호는 강도 수치가 더 높았습니다.
비밀번호 크래킹 기술
공격자들이 비밀번호를 복구하는 데 사용하는 검증된 기술은 여러 가지가 있습니다. 아래에서는 가장 일반적으로 사용되는 기술들을 설명하겠습니다.
- 사전 공격: 이 방법은 가능성이 높은 후보 단어 목록을 사용하고 각 단어를 캡처된 사용자 암호 또는 암호 해시와 비교합니다.
- 무차별 대입 공격: 무차별 대입 공격은 알고리즘을 사용하여 영숫자와 기호를 조합하여 가능한 모든 암호를 체계적으로 생성하고 일치하는 암호를 찾을 때까지 시도하는 방식입니다. 예를 들어, 다음과 같은 암호가 있습니다. 암호 다음과 같이 시도해 볼 수도 있습니다. p@$$word 하이브리드 무차별 대입 규칙을 사용합니다.
- 무지개 테이블 공격: 이 방법은 미리 계산된 해시값을 이용합니다. 예를 들어, 데이터베이스에 비밀번호가 MD5 해시값으로 저장되어 있다고 가정해 보겠습니다. 공격자는 자주 사용되는 비밀번호의 MD5 해시값을 저장하는 별도의 테이블을 만들고, 획득한 해시값을 이 테이블의 해시값과 비교합니다. 일치하는 해시값이 발견되면 비밀번호를 복구할 수 있습니다.
- 추측하다: 이름에서 알 수 있듯이 이 방법은 추측을 포함합니다. 비밀번호는 다음과 같습니다. 쿼티 (QWERTY), 암호예산 및 관리자 일반적으로 사용되거나 기본값으로 설정되어 있는 설정입니다. 변경되지 않은 경우, 이러한 설정은 빠르게 손상될 수 있습니다.
- 스파이더링: 대부분의 조직은 회사 정보가 포함된 비밀번호를 사용합니다. 이러한 정보는 기업 웹사이트와 페이스북, 트위터와 같은 소셜 미디어에서 수집될 수 있습니다. 스파이더링은 이러한 소스에서 데이터를 수집하여 특정 대상을 위한 단어 목록을 구축하고, 이를 사전 공격 및 무차별 대입 공격에 사용합니다.
- 자격 증명 채우기 : 공격자들은 유출된 사용자 이름과 비밀번호 쌍을 서로 관련 없는 서비스에 재사용하여 자격 증명을 재사용하는 사용자를 공격합니다.
가상의 회사를 위한 스파이더링 단어 목록은 다음과 같은 요소들을 조합할 수 있습니다: 1976년(창업자 출생 연도); 스미스, 존스(성); 애크미(회사 이름); 빌드, 투, 라스트(비전 키워드); 골프, 체스, 축구(취미).
아래 표는 속도, 필수 조건 및 탐지 가능성 측면에서 기술을 비교합니다.
| 기술 | 속도 | 해시가 필요합니까? | 온라인에서 감지 가능한가요? |
|---|---|---|---|
| 사전 | 빠른 | Optional | 가능 |
| 무력 | 천천히 | Optional | 가능 |
| 레인보우 테이블 | 매우 빠른 | 가능 | 아니요 (오프라인) |
| 추측 | 변하기 쉬운 | 아니 | 가능 |
| 스파이더링 | 천천히 | 아니 | 가능 |
| 자격 증명 소 | 빠른 | 아니 | 가능 |
Password Cracker 도구
암호 크래킹 도구는 위에서 설명한 기법들을 자동화하는 소프트웨어 프로그램입니다. 앞서 보안 강도 예시에서 언급했듯이, 공개 MD5 조회를 통해 일반적인 해시값을 역변환하는 유틸리티가 있습니다. 이제 실무자들이 권한 평가 과정에서 사용하는 추가적인 도구들을 살펴보겠습니다.
1) John the Ripper
John the Ripper 명령 프롬프트를 사용하며, 후보 해시 값을 생성하는 규칙이 포함된 단어 목록을 입력받습니다. 또한, 일반적인 해시 형식을 자동으로 감지합니다. 이 프로그램은 무료이며, 엄선된 상업용 단어 목록은 별도로 구매할 수 있습니다. 자세한 내용은 웹사이트를 방문하세요. https://www.openwall.com/john/.
2) Cain & Abel
Cain & Abel 계속하다 Windows 이 도구는 사용자 암호 복구, 네트워크 스니핑 등을 수행합니다. 그래픽 사용자 인터페이스 덕분에 초보자에게도 인기가 높습니다. 이 도구는 2014년 이후로 활발한 유지 관리가 이루어지지 않으므로 기존 연구실 시스템에서만 사용하십시오. 자세한 내용은 다음을 참조하십시오. https://sectools.org/tool/cain/.
3) Ophcrack
Ophcrack 교차 플랫폼 Windows 레인보우 테이블을 사용하는 암호 크래커입니다. 다음 환경에서 실행됩니다. Windows, 리눅스 및 macOS또한 무차별 대입 공격 모듈이 포함되어 있습니다. 방문하세요. https://ophcrack.sourceforge.io/.
4) Hashcat
Hashcat 는 오프라인 암호 복구를 위한 최신 표준입니다. 300개 이상의 해시 알고리즘을 지원하고, GPU 가속을 활용하며, 규칙 기반 공격 기능을 제공합니다. 자세한 문서는 다음에서 확인할 수 있습니다. https://hashcat.net/hashcat/.
5) 히드라
Hydra(THC-Hydra)는 SSH, FTP, RDP 및 HTTP 로그인 양식과 같은 온라인 서비스를 대상으로 합니다. 이 도구는 함께 제공됩니다. Kali Linux 또한, 승인된 레드팀 작전에서 널리 사용됩니다.
비밀번호 크래킹 공격으로부터 보호하는 방법은 무엇입니까?
조직은 비밀번호 해킹 가능성을 줄이기 위해 다음과 같은 조치를 취할 수 있습니다.
- 최소 12자 이상이어야 하며, 11552266이나 qwerty1234와 같은 예측 가능한 패턴은 피해야 합니다.
- MD5나 SHA-1과 같은 빠른 해시 함수 대신 bcrypt, scrypt 또는 Argon2와 같은 느린 단방향 해시 함수를 사용하여 비밀번호를 저장하세요.
- 모든 비밀번호를 해싱하기 전에 솔트를 추가하세요. 솔트는 해시 자체의 속도가 빠르더라도 레인보우 테이블 조회를 방지합니다.
- NIST SP 800-63B에서 권장하는 바와 같이, 높은 비밀번호 강도 점수를 선호하고 암호 구문 사용을 장려하는 비밀번호 정책을 채택하십시오.
- 다중 인증(MFA)을 활성화하여 도난당한 비밀번호만으로는 접근이 허용되지 않도록 하십시오.
- 비밀번호 관리자를 사용하여 모든 서비스에 대해 고유한 자격 증명을 생성하면 자격 증명 탈취 공격을 방지할 수 있습니다.
- 온라인 무차별 대입 공격 활동을 조기에 감지하기 위해 계정 잠금, 속도 제한 및 지속적인 모니터링을 구성하십시오.
해킹 활동: 지금 해킹하세요!
이 실제 시나리오에서 우리는 다음을 해결할 것입니다. Windows 간단한 비밀번호를 사용하는 계정. Windows 로컬 자격 증명을 NTLM 해시(MD4 기반 체계)로 저장하며, Cain and Abel의 NTLM 크래커 모듈을 사용하여 해당 값을 복구할 것입니다.
카인과 아벨은 사전 공격, 무차별 대입 공격, 또는 암호 분석(미리 계산된 표)을 사용하여 암호를 해독할 수 있습니다. 여기서는 사전 공격을 사용하겠습니다. 단어 목록을 다운로드하세요. 10k-가장 일반적인 .zip 신뢰할 수 있는 미러 사이트에서 가져온 것입니다. 이 데모를 위해 다음과 같은 계정을 만들었습니다. 계정 비밀번호로 쿼티 (QWERTY) 에 Windows 7번 실험실 기계.
비밀번호를 해독하는 방법
아래 안내는 각 카인과 아벨 화면에 대한 조치를 설명합니다. 본인의 연구실 계정을 사용하여 순서대로 단계를 진행하십시오. 절대로 본인이 소유하지 않은 시스템에서 실행하지 마십시오.
1단계) 카인과 아벨을 엽니다.
애플리케이션을 실행하면 다음과 같은 메인 화면이 나타납니다.
2단계) 추가 버튼을 찾으세요.
위 그림과 같이 크래커 탭이 선택되어 있는지 확인하고 도구 모음에서 추가 버튼을 클릭하세요.
3단계) 가져올 소스를 선택합니다.
다음 대화창이 나타납니다. 선택하십시오. 로컬 시스템에서 해시 값을 가져옵니다. 다음을 클릭하십시오.
단계 4) Rev가져온 계정을 확인하세요.
로컬 사용자 계정 목록은 다음과 같습니다. 정확한 결과는 실험실 컴퓨터의 사용자 계정을 반영합니다.
5단계) 대상 계정을 마우스 오른쪽 버튼으로 클릭합니다.
크랙하려는 계정을 마우스 오른쪽 버튼으로 클릭합니다. 이 튜토리얼에서는 다음을 사용하겠습니다. 계정 사용자.
6단계) 사전 공격 패널을 엽니다.
사전 공격 창에서 사전 섹션을 마우스 오른쪽 버튼으로 클릭하고 선택합니다. 목록에 추가 아래 그림과 같이.
7단계) 단어 목록 파일을 찾아 선택합니다.
찾아보기 10k-most-common.txt 방금 다운로드한 파일을 선택하세요.
단계 8) Rev복구된 비밀번호를 확인하세요.
사용자가 다음과 같은 간단한 비밀번호를 선택한 경우 쿼티 (QWERTY)그러면 아래 화면과 유사한 결과가 표시되며, 사용자 계정 옆에 평문 값이 나타납니다.
참고: 비밀번호를 해독하는 데 걸리는 시간은 비밀번호 강도, 후보 목록의 복잡성, 컴퓨터의 처리 능력에 따라 달라집니다. 사전 공격으로 비밀번호를 복구하지 못하면 무차별 대입 공격이나 암호 분석 공격을 시도해 보세요.
AI는 어떻게 Resha가 되었나요?ping 비밀번호 크래킹 및 방어
인공지능은 암호 해킹 공격과 방어 모두에서 심각한 위협으로 자리 잡았습니다. 공격자는 유출된 자격 증명 데이터를 기반으로 언어 모델을 학습시켜 실제와 유사한 암호를 예측하는 반면, 방어자는 동일한 모델을 원격 측정 파이프라인과 결합하여 침해를 더 빠르게 탐지합니다.
다음은 인공지능이 오늘날 해당 분야를 어떻게 변화시키고 있는지 보여주는 내용입니다.
- 더욱 스마트한 단어 목록 생성: PassGAN과 같은 생성형 모델은 사람의 암호 패턴을 학습하여 정적 사전보다 더 많은 해시를 해독할 수 있는 후보 목록을 생성합니다.
- 행동 위험 점수 산정: 방어형 AI는 로그인 위치, 기기 지문 및 유형을 검사합니다.ping 리듬, 비정상적인 컨텍스트를 전송하여 인증을 강화합니다.
- 실시간 이상 감지: 머신러닝 분류기는 인증 로그를 모니터링하여 서명 규칙이 놓치는 자격 증명 도용이나 느린 무차별 대입 공격을 감지합니다.
- 자동화된 정책 코칭: 신원 확인 플랫폼은 조직별 데이터 세트를 기반으로 새 암호를 평가하고 사용자가 최종 확정하기 전에 더 강력한 대체 암호를 제안합니다.
- 피싱 방지 방어: AI는 위험 신호를 분석하고 사용자 불편함을 줄여 FIDO2 및 패스키 도입 속도를 높입니다.
AI 모니터링을 다중 요소 인증, Argon2와 같은 최신 해싱 기술, 그리고 신속한 침해 알림 피드와 결합하여 자동화된 방어가 자동화된 공격보다 앞서나가도록 하십시오.















