실시간 크래킹 통계 분석

Kali LinuxBeginner
지금 연습하기

소개

Hashcat 은 강력하고 인기 있는 비밀번호 복구 도구입니다. 크래킹 세션을 실행할 때, 특히 시간이 오래 걸릴 수 있는 경우, 진행 상황과 성능을 모니터링하는 것이 중요합니다. Hashcat 은 공격 속도, 완료 예상 시간, 하드웨어 성능 등에 대한 통찰력을 제공하는 상세한 실시간 상태 화면을 제공합니다.

이 랩에서는 기본적인 Hashcat 세션을 시작하고 실시간 통계를 해석하는 방법을 배우게 됩니다. 이를 통해 비밀번호 크래킹 작업을 최적으로 실행하고 있는지 효과적으로 모니터링할 수 있게 될 것입니다.

Hashcat 세션 시작하기

이 단계에서는 Hashcat 을 사용하여 비밀번호 크래킹 세션을 시작합니다. ~/project 디렉토리에 있는 미리 구성된 해시 파일과 단어 목록을 사용합니다.

먼저 사용할 파일을 살펴보겠습니다. hashes.txt 파일에는 단일 MD5 해시가 포함되어 있고, wordlist.txt 파일에는 잠재적인 비밀번호 목록이 포함되어 있습니다.

Hashcat 으로 사전 공격을 시작하는 기본 명령어는 hashcat -m <hash_type> -a <attack_mode> <hash_file> <wordlist_file>입니다.

  • -m 0은 해시 유형이 MD5 임을 지정합니다.
  • -a 0은 공격 모드가 "Straight" 또는 사전 공격임을 지정합니다.

이제 터미널을 열고 다음 명령어를 실행하여 세션을 시작합니다. Hashcat 이 초기화되고 해시 크래킹을 시도하기 시작합니다.

hashcat -m 0 -a 0 hashes.txt wordlist.txt

Hashcat 이 시작될 때 다음과 유사한 출력이 표시됩니다. 지금은 모든 세부 정보에 대해 걱정하지 말고 실행되도록 두십시오.

hashcat (v6.2.x) starting...

...

OpenCL Platform #1: The pocl project
====================================
* Device #1: pthread-skylake-avx512, 2047/4095 MB (1023 MB allocatable), 2MCU

...

Session..........: hashcat
Status...........: Running
Hash.Name........: MD5
Hash.Target......: hashes.txt
Time.Started.....: ...
Time.Estimated...: ...
Guess.Base.......: File (wordlist.txt)
Guess.Queue......: 1/1 (100.00%)
Speed.#1.........:   XX.X kH/s (X.XXms) @ Accel:X Loops:X Thr:X Vec:X
Recovered........: 0/1 (0.00%) Digests
Progress.........: 0/5 (0.00%)
Rejected.........: 0/0 (0.00%)
Restore.Point....: 0/1 (0.00%)
Restore.Sub.#1...: Salt:0 Amplifier:0-1 Iteration:0-1
Candidates.#1....: password -> hashcat
Hardware.Mon.#1..: Temp: N/A Util: N/A Core: N/A Mem: N/A Bus: N/A

[s]tatus [p]ause [b]ypass [c]heckpoint [q]uit =>

세션을 실행 상태로 두고 다음 단계로 진행하십시오.

's'를 눌러 상태 화면 보기

이 단계에서는 실행 중인 Hashcat 세션에서 수동으로 상태 업데이트를 요청하는 방법을 배웁니다.

Hashcat 이 실행되는 동안 키보드 입력을 수신하여 세션을 제어합니다. 출력 하단에 [s]tatus [p]ause [b]ypass [c]heckpoint [q]uit =>와 같은 프롬프트가 표시됩니다. 이는 사용 가능한 명령어를 나타냅니다.

최신 통계를 얻으려면 키보드에서 s 키를 누른 다음 Enter를 누르기만 하면 됩니다. Hashcat 은 즉시 업데이트된 상태 화면을 터미널에 출력합니다.

지금 s를 눌러 진행하십시오.

s

초기 상태 보고와 매우 유사한 새로운 텍스트 블록이 표시됩니다. 이것이 실시간 통계 화면이며, 다음 단계에서 자세히 살펴보겠습니다.

Session..........: hashcat
Status...........: Running
Hash.Name........: MD5
Hash.Target......: hashes.txt
Time.Started.....: ...
Time.Estimated...: ...
Guess.Base.......: File (wordlist.txt)
Guess.Queue......: 1/1 (100.00%)
Speed.#1.........:   XX.X kH/s (X.XXms) @ Accel:X Loops:X Thr:X Vec:X
Recovered........: 1/1 (100.00%) Digests, 1/1 (100.00%) Salts
Progress.........: 4/5 (80.00%)
Rejected.........: 0/4 (0.00%)
Restore.Point....: 4/5 (80.00%)
Restore.Sub.#1...: Salt:0 Amplifier:0-1 Iteration:0-1
Candidates.#1....: labex -> labex
Hardware.Mon.#1..: Temp: N/A Util: N/A Core: N/A Mem: N/A Bus: N/A

RecoveredProgress와 같은 일부 값이 변경되었음을 알 수 있습니다.

Speed, Progress, 및 ETA 필드 해석하기

이 단계에서는 상태 화면에서 가장 중요한 세 가지 지표인 Speed, Progress, ETA 에 초점을 맞출 것입니다. 이러한 필드를 이해하면 크래킹 세션의 성능과 지속 시간을 파악하는 데 도움이 됩니다.

