
Aircrack-ng 캡처를 SQLite 데이터베이스로 파싱하고, 핸드셰이크, MGT ID, AP와 클라이언트 및 해당 프로브 간의 흥미로운 관계, WPS 정보, 그리고 관찰된 모든 AP에 대한 전체적인 뷰와 같은 유용한 정보를 추출하는 스크립트.
Aircrack-ng 캡처를 SQLite 데이터베이스로 파싱하고 유용한 정보를 추출하는 스크립트입니다. 추출되는 정보로는 핸드셰이크(22000 hashcat 형식), 엔터프라이즈(MGT) ID 및 EAP-MD5 challenge/response 쌍, 각 네트워크의 X.509 인증서와 RSN/WPA 보안 구성, AP에서 알리는 802.11r/k/v, Multiple BSSID 및 Channel Switch 기능, AP, 클라이언트 및 Probe 간의 흥미로운 관계, WPS 정보, 그리고 모든 AP의 전체적인 개요가 있습니다.
Certificate 테이블에 저장합니다.AP 테이블로 분해합니다.hashcat -m 4800)을 위한 EAP-MD5 challenge/response 쌍을 EAPMD5 테이블에 캡처합니다.Probe 테이블에 저장합니다.SummaryAP 뷰)을 생성하여 AP 및 클라이언트 수, WPA 버전 및 PMF 상태, 그룹별 제조사를 보여줌으로써 주변 네트워크의 보안 상태를 빠르게 파악하고(혼합/다운그레이드된 보안을 실행하는 SSID도 식별) 줍니다.mfpc(가능) 및 mfpr(필수) 플래그와 그로부터 파생된 pmf 상태(Required, 선택적일 때 Capable, 또는 Disabled)를 AP 테이블에 저장합니다.ft_80211r, mobility_domain_id 포함), 802.11k Radio Resource Measurement/이웃 보고서 (rrm_80211k), 802.11v BSS Transition Management (bss_transition_80211v).mbssid, max_bssid_indicator 포함)를 알리거나 Channel Switch Announcement(csa, csa_new_channel 대상 채널 포함)를 전송하는 액세스 포인트에 플래그를 지정합니다.ssid_revealed는 이렇게 학습된 이름을 표시합니다).docker pull r4ulcl/wifi_db
### 수동 설치
#### 데비안 기반 시스템 (Ubuntu, Kali, Parrot 등)
의존성:
- python3
- python3-pip
- tshark
- hcxtools``` bash
sudo apt install tshark
sudo apt install python3 python3-pip
sudo apt install pkg-config libcurl4-openssl-dev libssl-dev zlib1g-dev make gcc
git clone https://github.com/ZerBea/hcxtools.git
cd hcxtools
make
sudo make install
cd ..
설치 (가상 환경 사용)``` bash
git clone https://github.com/r4ulcl/wifi_db cd wifi_db
sudo apt update ; sudo apt install python3-venv python3 -m venv wifi_db_env source wifi_db_env/bin/activate
pip3 install -r requirements.txt
> 가상 환경은 `wifi_db.py`를 실행하기 전에 새로운 셸에서 반드시 활성화되어 있어야 합니다 (`source wifi_db_env/bin/activate`). 종료하려면 `deactivate`를 사용하세요.
#### Arch
의존성:
- python3
- python3-pip
- tshark
- hcxtools``` bash
sudo pacman -S wireshark-qt
sudo pacman -S python-pip python
git clone https://github.com/ZerBea/hcxtools.git
cd hcxtools
make
sudo make install
cd ..
설치 (가상 환경 사용)``` bash
git clone https://github.com/r4ulcl/wifi_db cd wifi_db
python3 -m venv wifi_db_env source wifi_db_env/bin/activate
pip3 install -r requirements.txt
> `wifi_db.py`를 실행하기 전에는 새로운 셸마다 반드시 venv를 활성화(`source wifi_db_env/bin/activate`)해야 합니다.
> `wifi_db.py` 실행 전 셸에서 `deactivate`로 종료합니다.
## 사용법
### [WiFiChallenge Lab](https://lab.wifichallenge.com/)의 사용 예시
- https://r4ulcl.com/posts/wifi_db-in-wifichallenge-lab/
### airodump-ng로 스캔
airodump-ng를 실행하고 -w 옵션으로 출력을 저장합니다:``` bash
sudo airodump-ng wlan0mon -w scan --manufacturer --wps --gpsd
#Folder with captures CAPTURESFOLDER=/home/user/wifi
touch db.SQLITE chmod a+rw db.SQLITE
docker run -t -v $PWD/db.SQLITE:/app/db.SQLITE -v $CAPTURESFOLDER:/captures/ r4ulcl/wifi_db
- `-v $PWD/db.SQLITE:/app/db.SQLITE`: 현재 폴더의 db.SQLITE 파일에 출력을 저장하기 위해
- `-v $CAPTURESFOLDER:/captures/`: 도커와 캡처 파일이 있는 폴더를 공유하기 위해

### 수동 설치를 사용하여 SQLite 데이터베이스 생성