소개
이 실습에서는 Aircrack-ng 도구 모음을 사용하여 WPA/WPA2 핸드셰이크를 캡처하는 기본 사항을 배우게 됩니다. WPA 핸드셰이크는 클라이언트 장치와 무선 액세스 포인트 (AP) 간의 네 번의 메시지 교환으로, 클라이언트를 네트워크에 인증합니다. 이 핸드셰이크를 캡처하는 것은 Wi-Fi 비밀번호 강도를 테스트하는 첫 번째 단계입니다.
"수동" 캡처 방법에 중점을 둘 것입니다. 이는 네트워크를 적극적으로 방해하거나 클라이언트를 강제로 연결 해제하지 않는다는 것을 의미합니다. 대신, 단순히 전파를 듣고 클라이언트가 대상 AP 에 자연스럽게 연결하거나 다시 연결할 때까지 기다릴 것입니다. 이는 무선 보안 감사에 대한 더 은밀한 접근 방식입니다.
airmon-ng를 사용하여 무선 인터페이스에서 모니터 모드를 활성화하고 airodump-ng를 사용하여 네트워크 트래픽을 캡처합니다. 이 실습이 끝나면 유효한 WPA 핸드셰이크가 포함된 캡처 파일을 갖게 되며, 해당 내용을 확인하는 방법을 알게 될 것입니다.
--bssid 및 --channel 을 사용하여 특정 AP 타겟팅하기
이 단계에서는 패킷 캡처를 위해 무선 인터페이스를 준비한 다음 특정 액세스 포인트 (AP) 의 트래픽을 수신 대기합니다.
먼저 무선 인터페이스를 "모니터 모드 (monitor mode)"로 전환해야 합니다. 이 모드를 사용하면 네트워크 카드가 자신에게 지정된 트래픽뿐만 아니라 공기 중에 있는 모든 Wi-Fi 트래픽을 들을 수 있습니다. 이를 위해 airmon-ng 도구를 사용할 것입니다. 시뮬레이션된 무선 인터페이스의 이름은 wlan0입니다.
터미널에서 다음 명령을 실행하여 모니터 모드를 시작합니다.
sudo airmon-ng start wlan0
모니터 모드가 활성화되었음을 나타내는 출력이 표시되어야 합니다. 새 모니터 인터페이스의 이름은 wlan0mon이 될 가능성이 높습니다.
PHY Interface Driver Chipset
phy0 wlan0 mac80211_hwsim Software simulator
(monitor mode enabled on wlan0mon)
이제 모니터 모드가 활성화되었으므로 airodump-ng를 사용하여 캡처를 시작할 수 있습니다. 모든 주변 네트워크의 불필요한 트래픽 캡처를 피하기 위해 특정 AP 를 타겟팅할 것입니다. 이 실습에서는 다음과 같은 세부 정보로 시뮬레이션된 AP 를 사용할 것입니다.
- BSSID (MAC 주소):
00:11:22:33:44:55 - 채널:
6
--bssid 및 --channel 플래그를 사용하여 airodump-ng를 타겟에 집중시킵니다. 이 명령을 실행합니다.
sudo airodump-ng --bssid 00:11:22:33:44:55 --channel 6 wlan0mon
이제 터미널에 airodump-ng 인터페이스가 표시되며 대상 AP 에 대한 정보가 표시됩니다. 이 명령을 계속 실행하고 다음 단계로 진행합니다.
CH 6 ][ Elapsed: 0 s ][ 2023-10-27 10:00
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
00:11:22:33:44:55 -30 10 0 0 6 54e WPA2 CCMP PSK TestAP
BSSID STATION PWR Rate Lost Frames Probe
-w 를 사용하여 캡처를 .cap 파일에 쓰기
이전 단계에서는 airodump-ng가 화면에 실시간 트래픽만 표시했습니다. 나중에 분석을 수행하려면 캡처된 패킷을 파일에 저장해야 합니다.
먼저 실행 중인 airodump-ng 명령을 해당 터미널에서 Ctrl+C를 눌러 중지합니다.
이제 동일한 명령을 다시 실행하지만 -w (write) 플래그를 추가합니다. 이 플래그는 airodump-ng에게 캡처된 패킷을 파일에 쓰도록 지시합니다. 파일 이름 접두사를 지정하면 airodump-ng는 해당 접두사로 여러 파일을 생성하며, 가장 중요한 파일은 .cap으로 끝납니다.
파일 이름 접두사로 passive_capture를 사용하겠습니다. 다음 명령을 실행합니다.
sudo airodump-ng --bssid 00:11:22:33:44:55 --channel 6 -w passive_capture wlan0mon
화면에 표시되는 출력은 이전 단계와 동일하지만, 이제 모든 원시 패킷 데이터가 현재 디렉토리 (~/project) 의 파일에 저장됩니다. 주요 파일 이름은 passive_capture-01.cap입니다.
다음 단계로 진행하면서 이 명령을 계속 실행합니다. 다음 단계에서는 중요한 핸드셰이크가 발생할 때까지 기다릴 것입니다.
클라이언트가 자연스럽게 연결하거나 재연결될 때까지 기다리기
이 단계에서는 WPA 핸드셰이크를 캡처하는 데 필요한 조건에 대해 배웁니다. airodump-ng가 실행되고 파일에 저장되는 상태에서 설정이 준비되었습니다. 이제 핸드셰이크가 발생하기만 하면 됩니다.
WPA 핸드셰이크는 클라이언트 장치가 액세스 포인트 (AP) 와 인증할 때만 발생합니다. 수동 캡처 시나리오에서는 다음 두 가지 이벤트 중 하나가 발생할 때까지 기다려야 합니다.
- 새 클라이언트가 AP 에 연결됩니다.
- 기존 클라이언트가 연결을 끊었다가 AP 에 다시 연결됩니다.
이러한 이벤트가 언제 발생하는지 제어할 수 없으므로 이 프로세스에는 인내심이 필요합니다. 이 실습에서는 다루지 않는 능동 공격에서는 aireplay-ng와 같은 다른 도구를 사용하여 클라이언트가 연결을 끊도록 강제하고 즉시 다시 연결하도록 유도하여 필요에 따라 핸드셰이크를 생성합니다.
이 실습에서는 이 대기 기간을 시뮬레이션합니다. 클라이언트가 시뮬레이션된 환경에서 "TestAP" 네트워크에 자동으로 연결됩니다. 이 단계에서는 명령을 실행할 필요가 없습니다. 터미널에서 airodump-ng 출력을 계속 관찰하기만 하면 됩니다.
출력에서 'WPA handshake' 메시지 식별하기
이 단계에서는 WPA 핸드셰이크를 성공적으로 캡처했음을 확인하는 메시지를 보게 됩니다.
잠시 기다린 후 시뮬레이션된 클라이언트가 AP 에 연결되었습니다. airodump-ng가 네 방향 핸드셰이크 패킷을 성공적으로 캡처하면 디스플레이의 오른쪽 상단에 확인 메시지가 표시됩니다.
airodump-ng 터미널 창을 확인하세요. 이제 두 가지 중요한 변경 사항이 표시되어야 합니다.
WPA handshake: 00:11:22:33:44:55메시지가 나타났습니다.- 하단 섹션에 방금 연결된 클라이언트 장치를 나타내는 새 항목이 나타났습니다.
출력은 다음과 유사하게 표시됩니다.
CH 6 ][ Elapsed: 45 s ][ 2023-10-27 10:05 ][ WPA handshake: 00:11:22:33:44:55
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
00:11:22:33:44:55 -30 55 20 1 6 54e WPA2 CCMP PSK TestAP
BSSID STATION PWR Rate Lost Frames Probe
00:11:22:33:44:55 AA:BB:CC:DD:EE:FF -40 54-54 0 20
이 "WPA handshake" 메시지는 필요한 데이터를 캡처했음을 알리는 신호입니다. 이제 캡처 프로세스를 중지할 수 있습니다.
캡처 중지 및 .cap 파일 확인
이 마지막 단계에서는 패킷 캡처를 중지하고 aircrack-ng를 사용하여 캡처 파일 내에 핸드셰이크가 존재하고 유효한지 확인할 것입니다.
"WPA handshake" 메시지를 보았으므로 이제 airodump-ng를 중지할 수 있습니다. 실행 중인 터미널에서 Ctrl+C를 누릅니다.
이제 현재 디렉터리의 파일을 나열하여 airodump-ng에서 생성한 파일을 확인합니다.
ls -l
캡처 파일을 볼 수 있어야 합니다. 가장 중요한 파일은 passive_capture-01.cap입니다.
-rw-r--r-- 1 root root 1234 Oct 27 10:06 passive_capture-01.cap
-rw-r--r-- 1 root root 5678 Oct 27 10:06 passive_capture-01.csv
...
.cap 파일에 실제로 사용할 수 있는 핸드셰이크가 포함되어 있는지 확인하려면 aircrack-ng 자체로 확인할 수 있습니다. 단순히 aircrack-ng를 실행하고 .cap 파일을 가리키면 됩니다.
aircrack-ng passive_capture-01.cap
Aircrack-ng는 파일을 분석하고 찾은 내용을 보고합니다. 찾아야 할 핵심 정보는 (1 handshake)입니다. 이는 파일에 대상 네트워크에 대한 완전하고 크랙 가능한 WPA 핸드셰이크가 포함되어 있음을 확인합니다.
Opening passive_capture-01.cap
Read 1500 packets.
## BSSID ESSID Encryption
1 00:11:22:33:44:55 TestAP WPA (1 handshake)
Choosing first network as target.
이제 WPA 핸드셰이크를 성공적으로 수동으로 캡처하고 무결성을 확인했습니다.
요약
이 실습에서는 무선 네트워크 보안 감사에서 기본적인 기술인 WPA/WPA2 핸드셰이크의 수동 캡처를 성공적으로 수행했습니다.
다음과 같은 방법을 배웠습니다.
sudo airmon-ng start wlan0을 사용하여 무선 인터페이스에서 모니터 모드 활성화--bssid및--channel플래그를 사용하여 특정 AP 를 대상으로airodump-ng사용-w플래그를 사용하여 캡처된 네트워크 트래픽을 파일에 저장airodump-ng출력에서 "WPA handshake" 확인 메시지 인식aircrack-ng를 사용하여 캡처 파일을 분석하고 유효한 핸드셰이크 존재 여부 확인
생성한 캡처 파일인 passive_capture-01.cap에는 이제 암호 크래킹 공격 (예: 사전 공격) 을 시도하는 데 필요한 모든 정보가 포함되어 있으며, 이는 전체 보안 평가의 논리적인 다음 단계입니다. 이 실습을 완료하신 것을 축하드립니다!
