Fluxion 용 핸드셰이크 캡처를 위한 hcxdumptool 사용법

Beginner
지금 연습하기

소개

이 실습에서는 hcxdumptool을 사용하여 Wi-Fi 핸드셰이크 데이터를 캡처하고 소셜 엔지니어링 도구인 Fluxion 에서 사용할 수 있도록 준비하는 전체 워크플로우를 배우게 됩니다. hcxdumptool은 wlan 장치에서 패킷을 캡처하도록 설계된 강력한 도구로, 사용자가 연결될 때까지 기다리거나 인증 해제 공격 (deauthentication attacks) 을 사용하지 않고도 PMKID(Pairwise Master Key Identifiers) 및 핸드셰이크를 얻는 데 특화되어 있습니다.

다음 과정을 거치게 됩니다.

  1. 소스 코드에서 hcxdumptool 설치.
  2. 시뮬레이션된 무선 인터페이스에서 네트워크 데이터를 캡처하기 위해 hcxdumptool 실행.
  3. 함께 제공되는 도구인 hcxpcaptool을 사용하여 캡처된 데이터를 표준 .cap 파일 형식으로 변환.
  4. 변환된 파일을 Fluxion 에서 사용할 수 있는 적절한 디렉토리로 이동.
  5. Fluxion 프레임워크 내에서 이 핸드셰이크를 가져오고 활용하는 방법 이해.

이 실습이 끝나면 Wi-Fi 보안 감사에 사용되는 핵심 기술에 대한 실질적인 이해를 갖게 될 것입니다.

Kali Linux 에 hcxdumptool 설치

이 단계에서는 hcxdumptool을 설치합니다. 기본 패키지 저장소에 항상 포함되어 있는 것은 아니므로, 최신 버전을 얻는 가장 확실한 방법은 GitHub 에서 제공되는 소스 코드를 컴파일하는 것입니다. 설정 스크립트가 이미 필요한 종속성을 설치했습니다.

먼저 GitHub 에서 공식 hcxdumptool 저장소를 클론합니다. 모든 작업은 ~/project 디렉토리에서 수행해야 합니다.

git clone https://github.com/ZerBea/hcxdumptool.git

저장소가 클론되고 있음을 나타내는 출력이 표시되어야 합니다.

Cloning into 'hcxdumptool'...
remote: Enumerating objects: 8133, done.
remote: Counting objects: 100% (154/154), done.
remote: Compressing objects: 100% (88/88), done.
remote: Total 8133 (delta 81), reused 125 (delta 66), pack-reused 7979
Receiving objects: 100% (8133/8133), 2.21 MiB | 5.62 MiB/s, done.
Resolving deltas: 100% (6061/6061), done.

다음으로 새로 생성된 hcxdumptool 디렉토리로 이동합니다.

cd hcxdumptool

이제 make 명령을 사용하여 소스 코드를 컴파일합니다.

make

마지막으로 컴파일된 바이너리를 시스템에 설치하여 어디서든 실행할 수 있도록 합니다.

sudo make install

hcxdumptool이 올바르게 설치되었는지 확인하려면 도움말 메뉴를 확인할 수 있습니다.

hcxdumptool -h

이 명령은 사용 가능한 옵션 목록을 길게 표시하여 도구를 사용할 준비가 되었음을 확인해야 합니다.

PMKID 및 핸드셰이크 캡처를 위해 hcxdumptool 실행

이 단계에서는 hcxdumptool을 사용하여 네트워크 트래픽 캡처를 시작합니다. 이 실습을 위해 wlan0이라는 시뮬레이션된 무선 인터페이스가 생성되었습니다.

먼저 메인 프로젝트 디렉토리로 돌아갑니다.

cd ~/project

이제 wlan0 인터페이스에서 수신 대기하고 캡처된 모든 데이터를 dump.pcapng라는 파일에 저장하기 위해 hcxdumptool을 실행합니다. 또한 도구가 무엇을 하고 있는지 볼 수 있도록 상태 표시를 활성화합니다.

