ARP 리플레이 공격으로 WEP IV 캡처 가속화하기

Beginner
지금 연습하기

소개

WEP IV 캡처 가속화 실습에 오신 것을 환영합니다. WEP(Wired Equivalent Privacy) 는 오래되고 안전하지 않은 Wi-Fi 보안 프로토콜입니다. 주요 약점은 초기화 벡터 (IV) 를 사용하는 방식에 있습니다. WEP 키를 해독하려면 공격자는 고유한 IV 를 포함하는 대량의 데이터 패킷을 캡처해야 합니다.

네트워크가 수만 개의 IV 를 캡처할 만큼 충분한 트래픽을 생성할 때까지 수동으로 기다리면 몇 시간 또는 며칠이 걸릴 수 있습니다. 이를 극복하기 위해 ARP 리플레이 공격 (ARP Replay Attack) 이라는 능동적인 기법을 사용할 수 있습니다. 이 공격은 네트워크에서 ARP 패킷을 캡처하여 다시 주입 (또는 "리플레이") 하는 것을 포함합니다. 이를 통해 액세스 포인트 (AP) 가 새로운 IV 를 포함하는 대량의 새 패킷을 생성하도록 속여 몇 분 안에 필요한 데이터를 수집할 수 있습니다.

이 실습에서는 Aircrack-ng 제품군의 aireplay-ng 도구를 사용하여 ARP 리플레이 공격을 수행합니다. 무선 카드가 모니터 모드 (monitor mode) 로 설정되었다고 가정합니다.

aireplay-ng 를 이용한 가짜 인증 수행 -1

이 단계에서는 대상 액세스 포인트 (AP) 와 "가짜 인증 (fake authentication)"을 수행합니다. 네트워크에 패킷을 주입하기 전에, 저희 장치는 AP 와 연관 (associate) 되어야 합니다. 가짜 인증 공격은 이 연관을 설정하여 AP 가 저희를 합법적인 클라이언트로 믿게 만듭니다.

이 실습에서는 다음과 같은 시뮬레이션된 대상 정보를 사용합니다.

  • 인터페이스 (Interface): wlan0mon
  • ESSID (네트워크 이름): labex-wep
  • BSSID (AP MAC 주소): 00:11:22:33:44:55
  • 저희 MAC 주소: 00:C0:CA:A1:B2:C3

이제 터미널에서 다음 명령을 실행하여 가짜 인증을 수행합니다. -1은 가짜 인증 공격을 지정하고, 0은 재연관 타이밍을 자동으로 설정하며, -e는 ESSID 를, -a는 BSSID 를, -h는 저희 소스 MAC 주소를 지정합니다.

sudo aireplay-ng -1 0 -e labex-wep -a 00:11:22:33:44:55 -h 00:C0:CA:A1:B2:C3 wlan0mon

실제 환경에서는 진행 상황을 나타내는 출력이 표시됩니다. 성공적으로 실행되면 "Authentication successful" 및 "Association successful"과 같은 메시지가 표시됩니다. 실습 환경의 제약으로 인해 명령이 실제 환경의 전체 출력을 생성하지 않을 수 있지만, 이를 실행하는 것은 중요한 첫 번째 단계입니다.

12:34:56  Waiting for beacon frame (BSSID: 00:11:22:33:44:55) on channel 6
12:34:56  Sending Authentication Request (Open System) [ACK]
12:34:57  Authentication successful
12:34:57  Sending Association Request [ACK]
12:34:57  Association successful :-) (AID: 1)

연관이 설정되었으므로 이제 주요 공격을 진행할 수 있습니다.

aireplay-ng 를 이용한 ARP 리플레이 공격 시작 -3

이 단계에서는 ARP 리플레이 공격을 시작합니다. aireplay-ng에서 -3 플래그로 지정되는 이 공격은 네트워크에서 ARP 패킷을 수신 대기합니다. ARP 패킷을 캡처하면, 이를 다시 주입하여 새로운 IV 를 대량으로 생성하기 시작합니다.

이 공격은 계속 실행되므로 별도의 터미널 창에서 실행하는 것이 중요합니다. 터미널 탭 바에 있는 + 아이콘을 클릭하여 새 터미널을 열 수 있습니다.

