ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • airodump 구현하면서 정리
    Network hacking training/Knowledge 2018. 9. 6. 03:39
    [airodump-ng]
    -> 본 포스팅은 airodump-ng를 구현하면서 정리한 글입니다.
    # 참고로 channel hopping에 대해서는 다루지 않았습니다.

    [패킷 분석]
    참고 : wireshark에서 beacon이 들어간 패킷만 보고 싶을 때 필터링을 아래와 같이 지정해주면 된다.

    wlan.fc.type_subtype==0x08

    probe request 패킷 분석시 필터링

    wlan.fc.type_subtype == 0x04

    radiotap header는 패킷분석을 해보면 24byte로 고정되어있는듯 하다.
    Network byte ordering이 아닌 Host byte ordering이다.

    • [Radiotap Header] -> total 24byte
      header revision : 0x00
      header pad : 0x00
      header length : 24

      present flags word : 0xa000402e
      present flags word : 0x00000820

      Flags : 0x00
      Data Rate : 0x02
      Channel frequency : 2427 [BG 4] (0x7b 0x09)

      Channel flag : 0x00a0
      SSI Signal -> radiotap header에서 유일하게 가변적인 친구
      RX flags : 0x0000
      SSI Signal -> 이상하게 두번 들어간다.
      Antenna : 0x00

    Radiotap Header에서 뽑아와야 하는 정보
    CH -> 채널에 대한 정보가 Channel frequency에 있다.

    2452 -> BG 9
    2412 -> BG 1 -> 096c
    2417 -> BG 2 -> 0971
    2422 -> BG 3 -> 0976
    2427 -> BG 4 -> 097b

    규칙 : 5씩 더해준다.

    hex 값 096c를 channel 1로 기준을 잡고 -0x096b를 해준다. (14번째 byte에 있음)
    ex) channel frequency : 2412 [BG 1] (hex value : 0x096c / dec : 2412), +5하면 다음 채널(1->2)로 넘어가게 된다.

    SSI signal : airodump-ng의 PWR의 값인듯하다. // Radiotap header에 들어있다.
    이 값을 2의 보수형태로 만든 뒤 '-'를 붙여서 표현하면 PWR의 값이 나온다.

    • [IEE 802.11 Beacon Header] -> total 24byte
      Frame Control Field : 2byte -> Beacon인지 여부를 알 수 있음
      Duration : 2byte

      Recevier address
      Destination address
      -> Same Value & 6byte

      Transmitter address
      Source address
      -> Same Value & 6byte

      BSS Id : 6byte

      Fragment number
      Sequence number
      -> Same Value & 2byte

    Frame Control Field 에 1byte의 type/subtype을 알 수 있는 정보가 들어있다.
    0x0008은 beacon의 type/subtype이다. (다른 값들은 필터링 해줘야 할듯)

    BSS ID를 알 수 있다. (파싱해야 하는 정보)

    [etc]
    Recevier address, Destination address는 같은 값이 들어간다.
    Transmitter address, Source address도 같은 값이 들어가고, BSS ID는 Transmitter address, Source address와 같은 값이지만 hex값을 보면 한번 더 들어가는 것을 알 수 있다.

    • [IEE 802.11 wirelss LAN]
      + 14byte 하면 SSID 가 출력된다. (참고로 이 부분에서는 ssid_len의 크기로 배열을 선언하고 memcpy()를 이용하여 출력했다.)


    CH 14 ][ Elapsed: 8 s ][ 2018-08-17 11:13

    인터페이스를 지정하여 툴을 구동시키면 맨 윗줄에 이 녀석이 보인다.
    CH : 채널 정보 // 802.11 radio information에 channel에 데이터가 들어있다.
    Elapsed : airodump-ng 를 구동 시켜놓은 동안의 시간 4의 배수로 올라간다. (처음 0에서 +4하면서 증가)

    외에는 구동시켰을때의 날짜 및 시간 정보이다.

    BSSID              PWR  Beacons    #Data, #/s  CH  MB   ENC  CIPHER AUTH ESSID

    두번째 줄에는 카테고리가 출력되는데,
    각각의 정보는 아래와 같다.

    • BSSID : AP의 MAC address
    • PWR : 신호의 세기
    • Beacons : AP가 보낸 beacon 패킷의 개수이다. 각 AP는 최저 속도 (1M)로 초당 10개의 beacon을 전송한다.
    • #Data : 데이터 브로드 캐스트 패킷을 포함하여 캡처된 패킷의 수 (WEP, 고유 IV count)
    • #/s : 지난 10초 동안 측정한 초당 데이터 패킷의 수
    • CH : 채널 // 802.11 radio information의 channel에 데이터가 들어있다.
    • MB : AP가 지원하는 최대 속도. MB = 11이면 802.11b이고, MB가 22면 802.11b+ 이고 802.11g는 이보다 더 높다. 네트워크에 QoS가 사용 가능한 경우 MB속도 값 다음에 "e"를 표시한다.
    • ENC : 사용중인 암호화 알고리즘.
    • CIPHER : 암호가 발견되었다. CCMP, WRAP, TKIP, WEP40 or WEP104 중 하나다. 필수는 아니지만 TKIP는 일반적으로 WPA2와 함께 사용되며 CCMP는 일반적으로 WPA2와 함께 사용된다. 키 인덱스가 0보다 크면 WEP40으로 표시된다. 표준에서 40byte인 경우 인덱스가 0-3이고 104byte의 경우 0이어야한다고 나와있다.
    • AUTH : 사용 된 프로토콜. MGT(별도의 인증 서버를 사용하는 WPA / WPA2), SKA(WEP용 공유 키), PSK(WPA /WPA2용 사전 공유 키) 또는 OPN(WEP용 개방형) 중 하나이다.
    • ESSID : AP의 이름. SSID는 SSID 숨기기가 활성화된 경우 비어있을 수 있다.

    [Parsing Data]
    BSSID : Beacon에 들어있다.
    PWR : Radiotap Header에 들어있다.
    Beacons : BSSID Beacon counter를 제작해야 할듯

    구조체의 데이터를 클래스로 memcpy 할때 자꾸 오류가 났다..
    여기에 나와있지만 원인을 잘 모르겠다.



    반응형

    'Network hacking training > Knowledge' 카테고리의 다른 글

    ip_change 구현하면서 정리  (0) 2018.10.01
    tcp_data_change 구현하면서 정리  (0) 2018.09.27
    [CCIT] 8/12 정리  (0) 2018.08.18
Designed by Tistory.