다음 명령을 실행합니다. 약 10-15 초 동안 실행한 다음 Ctrl+C를 눌러 캡처 프로세스를 중지합니다.

sudo hcxdumptool -i wlan0 -o dump.pcapng --enable_status=1

실행되는 동안 실시간으로 업데이트되는 상태 화면이 표시됩니다.

start capturing (stop with ctrl+c)
INTERFACE:...............: wlan0
FILTERLIST...............: 0 entries
MAC CLIENT...............: 000000000000
MAC ACCESS POINT.........: 000000000000
EAPOL TIMEOUT............: 150000
REPLAYCOUNT..............: 63468
ANONCE...................: a1a2a3a4a5a6a7a8a9b1b2b3b4b5b6b7b8b9c1c2c3c4c5c6c7c8c9d1d2d3d4d5

[22:12:30 - 001]

Ctrl+C를 누르면 도구가 중지되고 캡처 파일이 저장됩니다. 현재 디렉토리의 파일을 나열하여 dump.pcapng 파일이 생성되었는지 확인할 수 있습니다.

ls -l

출력 목록에 dump.pcapng가 표시되어야 합니다.

-rw-r--r-- 1 labex labex   24 Mar 20 22:12 dump.pcapng
drwxr-xr-x 8 labex labex 4096 Mar 20 22:10 fluxion
drwxr-xr-x 3 labex labex 4096 Mar 20 22:11 hcxdumptool

hcxpcaptool 을 사용하여 출력 파일을 .cap 파일로 변환

이 단계에서는 원시 dump.pcapng 파일을 Fluxion 또는 Hashcat 과 같은 다른 도구와 호환되는 형식으로 변환합니다. hcxdumptool 스위트에는 이 목적을 위한 hcxpcaptool이라는 도구가 포함되어 있습니다. 이 도구는 원시 캡처에서 유용한 핸드셰이크 및 PMKID 정보를 추출합니다.

dump.pcapng 파일을 처리하기 위해 다음 hcxpcaptool 명령을 실행합니다. 이 명령은 정리된 데이터를 포함하는 handshake.cap라는 새 파일을 생성합니다.

hcxpcaptool -o handshake.cap dump.pcapng
  • -o handshake.cap: 출력 파일 이름을 지정합니다.
  • dump.pcapng: 이전 단계의 입력 파일입니다.

명령은 변환 프로세스를 요약하는 출력을 생성합니다. 실제 트래픽이 없는 시뮬레이션된 환경에 있으므로 핸드셰이크가 0 개 발견되는 것은 정상입니다. 목표는 명령 워크플로를 배우는 것입니다.

summary:
--------
file name....................: dump.pcapng
file type....................: pcapng
file hardware information....: x86_64
file os information..........: Linux 5.15.0-101-generic
file application information.: hcxdumptool 6.2.7
network type.................: DLT_IEEE802_11_RADIO (127)
endianess....................: little endian
read errors..................: 0
packets inside...............: 1
skipped packets..............: 0
packets with FCS.............: 0
beacons (with ESSID inside)..: 0
probe requests...............: 1
probe responses..............: 0
association requests.........: 0
association responses........: 0
reassociation requests.......: 0
reassociation responses......: 0
authentications (OPEN SYSTEM): 0
authentications (BROADCOM)...: 0
EAPOL packets................: 0
EAPOL PMKIDs.................: 0
EAPOL M1M2ROGUEs.............: 0
EAPOL M2s....................: 0
EAPOL M3s....................: 0
EAPOL M4s....................: 0
found handshakes.............: 0

이제 디렉토리의 파일을 다시 나열하여 handshake.cap가 생성되었는지 확인합니다.

ls -l

이제 파일 목록에 handshake.cap가 표시되어야 합니다.

변환된 .cap 파일을 Fluxion Handshakes 폴더로 복사

이 단계에서는 handshake.cap 파일을 Fluxion 이 사전 캡처된 핸드셰이크를 찾는 특정 디렉토리로 이동합니다. 이렇게 하면 도구 자체 내에서 다시 캡처할 필요 없이 캡처된 데이터를 Fluxion 공격에 사용할 수 있습니다.

