WEP 클라이언트 대상 Caffe-Latte 공격 생성

Beginner
지금 연습하기

소개

Caffe-Latte 공격은 WEP 프로토콜을 대상으로 하는 클라이언트 측 공격입니다. 액세스 포인트 (AP) 를 대상으로 하는 다른 많은 Wi-Fi 공격과 달리, 이 공격은 네트워크에 연결된 클라이언트 장치를 대상으로 합니다. 이 공격은 클라이언트가 WEP 키스트림을 재구성하는 데 사용될 수 있는 패킷을 보내도록 속여서 결국 WEP 키를 복구하게 만듭니다. 이 방법은 합법적인 AP 근처에 있을 필요가 없기 때문에 특히 효과적입니다. 클라이언트의 범위 내에 있기만 하면 됩니다.

이 실습에서는 Aircrack-ng 스위트를 사용하여 Caffe-Latte 공격을 수행합니다. 대상 식별 방법, 클라이언트를 유인하기 위한 가짜 AP 설정, 클라이언트 연결 강제, WEP 키스트림 생성을 위한 필수 데이터 캡처 방법을 배우게 됩니다.

이 실습은 교육 목적으로만 사용됩니다.

WEP 네트워크에 연결된 클라이언트 식별

이 단계에서는 대상 WEP 네트워크와 연결된 클라이언트를 식별하는 방법을 배웁니다. 이 정찰 단계의 주요 도구는 airodump-ng로, 무선 네트워크를 스캔하고 연결된 장치를 나열합니다.

먼저 무선 인터페이스를 모니터 모드 (monitor mode) 로 전환해야 합니다. 이 모드를 사용하면 네트워크 카드가 자신에게 지정된 트래픽뿐만 아니라 공기 중에 있는 모든 Wi-Fi 트래픽을 수신할 수 있습니다. 무선 인터페이스 이름이 wlan0이라고 가정합니다.

모니터 모드를 시작하려면 다음 명령을 실행합니다.

sudo airmon-ng start wlan0

이 명령은 일반적으로 wlan0mon이라는 새 가상 인터페이스를 생성합니다. 출력에서 모니터 모드 인터페이스의 이름을 확인할 수 있습니다.

PHY     Interface       Driver          Chipset

phy0    wlan0           ath9k           Atheros Communications Inc. AR9271 802.11n
                (mac80211 monitor mode vif enabled for [phy0]wlan0mon on [phy0]wlan0)

이제 새로 생성된 모니터 인터페이스 (wlan0mon) 를 사용하여 네트워크를 스캔합니다. airodump-ng를 실행하고 약 15-20 초 동안 스캔한 후 Ctrl+C를 눌러 중지합니다.

sudo airodump-ng wlan0mon

실제 환경에서는 airodump-ng가 주변 네트워크 및 클라이언트 목록을 표시합니다. 이 실습에서는 시뮬레이션된 시나리오를 사용합니다. 출력은 다음과 유사하게 표시됩니다.

