소개
무선 네트워크 보안에서 WPA/WPA2 4-way 핸드셰이크를 캡처하는 것은 네트워크 암호를 크랙하는 데 필수적입니다. 그러나 크랙 시도에 상당한 컴퓨팅 리소스를 할당하기 전에, 캡처 파일에 완전하고 유효한 핸드셰이크가 실제로 포함되어 있는지 먼저 확인하는 것이 중요합니다. 불완전하거나 누락된 핸드셰이크는 모든 크랙 시도를 무용지물로 만들 것입니다.
이 실습에서는 Aircrack-ng 제품군의 강력한 도구인 aircrack-ng를 사용하여 캡처 파일 (.cap) 을 검사하고 유효한 핸드셰이크의 존재를 확인하는 과정을 안내합니다.
캡처된 .cap 파일을 Fluxion 디렉토리에서 찾기
이 단계에서는 일반적으로 캡처된 핸드셰이크 파일이 저장되는 디렉토리로 이동하여 해당 내용을 나열합니다. 이 실습을 위해 fluxion 도구의 출력과 유사한 샘플 디렉토리 구조를 준비했습니다.
먼저, 현재 디렉토리를 ~/project/fluxion/attacks/handshakes에 위치한 handshakes 폴더로 변경합니다. cd (change directory) 명령을 사용합니다:
cd ~/project/fluxion/attacks/handshakes
이제 올바른 디렉토리에 있으므로 ls -l 명령을 사용하여 파일과 해당 세부 정보를 나열합니다. 이를 통해 작업할 캡처 파일의 존재를 확인할 수 있습니다.
ls -l
다음과 같은 출력이 표시되어야 하며, 여기에는 wpa.cap (유효한 핸드셰이크 파일) 과 invalid_handshake.cap (비교를 위한 빈 파일) 이 포함됩니다.
total 4
-rw-r--r-- 1 labex labex 0 Jan 01 12:00 invalid_handshake.cap
-rw-r--r-- 1 labex labex 3385 Jan 01 12:00 wpa.cap
새 터미널 창 열기
실제 시나리오에서는 트래픽을 캡처하기 위해 airodump-ng를 실행하는 터미널 창과 다른 작업을 수행하기 위한 또 다른 터미널 창을 사용할 수 있습니다. 이 실습에서는 간단하게 유지하기 위해 동일한 터미널을 계속 사용할 것입니다. 이 단계의 목적은 이어지는 검증 명령을 위해 준비되고 집중할 수 있도록 하는 것입니다.
이 단계에서는 명령이 필요하지 않습니다. 터미널 프롬프트가 ~/project/fluxion/attacks/handshakes 디렉토리에서 준비되었는지 확인하기만 하면 됩니다. 이제 aircrack-ng를 사용할 준비가 되었습니다.
.cap 파일에 'aircrack-ng' 명령 실행하기
이 단계에서는 wpa.cap 파일에 aircrack-ng 명령을 실행합니다. 이 명령은 파일을 분석하고 유효한 핸드셰이크가 있는지 여부를 포함하여 파일 내용을 보고합니다.
터미널에서 다음 명령을 실행합니다. 이 명령은 aircrack-ng에게 wpa.cap 파일을 처리하도록 지시합니다.
aircrack-ng wpa.cap
명령을 실행한 후 aircrack-ng는 캡처 파일에 대한 정보를 표시합니다. 출력은 다음과 유사하게 표시됩니다.
Opening wpa.cap
Read 43 packets.
## BSSID ESSID Encryption
1 00:14:6C:7E:40:80 teddy WPA (1 handshake)
Choosing first network as target.
Opening wpa.cap
Reading packets, please wait...
여기서 핵심 정보는 WPA (1 handshake)입니다. 다음 단계에서 이 정보를 분석할 것입니다. 명령은 "Reading packets" 이후에 멈추는 것처럼 보일 수 있는데, 이는 크래킹을 위한 단어 목록을 제공하기를 기다리는 정상적인 동작입니다. 안전하게 Ctrl+C를 눌러 명령을 종료하고 터미널 프롬프트로 돌아갈 수 있습니다.
'1 handshake' 확인을 위한 출력 분석
이 단계에서는 이전 명령의 출력을 해석하는 데 집중할 것입니다. 보셨듯이 aircrack-ng는 캡처 파일에서 발견된 액세스 포인트의 요약을 제공했습니다.
다시 한번 중요한 줄을 살펴보겠습니다.
1 00:14:6C:7E:40:80 teddy WPA (1 handshake)
(1 handshake)라는 텍스트는 찾고 있는 확인 메시지입니다. 이는 aircrack-ng가 BSSID 00:14:6C:7E:40:80 및 ESSID teddy와 관련된 완전한 WPA 4-way 핸드셰이크를 하나 성공적으로 식별했음을 명확하게 알려줍니다.
이 확인은 wpa.cap 파일이 유효하며 비밀번호 크래킹 시도에 사용할 수 있음을 의미합니다. 이 메시지가 없거나 (0 handshake)라고 표시되었다면 어떤 크래킹 시도도 실패했을 것입니다.
유효한 핸드셰이크와 유효하지 않은 핸드셰이크의 차이점 이해하기
검증의 중요성을 완전히 이해하기 위해 핸드셰이크가 포함되지 않은 파일에 aircrack-ng를 실행했을 때 어떤 일이 발생하는지 살펴보겠습니다. 이를 위해 invalid_handshake.cap이라는 빈 파일을 준비했습니다.
이 파일에 대해 aircrack-ng를 실행합니다.
aircrack-ng invalid_handshake.cap
출력은 매우 다를 것입니다. 파일이 비어 있고 네트워크 트래픽이 포함되어 있지 않으므로 aircrack-ng는 데이터를 찾지 못했다고 보고합니다.
Opening invalid_handshake.cap
Read 0 packets.
No networks found, exiting.
파일에 패킷이 포함되어 있지만 특정 네트워크에 대한 완전한 핸드셰이크가 없는 경우, 출력은 (0 handshake)와 함께 네트워크를 나열합니다. 핵심은 (1 handshake) 확인 없이는 캡처 파일이 크래킹에 유효하지 않다는 것입니다. 이 간단한 확인을 통해 사용할 수 없는 파일에 시간과 리소스를 낭비하는 것을 방지할 수 있습니다.
요약
이 실습에서는 캡처 파일 내에서 WPA/WPA2 핸드셰이크를 검증하는 중요한 과정을 배웠습니다. aircrack-ng 명령을 성공적으로 사용하여 .cap 파일을 검사하고, 유효한 캡처를 확인하는 (1 handshake) 메시지를 식별했으며, 유효하지 않은 파일을 분석했을 때의 출력 차이를 관찰했습니다. 이 기본적인 기술은 무선 네트워크 보안 분야의 모든 작업에 필수적이며, 크래킹 노력이 유효한 데이터를 기반으로 하도록 보장합니다.