새 터미널에서 다음 명령을 실행합니다. -3 플래그는 ARP 리플레이 공격을 시작하고, -b는 대상 BSSID(AP) 를 지정하며, -h는 저희 소스 MAC 주소 (인증에 사용한 주소) 를 지정합니다.

sudo aireplay-ng -3 -b 00:11:22:33:44:55 -h 00:C0:CA:A1:B2:C3 wlan0mon

명령을 실행한 후, aireplay-ng는 수신 대기를 시작합니다. 출력은 처음에 ARP 패킷을 기다리고 있음을 보여줍니다.

Saving ARP requests in replay_arp-1234-567890.cap
You should also start airodump-ng to capture replies.
Read 0 packets (got 0 ARP requests, 0 ACKs), sent 0 packets...(0 pps)

도구가 이제 수동으로 수신 대기 중입니다. 리플레이 프로세스를 시작하려면 최소한 하나의 ARP 패킷을 캡처해야 합니다. 다음 단계에서는 진행 상황을 모니터링할 도구를 설정할 것입니다. 이 터미널은 계속 실행해 두십시오.

airodump-ng 를 이용한 IV 캡처 모니터링

이 단계에서는 airodump-ng를 사용하여 네트워크를 모니터링하고, 더 중요하게는 ARP 리플레이 공격의 결과를 확인합니다. airodump-ng는 공격으로 생성된 모든 패킷을 캡처하여 파일에 저장합니다. 캡처된 데이터 패킷 (IV) 의 수는 성공의 핵심 지표입니다.

이 명령도 별도의 터미널에서 계속 실행해야 합니다. + 아이콘을 다시 클릭하여 세 번째 터미널 창을 열어주십시오.

이 새 터미널에서 다음 airodump-ng 명령을 실행합니다.

  • --bssid: 대상 AP 에 대한 캡처를 집중합니다.
  • -c 6: 채널을 6 으로 설정합니다 (AP 가 이 채널에 있다고 가정).
  • --write wep_capture: airodump-ng에게 캡처된 패킷을 wep_capture 접두사를 가진 파일에 저장하도록 지시합니다.
  • wlan0mon: 사용할 모니터 모드 인터페이스입니다.
sudo airodump-ng --bssid 00:11:22:33:44:55 -c 6 --write wep_capture wlan0mon

