소개
Fluxion 은 강력한 보안 감사 및 소셜 엔지니어링 연구 도구입니다. Wi-Fi 네트워크에 대한 다양한 공격을 자동화합니다. 주요 기능 중 하나는 "Handshake Snooper" 공격입니다. 이 공격은 클라이언트 장치가 Wi-Fi 액세스 포인트에 연결될 때 발생하는 WPA/WPA2 4-way 핸드셰이크를 캡처하는 데 중점을 둡니다. 이 핸드셰이크를 캡처하는 것은 Wi-Fi 비밀번호를 오프라인으로 크랙하는 시도의 중요한 첫 단계입니다.
이 랩에서는 Fluxion 의 대화형 인터페이스를 사용하여 Handshake Snooper 공격을 시작하는 단계별 프로세스를 배우게 됩니다. 실제 무선 하드웨어 없이도 워크플로우를 이해하기 위해 Fluxion 의 동작을 모방하는 시뮬레이션 환경을 사용할 것입니다. 이 랩은 교육 목적으로만 사용됩니다.
대상 네트워크 선택
이 단계에서는 Fluxion 스크립트를 시작하고 스캔된 네트워크 목록에서 대상 Wi-Fi 네트워크를 선택합니다. 설정 스크립트는 이미 ~/project/fluxion 디렉토리에 시뮬레이션된 fluxion.sh 스크립트를 생성했습니다.
먼저 fluxion 디렉토리로 이동합니다.
cd ~/project/fluxion
이제 sudo 권한으로 스크립트를 실행합니다. Fluxion 은 네트워크 인터페이스를 관리하기 위해 루트 액세스가 필요합니다.
sudo ./fluxion.sh
스크립트는 먼저 언어를 묻습니다. 영어의 경우 1을 입력합니다. 그런 다음 무선 인터페이스를 스캔하는 것을 시뮬레이션하고 하나를 선택하도록 요청합니다. wlan0을 선택하려면 1을 입력합니다.
마지막으로 시뮬레이션된 Wi-Fi 네트워크 목록이 표시됩니다. MyHomeWiFi를 대상으로 합니다. 선택하려면 1을 입력합니다.
사용자 상호 작용은 다음과 같습니다.
FLUXION v6.9
Select your language: [1] English
> 1
Scanning for wireless interfaces...
[*] 1 wireless interface found.
1. wlan0
Select a wireless interface to use: 1
Scanning for target networks...
## BSSID CH SPEED PWR ENC ESSID
--------------------------------------------------------------------
1 00:11:22:33:44:55 6 54M -50 WPA2 MyHomeWiFi
2 AA:BB:CC:DD:EE:FF 11 54M -65 WPA2 NeighborsWiFi
Select a target network: 1
대상을 선택하면 스크립트가 다음 단계로 진행됩니다.
'Handshake Snooper' 공격 벡터 선택
이 단계에서는 대상 네트워크를 선택한 후 Fluxion 이 사용 가능한 공격 벡터 목록을 표시합니다. 우리의 목표는 WPA/WPA2 핸드셰이크를 캡처하는 것이므로 'Handshake Snooper' 옵션을 선택할 것입니다. 이 공격은 Captive Portal 과 같은 더 복잡한 공격을 시작하지 않고 핸드셰이크 데이터를 수신하고 캡처하는 데 특별히 중점을 둡니다.
스크립트가 이제 공격 선택 메뉴를 표시합니다. Handshake Snooper에 대해 옵션 2를 선택합니다.
Select an attack vector:
1. Captive Portal
2. Handshake Snooper
Select an attack: 2
이 옵션을 선택하면 Fluxion 에 핸드셰이크 캡처 프로세스를 진행하도록 지시하는 것입니다.
Fake AP 에 대한 'hostapd' 메서드 선택
이 단계에서 Fluxion 은 공격을 위한 액세스 포인트를 어떻게 생성할지 묻습니다. 스누핑 공격의 경우에도 Fluxion 은 무선 인터페이스를 관리하기 위해 액세스 포인트를 생성해야 할 수 있습니다. 여러 옵션을 제공하며, hostapd는 일반적이고 안정적인 선택입니다. hostapd는 네트워크 인터페이스 카드를 무선 액세스 포인트로 만드는 사용자 공간 데몬입니다.
스크립트가 이제 메서드를 선택하라는 메시지를 표시합니다. hostapd를 사용하려면 옵션 1을 선택합니다.
Select a method for the fake AP:
1. hostapd
2. airbase-ng
Select a method: 1
이렇게 하면 Fluxion 이 공격 중 액세스 포인트 관련 작업에 hostapd 소프트웨어를 사용하도록 구성됩니다.
핸드셰이크 캡처를 위한 인증 해제 공격 시작
이 단계에서는 인증 해제 공격을 시작합니다. 핸드셰이크를 캡처하려면 클라이언트 장치가 액세스 포인트에 연결 (또는 재연결) 해야 합니다. 인증 해제 공격은 연결된 클라이언트가 대상 네트워크에서 연결을 끊도록 강제합니다. 클라이언트가 자동으로 재연결을 시도할 때 핸드셰이크를 캡처할 수 있습니다. Fluxion 은 이 프로세스를 자동화합니다.
스크립트가 인증 해제 방법을 물을 것입니다. 단순성과 핸드셰이크 캡처 가능성을 최대화하기 위해 모든 클라이언트를 인증 해제하는 옵션을 선택합니다. Deauth all에 대해 옵션 1을 선택합니다.
Select a deauthentication method:
1. Deauth all
2. Deauth client
Select a method: 1
이 선택을 하면 시뮬레이션된 공격이 시작됩니다.
핸드셰이크 캡처 및 저장을 기다리기
이 마지막 단계에서 Fluxion 은 현재 네트워크를 적극적으로 모니터링하고 인증 해제 패킷을 보내고 있습니다. WPA/WPA2 핸드셰이크를 캡처하기 위해 클라이언트가 재연결하기를 기다리고 있습니다. 우리의 시뮬레이션은 즉시 성공할 것입니다.
공격이 실행 중임을 나타내는 출력과 함께 핸드셰이크가 캡처되었음을 확인하는 성공 메시지가 표시됩니다. 스크립트는 핸드셰이크 파일 (.cap) 이 저장된 위치도 알려줍니다.
[*] Starting deauthentication attack...
[*] Waiting for a handshake...
[+] WPA handshake captured! BSSID: 00:11:22:33:44:55
[*] Saving handshake to 'fluxion/handshakes/MyHomeWiFi_00-11-22-33-44-55.cap'
[*] Attack finished. Exiting.
스크립트가 이제 완료되고 종료되었습니다. 캡처된 핸드셰이크는 fluxion/handshakes/ 디렉토리에 저장됩니다. 해당 디렉토리의 내용을 나열하여 존재 여부를 확인할 수 있습니다.
ls -l ~/project/fluxion/handshakes
출력에서 캡처된 파일을 볼 수 있습니다.
total 0
-rw-r--r-- 1 root root 0 Jan 1 00:00 MyHomeWiFi_00-11-22-33-44-55.cap
WPA 핸드셰이크 캡처 시뮬레이션을 성공적으로 완료했습니다.
요약
이 실습에서는 시뮬레이션된 Fluxion 환경을 사용하여 핸드셰이크 스누퍼 (Handshake Snooper) 공격을 시작하는 과정을 성공적으로 살펴보았습니다. 도구를 시작하는 것부터 최종 핸드셰이크 파일을 캡처하는 것까지 관련된 필수 단계를 배웠습니다.
구체적으로 다음을 배웠습니다.
- Fluxion 인터페이스 탐색 방법.
- 대상 Wi-Fi 네트워크 선택 방법.
- 'Handshake Snooper' 공격 벡터 선택 방법.
- 클라이언트가 재연결하도록 강제하는 인증 해제 공격 시작 방법.
- WPA/WPA2 핸드셰이크 파일 캡처 및 저장 확인 방법.
캡처된 .cap 파일은 이후 aircrack-ng 또는 hashcat과 같은 오프라인 비밀번호 크래킹 도구와 함께 사용하여 네트워크 비밀번호를 복구하는 데 활용될 수 있습니다. 이 실습은 가장 일반적인 Wi-Fi 침투 테스트 기법 중 하나에 대한 기초적인 이해를 제공했습니다.
