
무선 (WPA/WPA2) 침투 테스트/크래킹 도구입니다. 4-way 핸드셰이크와 PMKID 키를 캡처 및 크랙합니다. 또한, 스트레스 테스트를 위한 인증 해제/재밍 모드를 지원합니다.
WiFiBroot는 클라이언트에게 WPA/WPA2 네트워크 크래킹을 위한 올인원 기능을 제공하기 위해 제작되었습니다. 이 도구는 대부분 scapy에 의존하며, Python에서 잘 갖춰진 패킷 조작 라이브러리입니다. 무선 인터페이스를 다른 채널에서 작동시키는 것을 제외한 거의 모든 프로세스는 scapy 계층 및 기타 함수에 의존합니다. 채널 변경은 기본 리눅스 명령어 iwconfig를 통해 수행되며, 이때 sudo 권한이 필요할 수 있습니다. 현재 대상 네트워크를 처리하기 위해 네 가지 독립적인 작동 모드를 제공합니다. 그중 두 가지는 온라인 크래킹 방법이고, 다른 하나는 오프라인 모드로 실행됩니다. 오프라인 모드는 처음 두 모드에서 저장된 해시를 크래킹하기 위해 제공됩니다. 하나는 무선 네트워크에 대한 인증 해제 공격(deauthentication attack)을 위한 것이며, 재밍(jamming) 처리기로도 사용할 수 있습니다. 다양한 리눅스 플랫폼에서 실행될 수 있으며, 최소한 tp-link의 WN727N이 제대로 작동하는 데 필요합니다.
Python 2에서만 작동합니다.
WiFiBroot는 scapy에 크게 의존합니다. 따라서 scapy가 설치되어 있어야 합니다. 다른 거의 모든 라이브러리는 시스템에 이미 설치되어 있을 것입니다. 설치하는 scapy의 버전이 <=2.4.0인지 확인하세요. 최신 버전은 알 수 없는 오류를 발생시킬 수 있습니다.
$ sudo pip install scapy==2.4.0
이 스크립트는 sudo 아래에서 실행되어야 하지만, 루트 모드에서 실행되지 않더라도 여전히 작동합니다. 기본 필수 인수는 다음과 같습니다:
$ sudo python wifibroot.py -i [interface] -d /path/to/dictionary -m [mode]
WiFiBroot는 모드를 사용하여 대상에 대해 수행하려는 공격을 식별합니다. 현재 세 가지 사용 가능한 모드가 있습니다. 각 모드의 사용법은 -m/--mode 옵션 바로 뒤에 --help/-h 옵션을 추가하여 확인할 수 있습니다. 다음은 사용 가능한 모드와 그 기능 목록입니다:
Syntax:
$ python wifibroot.py [--mode [modes]] [--options]
$ python wifibroot.py --mode 2 -i wlan1mon --verbose -d /path/to/list -w pmkid.txt
Modes:
# Description Value
01 Capture 4-way handshake and crack MIC code 1
02 Captures and Crack PMKID (PMKID Attack) 2
03 Perform Manual cracking on available
capture types. See --list-types 3
04 Deauthentication. Disconnect two stations
and jam the traffic. 4
Use -h, --help after -m, --mode to get help on modes.
각 모드는 특정 목적이 있으며 고유한 옵션이 있습니다:
Mode:
01 Capture 4-way handshake and crack MIC code 1
Options:
Args Description Required
-h, --help Show this help manual NO
-i, --interface Monitor Interface to use YES
-v, --verbose Turn off Verbose mode. NO
-t, --timeout Time Delay between two deauth
requests. NO
-d, --dictionary Dictionary for Cracking YES
-w, --write Write Captured handshake to
a seperate file NO
--deauth Number of Deauthentication
frames to send NO
Filters:
-e, --essid ESSID of listening network
-b, --bssid BSSID of target network.
-c, --channel Channel interface should be listening
on. Default: ALL
Mode:
02 Captures and Crack PMKID (PMKID Attack) 1
Options:
Args Description Required
-h, --help Show this help manual NO
-i, --interface Monitor Interface to use YES
-v, --verbose Turn off Verbose mode. NO
-d, --dictionary Dictionary for Cracking YES
-w, --write Write Captured handshake to
a seperate file NO
Filters:
-e, --essid ESSID of listening network
-b, --bssid BSSID of target network.
-c, --channel Channel interface should be listening
on. Default: ALL
Mode:
03 Perform Manaul cracking on available capture
types. See --list-types 3
Options:
Args Description Required
-h, --help Show this help manual NO
--list-types List available cracking types NO
--type Type of capture to crack YES
-v, --verbose Turn off Verbose mode. NO
-d, --dictionary Dictionary for Cracking YES
-e, --essid ESSID of target network.
Only for HANDSHAKE Type YES
-r, --read Captured file to crack YES
Mode:
04 Deauthentication. Disconnect two stations
and jam the traffic. 4
Options:
Args Description Required
-h, --help Show this help manual NO
-i, --interface Monitor Mode Interface to use YES
-0, --count Number of Deauthentication
frames to send. '0' specifies
unlimited frames YES
--ap Access Point MAC Address NO
--client STA (Station) MAC Address NO
4-way handshake 캡처 및 MIC 코드 크래킹:
$ python wifibroot.py --mode 1 -i wlan1mon --verbose -d dicts/list.txt -w output.cap
PMKID 캡처 및 크래킹:
$ python wifibroot.py --mode 2 -i wlan1mon --verbose -d dicts/list.txt -w output.txt
오프라인 크래킹 (Handshake 및 PMKID):
$ python wifibroot.py --mode 3 --type handshake --essid "TARGET ESSID" --verbose -d dicts/list.txt --read output.cap
$ python wifibroot.py --mode 3 --type pmkid --verbose -d dicts/list.txt --read output.txt
다양한 형태의 인증 해제 공격:
# Ultimate Deauthentication attack:
$ python wifibroot.py --mode 4 -i wlan1mon -00 --verbose
# Disconnect All Clients from Acess Point:
$ python wifibroot.py --mode 4 -i wlan1mon --ap [AP MAC] --verbose
# Disconnect a Specific Client:
$ python wifibroot.py --mode 4 -i wlan1mon --ap [AP MAC] --client [STA MAC] --verbose
웹사이트: https://www.shellvoide.com
트위터: @hash3liZer
이메일: [email protected]