명령을 실행한 후 airodump-ng 인터페이스가 표시됩니다. 대상 BSSID 의 #Data 열에 주의를 기울이십시오. 이 숫자는 캡처된 IV 의 수를 나타냅니다.

 CH  6 ][ Elapsed: 0 s ][ 2023-10-27 10:10

 BSSID              PWR  Beacons    #Data, #/s  CH  MB   ENC  CIPHER AUTH ESSID

 00:11:22:33:44:55  -30       10        0    0   6  54   WEP  WEP         labex-wep

 BSSID              STATION            PWR   Rate    Lost    Frames  Probe

처음에는 #Data 수가 0 이거나 매우 낮을 것입니다. aireplay-ng 공격 (2 단계) 이 ARP 패킷을 캡처하고 주입을 시작하면 이 숫자가 매우 빠르게 증가하는 것을 볼 수 있습니다. 이 터미널을 계속 실행해 두고 다음 단계로 진행하여 프로세스를 이해하십시오.

ARP 리플레이가 주입 가능한 트래픽을 생성하는 방법 이해하기

이 단계는 개념적인 단계이며 새로운 명령을 실행할 필요는 없습니다. 목표는 세 개의 터미널 창에서 무슨 일이 일어나고 있는지 이해하는 것입니다.

실제 시나리오에서는 이제 네트워크의 합법적인 클라이언트가 ARP 요청을 보낼 때까지 기다립니다 (예: 네트워크에 처음 연결하거나 다른 장치를 찾으려고 할 때).

  1. 캡처: aireplay-ng -3 프로세스 (두 번째 터미널) 는 이 일이 발생하기를 기다립니다. ARP 패킷을 캡처하면 출력이 변경됩니다. 패킷을 읽었으며 이제 저장 중임을 나타냅니다.

    Read 147 packets (got 1 ARP request), sent 0 packets...(0 pps)
  2. 리플레이: ARP 패킷을 캡처한 직후, aireplay-ng는 이를 네트워크에 다시 주입하기 시작합니다. "sent" 카운터가 빠르게 증가하는 것을 볼 수 있습니다.

    Read 250 packets (got 1 ARP request), sent 86 packets...(102 pps)
  3. 생성: AP 는 이러한 리플레이된 ARP 패킷을 수신합니다. 수신하는 각 패킷에 대해 AP 는 응답을 브로드캐스트합니다. 각 응답은 WEP 로 암호화되며 새롭고 고유한 IV 를 포함합니다.

  4. 모니터링: airodump-ng 프로세스 (세 번째 터미널) 는 AP 로부터 이러한 모든 응답을 캡처합니다. 대상 네트워크의 #Data 열이 급증하기 시작하는 것을 볼 수 있으며, 종종 초당 수백 개씩 증가합니다.

이 피드백 루프는 공격의 핵심입니다. 캡처된 하나의 ARP 패킷을 사용하여 AP 를 속여 수천 개의 새 패킷을 생성하도록 하여 IV 수집 프로세스를 극적으로 가속화합니다.

20,000 개 이상의 IV 수집 후 공격 중지

이 마지막 단계에서는 충분한 수의 IV 를 수집한 후 공격을 중지합니다. WEP 키를 크랙하기 위해 일반적으로 20,000 에서 40,000 개의 IV 를 목표로 하지만, 키 강도에 따라 더 많은 IV 가 필요할 수 있습니다.

이 실습에서는 카운트가 20,000 을 초과하면 중지합니다.

airodump-ng 터미널 (열었던 세 번째 터미널) 에서 #Data 열을 주시하십시오. 값이 20,000 보다 커지면 캡처와 공격을 중지할 수 있습니다.

프로세스를 중지하려면 실행 중인 두 터미널 (airodump-ngaireplay-ng) 각각으로 이동하여 Ctrl+C를 누르십시오. 모든 패킷이 파일에 기록되도록 하려면 airodump-ng를 먼저 중지하는 것이 가장 좋습니다.

프로세스를 중지한 후 airodump-ng 명령은 ~/project 디렉토리에 여러 파일을 생성했을 것입니다. 가장 중요한 파일은 .cap으로 끝나는 캡처 파일입니다. 파일 목록을 확인하여 생성되었는지 확인해 보겠습니다.

ls -l

wep_capture-01.cap 파일이 있음을 확인하는 다음과 유사한 출력이 표시되어야 합니다.

-rw-r--r-- 1 root root 2450000 Oct 27 10:15 wep_capture-01.cap
-rw-r--r-- 1 root root   78123 Oct 27 10:15 wep_capture-01.csv
...

.cap 파일에는 수집한 모든 IV 가 포함되어 있으며 이제 WEP 키를 크랙하기 위해 aircrack-ng와 함께 사용할 준비가 되었습니다.

요약

이 실습에서는 WEP 로 보호되는 네트워크에 대한 가장 효과적인 공격 중 하나를 성공적으로 수행하는 방법을 배웠습니다.

먼저 aireplay-ng -1을 사용하여 가짜 인증을 수행하여 장치를 대상 액세스 포인트 (AP) 와 연결했습니다. 그런 다음 ARP 패킷을 수신하고 리플레이하는 aireplay-ng -3을 사용한 ARP 리플레이 공격이라는 실습의 핵심을 시작했습니다. 또한 airodump-ng를 설정하여 네트워크를 모니터링하고 결과 트래픽을 캡처했습니다.

이 공격이 어떻게 피드백 루프를 생성하여 AP 를 속여 분당 수천 개의 새 데이터 패킷 (IV) 을 생성하게 하는지 배웠습니다. 마지막으로 충분한 수의 IV 를 수집한 후 공격을 중지하여 크랙할 준비가 된 .cap 파일을 얻었습니다. 이 능동적인 기법은 네트워크 트래픽을 수동적으로 기다리는 것보다 훨씬 효율적입니다. 다음 논리적 단계는 이 실습 범위를 벗어나지만, wep_capture-01.cap 파일에 대해 aircrack-ng를 사용하여 WEP 키를 복구하는 것입니다.