소개
이 실습에서는 "숨겨진" SSID(Service Set Identifier) 를 가진 Wi-Fi 네트워크를 타겟팅하는 과정을 배우게 됩니다. SSID 숨김은 네트워크가 자신의 이름을 브로드캐스트하지 않아 표준 Wi-Fi 스캔에서 보이지 않게 만드는 기본적인 보안 조치입니다. 하지만 이는 강력한 보안 기능이 아니며, SSID 는 쉽게 발견될 수 있습니다.
aircrack-ng 스위트의 도구를 사용하여 먼저 숨겨진 네트워크의 이름을 발견한 다음, 자동화된 소셜 엔지니어링 툴킷인 Fluxion을 사용하여 이를 타겟팅할 것입니다. 이 실습은 교육 목적으로만 제공되며 무선 침투 테스트에서 일반적인 기법을 시연합니다. 여러분은 시뮬레이션된 무선 환경 내에서 작업하게 됩니다.
네트워크 스캔 및 숨겨진 네트워크 식별 (ESSID 없음)
이 단계에서는 필요한 도구를 설치하고 사용 가능한 무선 네트워크를 스캔하는 것부터 시작합니다. 우리의 목표는 이름 (ESSID) 을 브로드캐스트하지 않는 네트워크를 식별하는 것입니다.
먼저 터미널을 열고 패키지 목록을 업데이트한 다음, 스캔에 필요한 도구를 포함하는 aircrack-ng 스위트를 설치합니다.
sudo apt-get update
sudo apt-get install -y aircrack-ng
이 실습에서는 wlan0이라는 시뮬레이션된 무선 인터페이스를 사용합니다. 네트워크를 스캔하려면 먼저 이 인터페이스를 "모니터 모드 (monitor mode)"로 전환해야 합니다. 이 모드를 사용하면 무선 카드가 특정 채널의 모든 Wi-Fi 트래픽을 캡처할 수 있으며, 자신에게 전달되는 트래픽뿐만 아니라 모든 트래픽을 캡처할 수 있습니다. 이를 위해 airmon-ng를 사용합니다.
sudo airmon-ng start wlan0
이 명령은 일반적으로 wlan0mon이라는 새 가상 인터페이스를 생성하며, 이 인터페이스는 이제 모니터 모드입니다.
이제 airodump-ng를 사용하여 모니터 모드 인터페이스를 통해 주변의 모든 네트워크를 스캔해 보겠습니다.
sudo airodump-ng wlan0mon
잠시 후 네트워크 목록이 표시됩니다. ESSID가 비어 있거나 <length: 0>으로 표시되는 항목을 찾으십시오. 이것이 바로 숨겨진 네트워크입니다.
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
1A:2B:3C:4D:5E:6F -30 10 0 0 6 54e WPA2 CCMP PSK <length: 0>
AA:BB:CC:DD:EE:FF -55 25 5 1 11 54e WPA2 CCMP PSK MyHomeWiFi
위 출력에서 BSSID 가 1A:2B:3C:4D:5E:6F인 네트워크가 우리의 타겟입니다. 해당 네트워크의 BSSID와 CH(채널) 를 기록해 두십시오. 스캔을 중지하려면 Ctrl+C를 누르면 됩니다.
'airodump-ng'를 사용하여 클라이언트 연결 대기 및 ESSID 공개
이 단계에서는 숨겨진 네트워크의 실제 이름 (ESSID) 을 공개하기 위해 스캔 노력을 집중할 것입니다. 숨겨진 네트워크의 이름은 클라이언트 장치가 해당 네트워크에 연결하거나 연결을 시도할 때 공개됩니다. 숨겨진 네트워크의 특정 채널 및 BSSID 를 모니터링하여 이 정보를 캡처할 수 있습니다.
이전 단계에서 식별한 숨겨진 네트워크의 BSSID 와 채널을 지정하여 airodump-ng 명령을 다시 사용합니다. 이렇게 하면 캡처 프로세스가 더 효율적입니다. <BSSID>와 <CHANNEL>을 기록해 둔 값으로 바꾸십시오.
sudo airodump-ng --bssid 1A:2B:3C:4D:5E:6F --channel 6 wlan0mon
처음에는 ESSID가 여전히 숨겨진 것으로 표시됩니다. 클라이언트가 연결될 때까지 기다려야 합니다. 이 시뮬레이션된 환경에서는 몇 초 후에 클라이언트가 자동으로 연결됩니다.
클라이언트가 연결되면 airodump-ng는 연결 프레임 (association frames) 을 캡처하고 ESSID 를 표시합니다. 출력은 네트워크 이름을 표시하도록 업데이트됩니다.
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
1A:2B:3C:4D:5E:6F -30 35 15 2 6 54e WPA2 CCMP PSK MyHiddenNet
BSSID STATION PWR Rate Lost Frames Probe
1A:2B:3C:4D:5E:6F 00:11:22:33:44:55 -40 0 - 1 0 15
보시다시피 ESSID 는 MyHiddenNet으로 공개되었습니다. 이 이름을 기록해 두십시오. 이제 숨겨진 네트워크를 성공적으로 찾아냈습니다. 스캔을 중지하려면 Ctrl+C를 누르면 됩니다.
Fluxion 실행 및 공개된 ESSID 수동 입력
이 단계에서는 공격 단계에 사용할 도구인 Fluxion을 설치하고 실행합니다. 이제 숨겨진 네트워크의 ESSID 를 알고 있으므로 Fluxion 이 이를 올바르게 타겟팅하도록 구성할 수 있습니다.
먼저 ~/project 디렉터리에 GitHub 에서 Fluxion 리포지토리를 클론합니다.
git clone https://github.com/FluxionNetwork/fluxion.git
다음으로 새로 생성된 fluxion 디렉터리로 이동합니다.
cd fluxion
Fluxion 에는 필요한 모든 종속성을 확인하고 설치하는 설치 스크립트가 있습니다. sudo 권한으로 실행하십시오.
sudo ./fluxion.sh -i
설치가 완료되면 Fluxion 을 실행할 수 있습니다.
sudo ./fluxion.sh
Fluxion 이 시작되고 먼저 언어를 선택하라는 메시지를 표시합니다. 영어의 경우 1을 입력하고 Enter 를 누릅니다.
다음으로 무선 어댑터를 선택하라는 메시지가 표시됩니다. 목록에서 wlan0mon을 볼 수 있어야 합니다. 해당 번호를 입력하고 Enter 를 눌러 선택하십시오.
그런 다음 Fluxion 이 스캐너 메뉴를 표시합니다. 타겟을 스캔할 옵션을 선택합니다. 예를 들어 1. All channels를 선택합니다. Fluxion 이 스캔을 시작하고 곧 airodump-ng와 유사한 사용 가능한 네트워크 목록을 표시합니다.
BSSID 로 숨겨진 네트워크 선택
이 단계에서는 Fluxion 에서 제공하는 목록에서 타겟 네트워크를 선택하고 이전에 발견한 ESSID 를 수동으로 입력합니다.
이전 단계의 스캔이 완료되면 Fluxion 이 네트워크 목록을 표시합니다. 이 목록에서 타겟 네트워크를 찾으십시오. BSSID(1A:2B:3C:4D:5E:6F) 로 식별되지만 ESSID 열은 여전히 비어 있을 수 있습니다.
[+] Select a target.
[ID] [BSSID] [CH] [PWR] [ENC] [ESSID]
[01] [1A:2B:3C:4D:5E:6F] [06] [-30] [WPA2]
[02] [AA:BB:CC:DD:EE:FF] [11] [-55] [WPA2] MyHomeWiFi
타겟 네트워크에 해당하는 번호 (예: 위 예시에서 1) 를 입력하고 Enter 를 누릅니다.
Fluxion 은 네트워크에 숨겨진 ESSID 가 있음을 감지했기 때문에 이제 수동으로 입력하라는 메시지를 표시합니다.
[*] The selected network has a hidden ESSID, please enter it manually.
>
2 단계에서 발견한 ESSID(MyHiddenNet) 를 입력하고 Enter 를 누릅니다.
그러면 Fluxion 이 캡처된 핸드셰이크와 같은 공격 관련 파일을 저장할 위치를 묻습니다. Enter 를 눌러 기본 위치를 수락하면 됩니다. 그 후 Fluxion 은 공격 선택 메뉴로 진행합니다.
핸드셰이크 스누퍼 또는 캡티브 포털 공격 진행
이 마지막 단계에서는 타겟을 선택하고 ESSID 를 제공하면 Fluxion 이 공격 옵션 메뉴를 표시합니다. 핸드셰이크가 어떻게 캡처되는지 이해하기 위해 수동 공격을 선택할 것입니다.
Fluxion 의 공격 메뉴는 여러 가지 선택 사항을 제공합니다. 가장 일반적인 두 가지는 다음과 같습니다.
- 핸드셰이크 스누퍼 (Handshake Snooper): 이 공격은 클라이언트가 액세스 포인트와 인증할 때 발생하는 WPA/WPA2 4-way 핸드셰이크를 수동으로 수신합니다. 클라이언트가 재연결하도록 강제하여 프로세스를 가속화하기 위해 비인증 공격 (deauthentication attack) 과 결합할 수 있습니다.
- 캡티브 포털 (Captive Portal): 가짜 액세스 포인트 (Evil Twin) 와 가짜 로그인 페이지를 생성하여 사용자가 Wi-Fi 비밀번호를 입력하도록 속이는 더 공격적인 공격입니다.
이 실습에서는 핸드셰이크 캡처를 위해 Fluxion 이 어떻게 준비하는지 보기 위해 핸드셰이크 스누퍼를 선택할 것입니다.
공격 메뉴에서 핸드셰이크 스누퍼 옵션을 선택합니다.
[+] Select an attack.
[1] Handshake snooper
[2] Captive Portal
1을 입력하고 Enter 를 누릅니다.
그러면 Fluxion 이 핸드셰이크를 어떻게 캡처할 것인지 묻습니다. 두 가지 옵션을 제공합니다. 하나는 수동이고 다른 하나는 능동 (비인증 장치 사용) 입니다. 능동 방식이 더 빠릅니다. 비인증 장치를 사용하는 옵션 (예: aircrack-ng) 을 선택합니다.
Fluxion 이 이제 공격을 시작합니다. 클라이언트를 모니터링하고 비인증 패킷을 보내기 위해 여러 터미널 창을 열고 클라이언트가 재연결될 때 핸드셰이크를 캡처하기를 기다립니다. 이 단계에 도달하는 것이 우리 실습의 목표입니다. 실제 시나리오에서는 이제 핸드셰이크 파일이 캡처될 때까지 기다릴 것입니다.
요약
이 실습에서는 숨겨진 SSID 를 가진 Wi-Fi 네트워크를 성공적으로 타겟팅했습니다. SSID 를 숨기는 것은 네트워크 이름을 쉽게 알아낼 수 있기 때문에 효과적인 보안 조치가 아니라는 것을 배웠습니다.
다음과 같은 전체 워크플로우를 연습했습니다.
airodump-ng를 사용하여 숨겨진 네트워크를 스캔하고 식별했습니다.- 타겟의 BSSID 와 채널에 스캔을 집중하여 ESSID 를 알아냈습니다.
Fluxion프레임워크를 실행했습니다.- 발견된 ESSID 를 수동으로 제공하여 Fluxion 에서 숨겨진 네트워크를 타겟팅했습니다.
- 인증 자격 증명을 캡처할 준비를 하며
핸드셰이크 스누퍼공격을 시작했습니다.
이러한 기술은 무선 보안 감사에서 기본적이며 공격자가 단순한 은닉 기반 방어를 어떻게 우회할 수 있는지 보여줍니다. 어떤 네트워크에 대해서든 이러한 작업을 수행하기 전에 항상 명시적인 허가를 받았는지 확인하십시오.