설정 중에 복제된 Fluxion 도구에는 이 목적을 위한 전용 폴더가 fluxion/attacks/HandshakeSnooper/handshakes/에 있습니다.

cp 명령을 사용하여 handshake.cap 파일을 해당 디렉토리로 복사합니다.

cp handshake.cap fluxion/attacks/HandshakeSnooper/handshakes/

파일이 성공적으로 복사되었는지 확인하려면 대상 디렉토리의 내용을 나열합니다.

ls -l fluxion/attacks/HandshakeSnooper/handshakes/

출력에 기본적으로 존재하는 .gitkeep 파일과 함께 handshake.cap 파일이 나열되어야 합니다.

total 4
-rw-r--r-- 1 labex labex 24 Mar 20 22:14 handshake.cap
-rw-r--r-- 1 labex labex  0 Mar 20 22:10 .gitkeep

이제 핸드셰이크 파일이 Fluxion 에서 사용할 수 있는 올바른 위치에 있습니다.

Fluxion 내에서 핸드셰이크를 가져와 사용하기

이 마지막 단계에서는 준비된 핸드셰이크 파일이 Fluxion 내에서 어떻게 사용되는지 논의합니다. 전체 대화형 Fluxion 도구를 실행하는 것은 복잡하며 이 실험실의 범위를 벗어나지만 프로세스를 이해하는 것이 중요합니다.

handshake.cap 파일을 fluxion/attacks/HandshakeSnooper/handshakes/ 디렉토리에 배치함으로써 성공적으로 사용할 준비를 마쳤습니다.

실제 시나리오에서는 다음 명령으로 Fluxion 을 실행합니다.

cd fluxion
sudo ./fluxion.sh

시작한 후 메뉴 시스템을 탐색하게 됩니다. "Captive Portal" 공격과 같이 핸드셰이크가 필요한 공격을 선택하면 Fluxion 에서 새 핸드셰이크를 캡처하거나 기존 핸드셰이크를 사용할 수 있는 옵션을 제공합니다. 기존 핸드셰이크를 사용하도록 선택하면 Fluxion 이 handshake.cap 파일을 자동으로 감지하고 로드합니다. 그런 다음 공격의 나머지 부분을 진행할 수 있습니다.

hcxdumptool로 핸드셰이크를 캡처하고 Fluxion 에 준비하는 이 실험실의 주요 목표가 이제 완료되었습니다. 이 두 가지 강력한 도구 간의 격차를 성공적으로 해소했습니다.

모든 것이 제자리에 있는지 마지막으로 확인하려면 대상 디렉토리에서 ls 명령을 다시 실행할 수 있습니다.

ls -l /home/labex/project/fluxion/attacks/HandshakeSnooper/handshakes/handshake.cap

이 명령은 오류 없이 실행되어 파일 세부 정보를 표시하고 실제 공격에 사용할 준비가 되었음을 확인해야 합니다.

요약

이 실험실에서는 Fluxion 프레임워크를 위한 핸드셰이크 파일을 준비하기 위해 hcxdumptool을 사용하는 엔드투엔드 프로세스를 성공적으로 학습했습니다. 이는 현대 Wi-Fi 보안 감사에 있어 기본적이고 실용적인 기술입니다.

다음과 같은 주요 단계를 숙달했습니다.

  • 소스 코드에서 컴파일하여 hcxdumptool 유틸리티를 설치했습니다.
  • hcxdumptool을 사용하여 시뮬레이션된 무선 인터페이스에서 원시 패킷 데이터를 .pcapng 파일로 캡처했습니다.
  • hcxpcaptool 유틸리티를 사용하여 원시 캡처 파일을 표준 .cap 형식으로 변환했습니다.
  • 최종 .cap 파일을 Fluxion 이 자동으로 인식하고 사용할 수 있도록 올바른 디렉토리로 복사했습니다.

이제 초기 캡처부터 최종 준비까지, 고급 보안 도구에서 외부에서 캡처된 핸드셰이크를 사용하는 전체 워크플로를 이해했습니다.