Wireless Vulnerability JAC_SemiDntmd semi_dntmd@hanmail.net semidntmd.tistory.com 1
1. WLAN - IEEE 802.11-802.11 MAC - WLAN 카드 Mode - MAC Frame Type 과무선네트워크연결과정 2. WEP - WEP 란? 3. WEP Crack 4. WPA - IEEE 802.1x - WPA 5. WPA Crack 6. 대응방안및마무리 Copyright@2013 All Rights Reserved by SemiDntmd 2
Web 과 Network 의취약점에대한보안공부를하던중 Wireless 에대한취약점에대해궁금 해졌다. 무선이많이취약하다고만알고있었지실제로연구를해본적이없어이번기회에 무선네트워크의취약점에대해알아보려고한다. 1. WLAN 1-1 IEEE 802.11 IEEE 802.11 : 무선 LAN 에대한일련의표준규격 [ 그림 1] 802.11 Achitecture SSID(Service Set IDentifier) = ESSID 동일한 WLAN내에서오가는각패킷들의해더에덧붙여지는고유식별자이며하나의 WLAN 과다른 WLAN을구분해주는하나의로컬망네트워크의이름이다. 예를들어 SK에서제공하는 WI-FI인 T-WIFI를예를들수있겠다. BSS(Basic Service Set) - Infrastructure Network 의경우에 AP 를포함한모든 Station 영역을말함. Copyright@2013 All Rights Reserved by SemiDntmd 3
ESS(Extend Set IDentifier): 여러개의 AP 를이용하여하나의네트워크를구성, 각 AP 들은 동일한 SSID 를사용. BSSID(Basic Service Set IDentifier): 48 비트 AP 의 MAC 주소를의미 WDS : 무선으로다른네트워크를연결 1-2 802.11 MAC 무선도유선과똑같이 OSI 7 Layer 를구성하여네트워크를진행하는데 Data Link 안에 MAC 계층에대해알아보고자한다. [ 그림 2] 802.11 Layer Copyright@2013 All Rights Reserved by SemiDntmd 4
- MAC 의특징 가. ACK 프레임사용과프레임분할가능 Station <-----> AP STA 와 AP 가 MAC 계층에서프레임을주고받을때전달받은수신측 MAC 은이를명시해주 기위해 ACK 프레임으로응답을한다. 프레임이길다면짧은프레임으로조각내어전송을한 다. 나. Hidden Node 문제 AP 중심으로통신하는 STA 들의시야를기준으로보았을때자신의영역감지범위를벗어난 STA 는 Hidden Node 가된다. (airodump 사용시 <length: 0> 이라고표시됨 ) [ 그림 3] Hidden Node 다. RTS/CTS 서로 Hidden Node 상태인각 STA는동시에 AP에접근을할때충돌이날우려가있는데이를해결해주는것이 RTS와 CTS이다. RTS는 STA가 AP와통신을할때 NAV라는시간값동안통신을하겠다는과정이고 CTS는 AP가 RTS가성립된 STA를제외하고나머지 STA에통신을하고있는중인 STA와 NAV 시간동안통신을하겠다는과정이다. Copyright@2013 All Rights Reserved by SemiDntmd 5
1-3 WLAN 카드 Mode WLAN 카드는 4 가지 mode 가있다. -Managed : STA가 AP로바로무선연결을시도할때사용한다. 모든통신과정을 AP가담당한다. -Ad-Hoc : STA들이서로직접연결하기위해사용하는모드인데외부로는통신이되지않아 VMware에 custom 모드라고생각하면되겠다. -Master : 무선 NIC가다른드라이버소프트웨어와결합하여작동할수있게하며이를통해다른컴퓨터는이것을무선 AP로인식하게된다. -Monitor : STA에게데이터를전송하거나받지못하게하는대신오고가는패킷을볼수있다. 즉무선 NIC가주파수를감지할수있는영역에통신하는내용을알수있다는것이다. 1-4 MAC Frame Type 과무선네트워크연결과정 MAC Frame Type - Management Frames 탐색, 인증, 결합등다양한링크계층에서의관리절차에사용된다. - Control Frames CSMA/CA MAC 동작을지원한다. - Data Frames non-qos 네트워크에서두가지로나뉜다. 무선네트워크연결과정 Probe Request <-> Probe Response Authentication Request <-> Authentication Response Association Request <-> Association Response 802.11 인증방식 - Open System 인증 Probe Request <-> Probe Response Authentication Request <-> Authentication Response Association Request <-> Association Response Copyright@2013 All Rights Reserved by SemiDntmd 6
- Shared Key 인증 Probe Request <-> Probe Response Authentication Request <-> Challenge Text Encrypted Challenge Text <-> Authentication Response Association Request <-> Association Response STA 가연결요청후에 AP 는 Challenge Text 를 WEP Key 를이용하여 RC4 암호화알고리즘 으로암호화하고 AP 는수신된 Challenge Text 를자신의 WEP Key 로복화화하여일치여부를 확인한다. Shared Key 의취약점 평문으로전달되는 Challenge Text 와암호화된 Challenge Text 를이용하여암호화에사용된 Key Stream 을쉽게추출할수있다. 평문 Challenge Text -> XOR <- 암호화된 Challenge Text ===>> Key Stream 2. WEP WEP(Wired Equivalent Privacy)? 무선네트워크상에서송수신되는데이터보안을위해도입된기본암호화방식. 전송되는 MAC 프레임들을 40bit(104bit) 길이의 WEP 공유비밀키와임의로선택되는 24bit(24bit) 의 Initialization Vector(IV) 로조합된총 64bit(128bit) 의키를이용한 RC4 Stream 방식으로암호화한다. [ 그림 4] WEP 암호화방식 Copyright@2013 All Rights Reserved by SemiDntmd 7
두개의방식 64Bit 24bit IV와 40bit 비밀키 --> 5자리비밀키 128Bit 24bit IV와 104bit 비밀키 --> 13자리비밀키 취약점 - Key 재사용취약점 WEP은키의다양성을부여하기위해키값에 3Byte크기의 IV값을첨부함. IV 값은계속바뀌지만 key 값은변하지않으므로충분한 IV 값들만있으면 WEP 알고리즘을깰수있다. - 암호화알고리즘취약점 Checksum 결과를변경하지않은상태에서암호문의내용을변조할수있다. 3. WEP Crack #airmon-ng start < 무선랜인터페이스 > 무선랜을 Monitor mode 로전환되어 injection 및 sniffing 을수행할수있다. 아래와같은명령어를입력해 mon0 이라는가상의모니터모드무선인터페이스를생성했다. [ 그림 5] Monitor 모드 Copyright@2013 All Rights Reserved by SemiDntmd 8
# airodump-ng mon0 을통한정보수집이제 airodump-ng를이용해주변에있는 AP들을스니핑할것이다. 주변 AP중에서암호화방식이 WEP인 AP를 Target으로잡는다. Target으로잡은 AP의 BSSID와 ESSID, 채널을알아둔다. [ 그림 6] airodump를통한정보수집 # airodump-ng -c < 채널 > --bssid <BSSID> -w < 출력파일 > mon0 이제 Target AP를잡아해당 AP만정보를수집하여 Packet Injection 공격을할것이다. Packet Injection을하는이유는 WEP 패킷캡쳐속도를빠르게하여크래킹을하는속도를높이는것이다. 해당 AP를사용하는사용자가많다면 Packet Injection을할필요가없다. Copyright@2013 All Rights Reserved by SemiDntmd 9
[ 그림 7] 타겟스니핑 Packet Injection 공격을통한트래픽발생 - ARPreplay # aireplay-ng -1 0 -e <SSID> -a <BSSID> mon0 [ 그림 8] Fake authentication 패킷캡쳐창은그대로둔상태에서 aireplay-ng -1 0 -a <BSSID> mon0 을입력하여 Fake authetication을한다. 패킷을 AP에보내 AID를인증받아 AP에서식하게한다. 하지만이방법은 MAC주소를필터링을하면막히게되는데필터링또한접속한다른 STA의 MAC주소를 macchanger툴로우회할수있다. Copyright@2013 All Rights Reserved by SemiDntmd 10
# aireplay-ng -3 -e <SSID> -a <BSSID> mon0 이제 Packet Injection을할것이다. 위와같은명령어를입력하면 arpreply attack을하게되는데트래픽이없으면소용이없다. 그렇기때문에클라이언트에게 Deauthentication을해서트래픽을발생시킬것이다. 해당 AP사용자가많으면데이터양이많아져서안해도된다. # aireplay-ng -0 10 -a <AP BSSID> -c < 호스트 BSSID> mon0 [ 그림 9] Deauthentication Attak 클라이언트를 Deauthentication 을시켜연결을끊는다. 클라이언트가다시 AP 에게접속을 할때트래픽이발생해서 arpreplay 공격이가능해진다. # aircrack-ng < 출력파일.cap> 데이터에 IV 패킷들이조각을맞춰가며 Hex 코드형식으로암호를찾아낸다. 이크랙된값들을 AP 접속시입력을하면해당네트워크에들어가게된다. Copyright@2013 All Rights Reserved by SemiDntmd 11
[ 그림 10] Aircrack # airecap -w <HEX 암호 > < 캡쳐파일 > 출력된캡쳐파일에서 dec 가붙은파일이나오면서복화된캡쳐파일로변환되어어떤작업 을했는지패킷으로분석이가능해진다. [ 그림 11] 캡쳐파일복호화 Copyright@2013 All Rights Reserved by SemiDntmd 12
4. WPA 4-1 802.1x 유선랜보안인증방식인 802.1x 를 WEB 과 MAC Filter 방식의 802.11i 무선랜인증방식의 한계를보완하기위해사용 4-2 WPA WPA는 Wi-Fi 무선랜을사용자를위해개발된최신보안표준. WPA는원래의 Wi-Fi 보안표준인 WEP 보다개량된것. WPA는 WEP에비해보다정교한데이터암호화를제공하는것은물론, 사용자인증이다소불충분했던 WEP와는달리완전한사용자인증기능을제공한다. [ 그림 12] WPA 동작과정 Four-Handshake PSK(Master Session Key) 를이용하여무선구간에서사용될 PMK(Pair Wise Master Key) 의 검증과 GTK(Group Temporal Key) 분배. PSK: Pre Shared Key(STA 와 AP 가가지는동일한키값 ) PMK: 무선구간보호용암호키 (PTK) 생성을위해사용되는키값 PTK: PMK, Nonce, MAC 어드레스등을통해생성되는임시키값 Copyright@2013 All Rights Reserved by SemiDntmd 13
공격원리 PSK 로부터 PMK 생성 Four-Handshake PTK 생성후암호화통신 -> Dictionary 공격방법을사용 -> Deauthentication 공격을통해이과정을스니핑 -> 공격자는 PTK를취득했으므로해당세션의암호화된패킷을복호화할수있다. 5. WAP Crack 위의 WEP 에서타겟 AP 를정해서스니핑하는과정까지동일하다. 타겟 AP 스니핑중 STA 가재인증하는과정에서 Four-Handshake 통신시스니핑을하기 위해 Deauthentication 공격을한다. # aireplay-ng -0 10 -a <AP BSSID> -c < 호스트 BSSID> mon0 [ 그림 13] Deauthentication Copyright@2013 All Rights Reserved by SemiDntmd 14
아래그림과같이 WPA handshake 과정이캡쳐되었다. [ 그림 14] WPA handshake 스니핑 캡쳐한파일을 Dictionary Attack 을통해 Passward 를크랙할것이다. cowpatty 툴이나 aircrack-ng 툴사용 #cowpatty -r < 캡쳐파일 > -s <SSID> -f <Dic File> [ 그림 15] Dictionary Attack 6. 대응방안및마무리 지금까지 WEP와 WPA에대해알아보고크랙을시도했다. WEP의경우는 100% 크랙이되는상태이다. 그렇기때문에 AP 관리자는암호화방식을 WPA 이상으로항상설정을해야한다. WPA 크랙의경우해당 Dictionary 파일에암호가들어있지않으면크랙이되지않는다. 사실상암호설정만잘하면크랙이잘되지않는다. 여기서언급하지않은 AP에대한많은취약점들이있다. 무선도유선네트워크와다르지않고 AP를통해스니핑이가능하다면유선네트워크망에서일어나는취약점공격들이무선네트워크에서똑같이일어날수있기때문에무선네트워크사용자나 AP관리자는항상보안을생각해야할것이다. Copyright@2013 All Rights Reserved by SemiDntmd 15