
POSIX 호환, 완전 자동화된 WPA PSK PMKID 및 핸드셰이크 캡처 스크립트로, 침투 테스트를 목적으로 합니다.
Airbash는 POSIX 호환, 완전 자동화된 WPA PSK PMKID 및 핸드셰이크 캡처 스크립트로, 침투 테스트를 목적으로 합니다. Bash 및 Android Shell과 호환되며(Kali Linux 및 Cyanogenmod 10.2에서 테스트됨), aircrack-ng를 사용하여 액세스 포인트(AP)에 현재 연결된 클라이언트를 스캔합니다. 해당 클라이언트는 AP에 재연결을 시도할 때 PMKID 및/또는 핸드셰이크를 캡처하기 위해 인증 해제됩니다. 캡처된 데이터의 검증은 ZeroBeat의 hcxtools에 포함된 hcxpcaptool 및 hcxpcapngtool을 사용하여 수행됩니다. 하나 이상의 PMKID 및/또는 핸드셰이크가 캡처되면 캡처 시간 및 현재 GPS 데이터(적절히 구성된 경우)와 함께 SQLite3 데이터베이스에 입력됩니다.
캡처 후 crackdefault.sh를 사용하여 취약한 라우터 모델에 대해 데이터베이스를 테스트할 수 있습니다.
이 스크립트는 구현된 모듈과 일치하는 항목을 검색합니다. 현재 모듈에는 Speedport 500-700 시리즈, Thomson/SpeedTouch, UPC 7자리(UPC1234567) 및 HOTBOX 라우터의 기본 키를 계산하는 알고리즘이 포함되어 있습니다.
PMKID 공격에 대한 자세한 내용은 New attack on WPA/WPA2 using PMKID를 참조하십시오.
모니터 모드의 WiFi 인터페이스 (Android에서는 장치가 호환되는 경우 bcmon을 사용하여 달성 가능)
aircrack-ng (Android의 경우 android_aircrack 사전 빌드된 바이너리 사용 가능)
SQLite3 (Android: CyanogenMod 10.2에서 기본 설치됨)
모듈 및 hcxtools 컴파일을 위한 openssl
PMKID 및/또는 핸드셰이크 탐지와 hashcat 형식 변환을 위한 hcxtools의 hcxpcaptool 및 hcxpcapngtool
액세스 포인트의 GPS 좌표를 기록하려면 좌표 로깅 소프트웨어를 .location/_.txt에 기록하도록 구성하십시오(파일명은 원하는 대로 선택 가능). Airbash는 항상 cat "$path$loc"*.txt 2>/dev/null | sed '2q;d'의 출력을 사용합니다. 이는 .loc/의 모든 .txt 파일을 읽고 두 번째 줄을 선택하는 것과 같습니다. 이 구현 방식의 이유는 개발 장치에서 사용된 GPSLogger의 기능 때문입니다.
새로운 PMKID 또는 핸드셰이크를 캡처한 후 데이터베이스에서 취약한 라우터 모델을 조회할 수 있습니다. 해당 모듈이 적용되면 해당 라우터 시리즈의 기본 키가 계산되어 aircrack-ng의 입력으로 사용되어 암호를 복구하려고 시도합니다.
Thomson/SpeedTouch 및 UPC1234567(7자리 난수) 기본 키를 계산하는 모듈은 src/에 포함되어 있습니다.
코드에 대한 크레딧은 작성자 Kevin Devine 및 mailto:[email protected]에게 있습니다.
On Linux:
gcc -fomit-frame-pointer -O3 -funroll-all-loops -o modules/st modules/stkeys.c -lcrypto
gcc -O2 -o modules/upckeys modules/upc_keys.c -lcrypto
자동 감지를 활성화하려면 바이너리를 airbash/bin(실행 중에 PATH에 추가됨) 또는 PATH에 포함된 디렉터리로 이동하십시오.
Android의 경우 바이너리를 /system/xbin/ 또는 바이너리 실행이 허용되는 다른 디렉터리에 복사해야 할 수 있습니다.
install.sh를 실행하면 데이터베이스가 생성되고, 폴더 구조가 준비되며, 두 스크립트에 대한 바로가기가 생성됩니다. 이 바로가기는 $PATH에 있는 디렉터리로 이동하여 어디서든 실행할 수 있습니다.
설치 후 airba.sh의 46번째 줄에 있는 INTERFACE를 수동으로 조정해야 할 수 있습니다. 나중에는 자동으로 결정되지만, 현재 기본값은 wlan0으로 설정되어 있어 Android의 bcmon과 즉시 호환됩니다.
./airba.sh는 스크립트를 시작하며, 데이터베이스에 없는 대상을 자동으로 스캔하고 공격합니다.
./crackdefault.sh는 알려진 기본 키 알고리즘을 깨려고 시도합니다.
데이터베이스 내용을 보려면 메인 디렉터리에서 sqlite3 .db.sqlite3 "SELECT * FROM hs"를 실행하십시오.
update.sh를 실행하여 Airbash를 업데이트할 수 있습니다. 이 스크립트는 master 브랜치를 /tmp/에 클론하고 로컬 파일을 덮어씁니다.
_n: 발견된 액세스 포인트의 수
__c/m: 각각 클라이언트 번호와 발견된 최대 클라이언트 수를 나타냄
-: 액세스 포인트가 블랙리스트에 있음
x: 액세스 포인트가 이미 데이터베이스에 있음
?: 액세스 포인트가 범위를 벗어남(airodump에 더 이상 표시되지 않음)
데이터베이스에는 7개의 열로 구성된 captures라는 테이블이 있습니다.
id: 테이블 항목의 증가 카운터
latitude 및 longitude: 핸드셰이크의 GPS 좌표 (있는 경우)
bssid: 액세스 포인트의 MAC 주소
essid: 이름 식별자
pmkid: 캡처된 WPA PMKID (있는 경우)
psk: 알려진 WPA 암호 (있는 경우)
processed: 사용자 지정 암호가 사용된 경우 기본 키의 중복 계산을 방지하기 위해 crackdefault.sh에서 설정하는 플래그
현재 SQLite3 데이터베이스는 암호로 보호되어 있지 않습니다.
기여는 매우 환영합니다. 특히 더 많은 기본 키를 크랙할 수 있는 추가 모듈을 환영합니다. 템플릿 모듈이 modules/에 포함되어 있습니다. crackdefault.sh에는 새 모듈을 포함하기 위한 템플릿 elif 문이 포함되어 있습니다.
기여하려면 코드가 MIT 라이선스(이 프로젝트와 동일)로 라이선스가 부여되었는지 확인하십시오. 셸 스크립트를 기여할 때는 코드가 POSIX 호환인지 확인하십시오. 그 외에는 변경 사항을 간략히 설명하는 이슈를 열고 풀 리퀘스트를 생성하십시오!
기여자: D4rk4 (HOTBOX 모듈 커밋)