각각에 대한 샘플 상태 줄을 살펴보겠습니다.

  • Speed.Dev.#1.........: XX.X kH/s (X.XXms)

    • Speed (속도): 이 줄은 각 처리 장치 (CPU, GPU 등) 의 크래킹 속도를 보여주며, #1, #2 등으로 식별됩니다. 속도는 초당 해시 수 (H/s, kH/s, MH/s)로 측정됩니다. 숫자가 높을수록 좋습니다. 이 경우 VM 은 CPU 를 사용하고 있습니다.
  • Progress.........: 4/5 (80.00%)

    • Progress (진행률): 이는 키스페이스의 총 개수 중에서 테스트된 후보 비밀번호 수를 보여줍니다. 이 예에서 4/5wordlist.txt의 5 개 단어 중 4 개를 테스트했음을 의미합니다.
  • Time.Estimated...: 0 secs

    • ETA (Estimated Time of Arrival - 예상 도착 시간): Time.Estimated로 표시되는 이 필드는 현재 공격이 언제 완료될지에 대한 추정치를 제공합니다. 이는 현재 속도와 Progress 필드의 남은 작업량을 기반으로 계산됩니다. 우리와 같이 매우 짧은 작업의 경우, 이 값은 빠르게 0 초가 될 것입니다.

이 세 가지 지표는 크래킹 세션의 성능을 빠르고 개략적으로 파악할 수 있도록 해줍니다.

Rejected 및 Restored 카운트 이해하기

이 단계에서는 상태 화면에서 몇 가지 유용한 필드인 Recovered, Rejected, Restore.Point를 살펴보겠습니다.

샘플 출력을 다시 살펴보겠습니다.

  • Recovered........: 1/1 (100.00%) Digests

    • Recovered (복구됨): 이것은 결과에 가장 중요한 필드입니다. 성공적으로 크랙된 해시 수를 알려줍니다. 여기서는 1/1은 대상 파일에 있는 하나의 해시가 발견되었음을 의미합니다. 이것이 발생하면 Hashcat 은 크랙된 비밀번호를 터미널에 출력합니다.
  • Rejected.........: 0/4 (0.00%)

    • Rejected (거부됨): 이 카운터는 단어 목록 또는 규칙 세트에서 건너뛴 비밀번호 후보 수를 추적합니다. 비밀번호가 특정 해시 유형의 길이 또는 문자 요구 사항을 충족하지 않으면 거부될 수 있습니다. 간단한 MD5 및 사전 공격의 경우 일반적으로 0 입니다.
  • Restore.Point....: 4/5 (80.00%)

    • Restore Point (복원 지점): 이는 Hashcat 이 현재 작업 중인 단어 목록 (또는 키스페이스) 의 정확한 위치를 나타냅니다. 세션을 중지했다가 나중에 다시 시작하면 Hashcat 은 이 복원 지점을 사용하여 중단한 부분부터 계속 진행하므로 처음부터 다시 시작하는 수고를 덜 수 있습니다.

이러한 필드를 모니터링하면 성공적인 크랙을 추적하고 단어 목록과 관련된 잠재적인 문제를 진단할 수 있습니다.

하드웨어 온도 및 사용량 모니터링

이 마지막 단계에서는 Hashcat 상태 화면의 하드웨어 모니터링 섹션과 세션을 올바르게 종료하는 방법에 대해 배웁니다.

비밀번호 크래킹은 하드웨어를 한계까지 밀어붙일 수 있는 매우 집중적인 작업입니다. Hashcat 에는 시스템 상태를 주시하는 데 도움이 되는 내장 모니터링 기능이 포함되어 있습니다.

상태 출력에서 Hardware.Mon 줄을 살펴보세요.

  • Hardware.Mon.#1..: Temp: N/A Util: N/A Core: N/A Mem: N/A Bus: N/A
    • Temp (온도): 장치의 온도를 섭씨로 표시합니다.
    • Util (사용량): 장치의 사용률 백분율 (얼마나 바쁜지) 을 표시합니다.
    • Core/Mem (코어/메모리): 장치의 코어 및 메모리 클럭 속도를 표시합니다.

참고: 가상화된 실험실 환경에서는 Hashcat 이 호스트의 하드웨어 센서에 직접 액세스할 수 없기 때문에 이러한 값이 N/A (해당 없음) 로 표시됩니다. 전용 GPU 가 있는 실제 컴퓨터에서는 이러한 필드에 실시간 데이터가 표시되며, 이는 과열을 방지하고 안정적인 성능을 보장하는 데 중요합니다.

이제 짧은 세션이 완료되었고 상태 화면을 분석했으므로 Hashcat 을 종료할 시간입니다. 이렇게 하려면 q를 누른 다음 Enter를 누릅니다.

q

Hashcat 은 세션을 중지하고 명령 프롬프트로 돌아갑니다.

요약

이 실험실을 완료하신 것을 축하드립니다!

Hashcat 세션을 효과적으로 모니터링하는 방법을 배웠습니다. 이제 다음을 수행할 수 있습니다.

  • Hashcat 으로 기본 사전 공격 시작하기.
  • s 명령을 사용하여 실시간 상태 화면 보기.
  • Speed, Progress, ETA 와 같은 주요 성능 지표 해석하기.
  • Recovered, Rejected, Restore Point 카운트의 의미 이해하기.
  • 하드웨어 모니터링 필드와 그 중요성 인식하기.

이러한 기술은 모든 비밀번호 크래킹 작업을 관리하는 데 기본이 되며, 진행 상황을 추적하고 문제를 진단하며 하드웨어가 안전하고 효율적으로 작동하도록 보장할 수 있습니다.