
클라이언트나 비인증 없이 PMKID 값을 사용하여 WPA2 암호를 크랙하는 도구
이 프로그램은 WPA2 WiFi 네트워크의 사전 공유 키를 복구하기 위해 작성된 Python 도구로, 인증 해제(de-authentication)나 네트워크에 클라이언트가 필요하지 않습니다. 이 도구는 EAPOL 메시지 1에서 PMKID 값을 광고하는 특정 액세스 포인트의 취약점을 대상으로 합니다.
python pmkidcracker.py -s <SSID> -ap <APMAC> -c <CLIENTMAC> -p <PMKID> -w <WORDLIST> -t <THREADS(Optional)>
참고: apmac, clientmac, pmkid는 16진수 문자열이어야 합니다. 예: b8621f50edd9
PMKID를 얻기 위한 두 가지 주요 공식은 다음과 같습니다:
이는 이해를 위한 것이며, 두 공식 모두 find_pw_chunk와 calculate_pmkid 함수에 이미 구현되어 있습니다.
다음은 WireShark에서 패킷을 검사하여 수동으로 PMKID를 얻는 단계입니다.
*Hcxtools 또는 Bettercap을 사용하면 아래 단계 없이 빠르게 PMKID를 얻을 수 있습니다. 수동 방법은 이해를 위한 것입니다.
WireShark에서 수동으로 PMKID를 얻으려면 무선 안테나를 모니터 모드로 설정하고 airodump-ng 또는 유사한 도구로 모든 패킷 캡처를 시작합니다. 그런 다음 잘못된 비밀번호를 사용하여 AP에 연결하여 EAPOL 1 핸드셰이크 메시지를 캡처합니다. 다음 3단계를 따라 인수에 필요한 필드를 얻으십시오.
pcap 파일을 WireShark에서 엽니다:
wlan_rsna_eapol.keydes.msgnr == 1로 필터링하여 EAPOL 메시지 1 패킷만 표시합니다.액세스 포인트가 취약한 경우 아래 스크린샷과 같은 PMKID 값이 보여야 합니다:
이 도구는 교육 및 테스트 목적으로만 사용됩니다. 소유권이 없거나 테스트 허가가 없는 네트워크에서 취약점을 악용하는 데 사용하지 마십시오. 이 스크립트의 작성자는 사용으로 인한 오용이나 손해에 대해 책임을 지지 않습니다.