라즈베리파이/WIFI 무선랜 해킹

무선랜 패킷 분석(802.1x wifi) - 인증

아크리엑터 2020. 9. 10. 21:18
반응형

간만에 다시 글 정리한다.

wifi 신호를 잡기 위해서는 앞의 글에서 적었듯이, 무선랜카드를 모니터 모드로 설정해야지만 모든 패킷을 잡을 수 있다.

정확히는 무선랜카드에서 지원하는 주파수의 모든 패킷을 잡을 수 있다.

 

모니터 모드로 변경하는 방법은 이전 글에서 찾아보도록 하고, 아래에는 무선 패킷을 캡쳐한 것 중에서 AUTH 패킷에 대해 정리한다.

캡쳐 시험을 하기 위해서, 먼저 공유기에 접속하여 현재 무선공유기에 설정된 채널을 확인한다. 내가 사용하고 있는 IPTIME공유기의 사례를 아래에 표시한다.  아래의 사진의 2.4GHz의 채널이 2로 설정되어있다. 2.417Ghz주파수가 2번 채널이다. 

무선공유기의 채널은 공유기의 채널검색을 하여, 주변에 다른 곳에서 사용하지 않는 채널로 설정을 하는 것이 무선속도 저하가 발생하지 않는다. 속도가 갑자기 많이 느려졌다면, 이 채널을 바꿔보면, 속도가 훨씬 빨라졌음을 느낄 것이다.

 

참고로, 채널에 따른 지원하는 주파수는 다음과 같다. 2.4Ghz대역은 총 14개 채널로 구성되어 있다. 주파수의 단위는 Mhz인데, 아래의 채널별로 5Mhz 단위로 구분되는 것을 볼수 있다. 그리고, 채널별로 주파수가 서로 중첩되어있고, 나라별로 사용되는 채널이 일부 다르다.

채널번호 주파수(Lower) 주파수(Center) 주파수(Upper)
1 2401 2412 2423
2 2406 2417 2428
3 2411 2422 2433
4 2416 2427 2438
5 2421 2432 2443
6 2426 2437 2448
7 2431 2442 2453
8 2436 2447 2458
9 2441 2452 2463
10 2446 2457 2468
11 2451 2462 2473
12 2456 2467 2478
13 2461 2472 2483
14 2473 2484 2495

 

5Ghz 대역은 많이 복잡다. 채널도 많고, 나라별로도 사용하는 채널이 많이 차이가 있다.  상세한 것은 wikipidia에 정의된 것을 참고한다.(en.wikipedia.org/wiki/List_of_WLAN_channels)

아래는 간략히 정리된 내용이다. 32 미만의 채널은 사용되지 않는다.  국내에서는 32번 채널 ~ 165번 채널까지 사용되고 있다. 꽤 많은 채널이 있지만, 위에서 확인한 무선공유기의 채널을 확인하면 10종류가 채 안되는 리스트만 보인다. 모든 채널을 지원하지 않는 것으로 보인다.

채널 번호 주파수(Center) 한국
32 5160 Indoors
34 5170 Indoors
36 5180 Indoors
38 5190 Indoors
40 5200 Indoors
42 5210 Indoors
44 5220 Indoors
46 5230 Indoors
48 5240 Indoors
50 5242 Indoors/DFS/TPC
52 5260 DFS / TPC
54 5270 DFS / TPC
56 5280 DFS / TPC
60 5300 DFS / TPC
64 5320 DFS / TPC
100 5500 DFS / TPC
104 5520 DFS / TPC
108 5540 DFS / TPC
112 5560 DFS / TPC
116 5580 DFS / TPC
120 5600 DFS / TPC
124 5620 DFS / TPC
128 5640 DFS / TPC
132 5660 DFS / TPC
136 5680 DFS / TPC
140 5700 DFS / TPC
149 5745 Yes
153 5765 Yes
157 5785 Yes
161 5805 Yes
165 5825 Yes

 

AUTH 패킷 언급을 하다가, 갑자기 주파수 표를 설명하게 되었다. T.T   무선패킷을 캡쳐를 해보자.  내가 사용한 것은 라즈베리파이를 이용하였다. 라즈베리파이 접속하여 사용하는 것은 유선랜으로 하고, 라즈베리파이에 있는 무선랜(USB)은 무선패킷 캡쳐를 하기 위한 용도로 사용하였다.

휴대폰이 무선공유기에 접속할 때, 인증하는 패킷을 잡기 위해서, 패킷캡쳐할 라즈베리파이의 무선랜 채널을 무선공유기의 채널과 동일하게 변경한다. 위에서 2번 채널을 사용하고 있는 것을 확인했으니, 라즈베리파이의 무선랜도 2번 채널로 변경한다. 

 

$ sudo iwconfig wlan0 channel 2

 

 라즈베리파이에서 무선패킷을 잡기 위해서는 여러가지 툴들이 있는데, 우선 눈으로 쉽게 볼수 있는 GUI툴인 wireshark를 사용하였다. 설치방법 및 사용 방법은 다른 글에서 설명한다.

wireshark를 실행할 때는 root권한으로 실행해야지 모든 패킷을 캡처할 수 있다.

$ sudo wireshark&

 

실행된 화면은 다음과 같다.  무선랜(wlan0)를 선택한다. 필터는 별도로 걸지 않고 모든 패킷을 수신하도록 하였다.

이미지 추가 예정

 

 

AUTH패킷의 구조

위치 길이 필드 비고
0~1 2 버전 등    
2~3 2 길이(radio_tap) $2 + $3*255 p=18
10~11 2 주파수    
p (p=18) 1 type+subtype 0x00: mgmt/assoc_req
0x10: mgmt/assoc_res
0x20: mgmt/re-asso
0x40: mgmt/probe_req
0x80: mgmt/beacon
0xb0: mgmt/auth
 
19 1 DS ---------1 : toDS=1
--------10: fromDS=1
 
20 2 Frame Control    
22 2 Duration    
24 6 DA(Address1)   Destination
30 6 SA(Address2)   Source
36 6 BSSID(Address3)   BSSID (무선공유기)
42 2 frag/seq    
44 2 algorithm    
46 2 auth seq    
48 2 status   상태코드(0: 정상)

 

반응형