CH  6 ][ Elapsed: 15 s ][ 2023-10-27 10:30

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

 00:11:22:33:44:55  -30       10       15    0   6  54e  WEP  WEP         TestWEP

 BSSID              STATION            PWR   Rate    Lost    Frames  Probe

 00:11:22:33:44:55  AA:BB:CC:DD:EE:FF  -45    0 - 1      0        18

이 출력에서 다음을 식별해야 합니다.

  • BSSID: 액세스 포인트 (AP) 의 MAC 주소 (00:11:22:33:44:55).
  • STATION: AP 에 연결된 클라이언트의 MAC 주소 (AA:BB:CC:DD:EE:FF).
  • CH: AP 가 작동 중인 채널 (6).

이 실습의 나머지 부분에서는 이러한 시뮬레이션된 값을 사용합니다.

aireplay-ng -6 를 사용하여 Caffe-Latte 공격을 위한 리스너 시작

이 단계에서는 aireplay-ng를 사용하여 Caffe-Latte 공격 리스너를 시작합니다. 이 명령은 합법적인 네트워크를 모방하는 가짜 액세스 포인트 (AP) 를 설정합니다. 그런 다음 대상 클라이언트가 이 AP 에 연결될 때까지 기다립니다.

이 리스너는 클라이언트를 기다리기 위해 백그라운드에서 계속 실행되어야 합니다. 따라서 이 명령을 위해 새 터미널을 열어야 합니다. 새 터미널은 콘솔 창 상단의 터미널 탭 바에 있는 + 아이콘을 클릭하여 열 수 있습니다.

새 터미널에서 다음 명령을 실행합니다. 이전 단계에서 식별한 값으로 BSSID 와 클라이언트 MAC 을 바꾸는 것을 잊지 마세요.

sudo aireplay-ng -6 -b 00:11:22:33:44:55 -h AA:BB:CC:DD:EE:FF wlan0mon

명령을 분석해 보겠습니다.

  • aireplay-ng: 공격에 사용되는 도구입니다.
  • -6: Caffe-Latte 공격 모드를 지정합니다.
  • -b 00:11:22:33:44:55: 합법적인 AP 의 BSSID(MAC 주소) 입니다.
  • -h AA:BB:CC:DD:EE:FF: 대상 클라이언트의 MAC 주소입니다.
  • wlan0mon: 모니터 모드에서의 인터페이스입니다.

명령을 실행한 후 aireplay-ng가 수신 대기를 시작합니다. 출력은 다음과 같으며 이 단계에서 대기합니다.

Waiting for beacon frame (BSSID: 00:11:22:33:44:55) on channel 6
Listening for probes...

이 터미널을 계속 실행한 상태로 다음 단계를 위해 원래 (첫 번째) 터미널로 돌아갑니다.

클라이언트를 인증 해제하여 프로빙 (Probe) 하도록 강제하기

이 단계에서는 클라이언트가 현재 네트워크에서 연결을 끊도록 강제합니다. 클라이언트는 여전히 합법적인 AP 에 연결되어 있을 가능성이 높습니다. 인증 해제 패킷 (deauthentication packets) 을 전송하여 이 연결을 끊을 수 있습니다. 연결이 끊어지면 클라이언트는 알려진 네트워크를 찾기 위해 자동으로 프로빙 (probing) 을 시도하며, 이 과정에서 우리의 가짜 AP 를 발견하고 연결하게 됩니다.

첫 번째 터미널로 돌아갑니다. 이번에는 인증 해제 모드 (-0) 에서 aireplay-ng를 다시 사용할 것입니다.

클라이언트에게 5 개의 인증 해제 패킷을 보내려면 다음 명령을 실행합니다.

sudo aireplay-ng -0 5 -a 00:11:22:33:44:55 -c AA:BB:CC:DD:EE:FF wlan0mon

매개변수의 의미는 다음과 같습니다.

  • -0: 공격 모드를 인증 해제 (deauthentication) 로 설정합니다.
  • 5: 보낼 인증 해제 패킷의 수입니다. 일반적으로 적은 수가 충분합니다.
  • -a 00:11:22:33:44:55: 클라이언트가 연결된 액세스 포인트 (AP) 의 BSSID 입니다.
  • -c AA:BB:CC:DD:EE:FF: 연결을 끊으려는 클라이언트의 MAC 주소입니다.
  • wlan0mon: 모니터 모드 인터페이스입니다.

패킷이 전송되고 있음을 확인하는 출력이 표시됩니다.

10:35:10  Waiting for beacon frame (BSSID: 00:11:22:33:44:55) on channel 6
10:35:10  Sending 64 directed DeAuths to AA:BB:CC:DD:EE:FF (code 7).

이 작업은 클라이언트가 연결할 네트워크를 검색하도록 만드는 데 충분해야 합니다.

클라이언트가 가짜 AP 에 연결될 때까지 기다리기

이 단계에서는 클라이언트가 가짜 AP 에 연결되는 것을 관찰합니다. 인증 해제 패킷을 보낸 후, 연결이 끊어진 클라이언트는 네트워크 스캔을 시작했습니다. 두 번째 터미널에서 실행 중인 aireplay-ng -6 리스너는 이러한 스캔에 응답하여 합법적인 네트워크인 것처럼 가장했습니다.

Caffe-Latte 공격이 실행 중인 두 번째 터미널로 시점을 전환합니다. 인증 해제가 성공했다면, 클라이언트가 가짜 AP 에 연결되었음을 나타내는 새로운 출력을 보게 될 것입니다.

출력은 다음과 같이 변경될 것입니다.

Waiting for beacon frame (BSSID: 00:11:22:33:44:55) on channel 6
Listening for probes...
Client AA:BB:CC:DD:EE:FF associated to fake AP (00:11:22:33:44:55)

Client AA:BB:CC:DD:EE:FF associated to fake AP 메시지는 공격이 계획대로 진행되고 있음을 확인시켜 줍니다. 클라이언트는 이제 자신의 네트워크에 연결되었다고 생각하지만, 실제로는 사용자의 컴퓨터와 통신하고 있습니다.

공격은 자동으로 캡처된 키스트림 (keystream) 을 파일에 저장하기 시작합니다. 이를 시뮬레이션하여 확인하기 위해 aireplay-ng가 생성할 출력 파일을 만들어 보겠습니다. 첫 번째 터미널에서 이 명령을 실행합니다.

touch ~/project/caffe-latte.xor

ARP 요청 캡처 및 WEP 키스트림 생성

이 마지막 단계에서는 Caffe-Latte 공격의 핵심 작동 방식을 관찰합니다. 이제 클라이언트가 가짜 AP 에 연결되었으므로, ARP 요청과 같은 패킷을 전송하여 네트워크에서 통신을 시도할 것입니다. 사용자의 aireplay-ng 리스너는 이러한 패킷을 캡처하고 조작하여 클라이언트에게 다시 전송합니다. 클라이언트가 이러한 조작된 패킷에 암호화된 응답을 보내는 것이 WEP 키스트림을 수집할 수 있게 해주는 요소입니다.

aireplay-ng -6이 실행 중인 두 번째 터미널에서 계속 관찰합니다. ARP 패킷이 캡처 및 처리되고 있으며, 키스트림이 caffe-latte.xor이라는 파일에 저장되고 있음을 나타내는 출력을 보게 될 것입니다.

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

Read 15 packets...
Got an ARP request from AA:BB:CC:DD:EE:FF.
Trying to get a PRGA ...
Got keystream: 1F:5A:B3...
Saving keystream in caffe-latte.xor

이 프로세스는 계속해서 더 많은 데이터를 수집합니다. 클라이언트로부터 오는 새로운 패킷마다 키스트림에 대한 더 많은 정보를 제공합니다. caffe-latte.xor 파일에 충분한 데이터가 수집되면, 이 파일은 packetforge-ngaircrack-ng와 같은 다른 도구와 함께 사용하여 패킷을 위조하고 궁극적으로 WEP 키를 크랙하는 데 사용될 수 있습니다.

이 실습에서는 caffe-latte.xor 파일을 성공적으로 생성하고 키스트림이 저장되는 것을 보는 것이 성공적인 Caffe-Latte 공격을 입증합니다.

이제 두 번째 터미널에서 Ctrl+C를 눌러 공격을 중지할 수 있습니다. 추가 터미널도 닫을 수 있습니다.

요약

이 실습에서는 WEP 클라이언트에 대한 Caffe-Latte 공격을 성공적으로 실행했습니다. 강력한 클라이언트 측 공격 기법을 배우고 Aircrack-ng 스위트에 대한 실습 경험을 쌓았습니다.

구체적으로 다음을 배웠습니다.

  • airmon-ng를 사용하여 무선 인터페이스를 모니터 모드로 전환하는 방법.
  • airodump-ng를 사용하여 WEP 네트워크 및 연결된 클라이언트를 식별하는 방법.
  • 가짜 AP 를 생성하기 위해 aireplay-ng -6로 Caffe-Latte 공격 리스너를 설정하는 방법.
  • aireplay-ng -0를 사용한 인증 해제 공격으로 클라이언트가 네트워크에서 연결을 끊도록 강제하는 방법.
  • 클라이언트 패킷 캡처 및 WEP 키스트림 파일 생성 프로세스를 관찰하는 방법.

이 지식은 무선 네트워크 취약점을 이해하는 데 중요한 부분입니다. 항상 이러한 기술을 책임감 있게 사용하고 테스트할 권한이 있는 네트워크에서만 사용해야 함을 기억하십시오.