개요
무선 네트워크에서 암호문과 인증 정보를 획득하기 위한 자동화된 피싱 공격 툴이다. 무차별 공격을 하지 않고 사회 공학적 방법을 이용하여 WPA/WPA2의 암호문과 인증정보를 쉽게 획득 가능하다.
wifiphisher는 칼리 리눅스에서 동작하며 MIT라이센스 아래 사용 가능하다.
절차
1. Victim은 AP로 미인증 상태
- 네트워크 범위 내에 존재하는 모든 wifi 디바이스에 deauth 패킷을 전송하여 트래픽 혼잡을 일으킨다.
2. Clinet는 가짜 AP(Acess point)에 접근
- 설정 상태를 복사한 AP를 도청한다. 그 다음 설정 상태를 복사한 AP를 가짜로 생성한다. Client가 가짜 AP로 연결을 시도하게되어 중간자 공격을 당하게 된다.
3. 실제 라우터 설정으로 보이는 페이지 제공
- HTTP & HTTPS 요청에 응답하는 작은 웹페이지 제공한다. 해당 페이지는 라우터 펌웨어 업그레이드에 WPA 암호 입력 요청하여 네트워크 상의 WPA 암호 키를 탈취한다.
사용법
Short form | Long form | Explanation |
-m | maximum | Deauth 타격 후 리스트에 받을 최대 Clinet 수 ex) -m 5 |
-n | noupdate | Deauth 리스트 최대 수에 초달해도 초기화 금지 ex) -m 10 -n |
-t | timeinterval | 전송되는 패킷 사이 시간간격 try) -t .00001 (미사용시 가장 빠른 응답) |
-p | packets | Deauth burst를 전송할 개 수 ex) -p 2 |
-d | directedonly | 비인증된 패킷은 생략하고 Client/AP 페어링 |
-a | accesspoint | 특별한 AP 맥 주소 입력 |
-jl | jamminginterface | 트레픽을 방해할 인터페이스 선택. 기본적으로 가장 강력한 인터페이스 발견 후 모니터링 |
-al | apinterface | 가짜 AP에 대한 인터페이스 선택. 기본적으로 두번째로 강력한 인터페이스 발견 후 모니터링 |
방법
무선 랜카드 설정 확인
스크립트 실행
#python wifiphisher.py
서비스 시작
공격할 AP의 SSID 선택
강제 트래픽 잼 발생 후 재 접근 요청 메시지 확인
타 기기에서 가짜 AP접근 확인
라우터 업데이트 비밀번호 요청 및 탈취
출처
https://github.com/sophron/wifiphisher