Aircrack-ng 로 WPA 핸드셰이크 수동 캡처하기

Beginner
지금 연습하기

소개

이 실습에서는 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) 와 인증할 때만 발생합니다. 수동 캡처 시나리오에서는 다음 두 가지 이벤트 중 하나가 발생할 때까지 기다려야 합니다.

  1. 새 클라이언트가 AP 에 연결됩니다.
  2. 기존 클라이언트가 연결을 끊었다가 AP 에 다시 연결됩니다.

이러한 이벤트가 언제 발생하는지 제어할 수 없으므로 이 프로세스에는 인내심이 필요합니다. 이 실습에서는 다루지 않는 능동 공격에서는 aireplay-ng와 같은 다른 도구를 사용하여 클라이언트가 연결을 끊도록 강제하고 즉시 다시 연결하도록 유도하여 필요에 따라 핸드셰이크를 생성합니다.

이 실습에서는 이 대기 기간을 시뮬레이션합니다. 클라이언트가 시뮬레이션된 환경에서 "TestAP" 네트워크에 자동으로 연결됩니다. 이 단계에서는 명령을 실행할 필요가 없습니다. 터미널에서 airodump-ng 출력을 계속 관찰하기만 하면 됩니다.

출력에서 'WPA handshake' 메시지 식별하기

이 단계에서는 WPA 핸드셰이크를 성공적으로 캡처했음을 확인하는 메시지를 보게 됩니다.

잠시 기다린 후 시뮬레이션된 클라이언트가 AP 에 연결되었습니다. airodump-ng가 네 방향 핸드셰이크 패킷을 성공적으로 캡처하면 디스플레이의 오른쪽 상단에 확인 메시지가 표시됩니다.

airodump-ng 터미널 창을 확인하세요. 이제 두 가지 중요한 변경 사항이 표시되어야 합니다.

  1. WPA handshake: 00:11:22:33:44:55 메시지가 나타났습니다.
  2. 하단 섹션에 방금 연결된 클라이언트 장치를 나타내는 새 항목이 나타났습니다.

출력은 다음과 유사하게 표시됩니다.

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에는 이제 암호 크래킹 공격 (예: 사전 공격) 을 시도하는 데 필요한 모든 정보가 포함되어 있으며, 이는 전체 보안 평가의 논리적인 다음 단계입니다. 이 실습을 완료하신 것을 축하드립니다!