-
airodump 구현하면서 정리Network hacking training/Knowledge 2018. 9. 6. 03:39[airodump-ng]-> 본 포스팅은 airodump-ng를 구현하면서 정리한 글입니다.# 참고로 channel hopping에 대해서는 다루지 않았습니다.[패킷 분석]참고 : wireshark에서 beacon이 들어간 패킷만 보고 싶을 때 필터링을 아래와 같이 지정해주면 된다.wlan.fc.type_subtype==0x08probe request 패킷 분석시 필터링wlan.fc.type_subtype == 0x04radiotap header는 패킷분석을 해보면 24byte로 고정되어있는듯 하다.Network byte ordering이 아닌 Host byte ordering이다.
-
[Radiotap Header] -> total 24byteheader revision : 0x00header pad : 0x00header length : 24present flags word : 0xa000402epresent flags word : 0x00000820Flags : 0x00Data Rate : 0x02Channel frequency : 2427 [BG 4] (0x7b 0x09)Channel flag : 0x00a0SSI Signal -> radiotap header에서 유일하게 가변적인 친구RX flags : 0x0000SSI Signal -> 이상하게 두번 들어간다.Antenna : 0x00
Radiotap Header에서 뽑아와야 하는 정보CH -> 채널에 대한 정보가 Channel frequency에 있다.2452 -> BG 92412 -> BG 1 -> 096c2417 -> BG 2 -> 09712422 -> BG 3 -> 09762427 -> 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 24byteFrame Control Field : 2byte -> Beacon인지 여부를 알 수 있음Duration : 2byteRecevier addressDestination address-> Same Value & 6byteTransmitter addressSource address-> Same Value & 6byteBSS Id : 6byteFragment numberSequence 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()를 이용하여 출력했다.)
[airodump-ng 분석] (참고 : https://www.aircrack-ng.org/doku.php?id=airodump-ng)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 -