• 목표 : 무선 암호화 방식 중 WEP 으로 암호화 되어있는 AP를 크랙
  • 방법 : 공격자는 무선AP에 설정된 WEP 보안설정 Key 값을 알아내어 알아낸 Key값을 가지고 무선AP에 접속을 한다.

 

WEP Crack 공격 시작!

무선 인터페이스를 활성화 시킨다.

 

Kismet을 실행시킨다.

 

크랙할 AP로 들어가서 SSID, BBSID, channel 등을 확인한다.

 

Kismet으로 인해 바뀐 모드를 다시 managed모드로 바꾸고

인터페이스의 MAC 주소를 확인한다.

 

편한 작업을 위해 export 명령어를 이용해

각 변수를 지정한다.

 

AP의 채널과 동일하게 채널을 변경한다.

 

Arieplay-ng를 이용해 -1 옵션으로 인증을 fake하고 -a 옵션, -h 옵션 (Source MAC) 을 지정한다.

 

-5 옵션을 이용하여 keystream 값을 생성한다.

그 후 생성시킨 임의의 keystream값을 사용할 것인지를 물으면 y를 입력해

Keystream 값을 사용한다.

 

그럼 replay_src-1108-033558.cap 이라는 이름의 파일이 저장된다.

이것이 생성된 패킷이다.

그리고 AP로 fragmented packet을 보내어 keystream 값이 일치하는지 확인하고 XOR 계산 공식을 통해 keystream 값을 fragment-1108-033613.xor 이라는 이름의 파일로 저장된다

 

Packetforge-ng 툴을 이용해 ARP 패킷을 위조하여 만든다.

Packetforge-ng -0 -a $BSSID -h 255.255.255.255 -l 255.255.255.255 -y fragment-1108-033613.xor

-w request Wrote packet to request

 

일단 만들어낸 패킷은 request 파일로 저장된다.

 

Airodump-ng 의 -c 옵션을 사용해 11번 채널을 대상으로 --ivs 옵션과 -w 옵션을 사용해

캡쳐한 ivs 파일을 추출한다.

 

이렇게 data 패킷이 안잡히는 경우가 있다.

 

airodump-ng 를 띄워논 상태에서 data 패킷을 잡기 위해 aireplay-ng를 이용하여 패킷 파일로 부터 request 에 대한 응답 값을 뽑아낸다.

 

다시 airodump-ng 화면을 보면 data 패킷이 추출되고 있다면 key 값을 크랙하는데 성공한 것이고 data 패킷이 추출되지 않다면

실패한 상황이므로 다시 크랙을 시도해야 한다.

 

생성된 관련 파일을 다 삭제하고 다시 시도한다.

Aireplay-ng -1 번 옵션부터 다시 하면 된다.

 

혹시 데이터 캡쳐까지 성공해서 ivs 확장자를 가진 파일이 생성되었다면 ivs 파일도 삭제 해야 한다.

 

이 명령을 실행하면 아래 키 값 추출과정 화면이 나타난다.

단 aircrack-ng 를 실행하기 전 위의 aireplay-ng와 airod

ump-ng가 실행되고 있어야 한다.

 

VM 상에서 Backtrack을 실행해서 aircrack-ng를 실행한다면 위 과정이 버벅댈 수 있다.

USB용 Backtrack을 만들어 실제 시스템 상에서 실행하면 보다 빠르게 값을 추출할 수 있다.

 

만약 Backtrack이 버벅 댄다면 aircrack-ng를 종료 후 다시 실행하도록 하자!

결국 data 패킷을 이용하여 데이터의 암호화를 비교 한 다음 키 값을 찾아낸다.

KEY FOUND 옆의 헥스코드를 아스키코드로 바꾸면 그것이 비번이 된다.

 

혹시 aircrack-ng 가 정상 종료 되지 않는다면 강제로 프로세스ID를 찾아 종료해 줄 수도 있다.

 

 

참고..

카페라떼 공격 : AP가 꺼져 있는 상태에서 AP의 WEP Key를 크랙하는 공격

카페라떼 차 한잔 하는 시간에 이루어지는 공격이라는 뜻에서 붙여진 이름

 

대응책

  • Brute-forcing Attack을 차단하는 가장 효과적이고 간단한 방법은 104-bit key를 사용하는 것이다. 하지만 이 방법도 완벽한 대응책은 아니라는 것이 문제이다.
  • Brute-forcing 공격은 공격자 입장에서는 충분한 시간을 투자할 경우 성공할 수 있는 공격이다.

결론.. 공유기를 사용할 때는 안전한 암호화 방식을 사용하자!!

 

 

암호화 알고리즘의 취약점

무결성 체크를 위해서 사용되는 CRC-32의 경우 암호학적으로 안전한 인증 코드가 아님

  • CRC는 데이터에 포함된 에러를 수정하기 위해 고안되었으며 데이터나 체크섬 자체에 대한 공격을 방어하기 위한 것은 아니다
  • Checksum 결과를 반영하지 않은 상태에서 암호문의 내용을 변조 할 수 있다.

Weak Key 취약점

  • WEP은 키의 다양성을 부여하기 위해서 키 값이 3byte 크기의 IV(Initialization Vector)값을 첨부함
  • IV의 크기가 작아 키 값이 중복 사용될 수 있음

요약하면...

  • IV와 Key ID 값이 평문으로 노출된다.
  • Wep Header 의 무결성 정보를 보호할 방법이 없다.
  • Key Space 가 좁다.

 

 

WEP 이란??

Wired Equivalent Privacy의 약자로 무선 네트워크 상에서 송수신되는 데이터의 보안을 위해 도입된 기본 암호화 방식

  • 전송되는 MAC프레임들을 40비트 길이의 WEP 공유 비밀키와 임의로 선택되는 24비트의 Initialization Vector (IV)로 조합된 총 64비트의 키를 이용한 RC4 Stream 방식으로 암호화한다.
  • 선택된 공유 키의 Key ID와 IV값을 평문으로 상대방에게 알려주어야 하기 때문에 WEP키가 추출될 수 있다는 약점이 있다.

WEP`s Encryption Algorithm

  • Payload를 무결성 검사를위해 CRC로 무결성한 값을 ICV에 저장
  • Payload:: 통신시스템의 패킷이나 프레임에서 메시지 데이터를 담아 전달하는 부분을, 헤더와 구분하여 지칭하는 것이다.

참고 WEP Frame

 

 

무선랜을 꽂은 후...

VM - Removable Devices - USB Devices 에 장치명이 체크 되어 있는지 확인.

 

장치를 활성화 시켜준다.

 

정보를 확인한다.

 

랜카드의 모드를 결정할 수 있는데 방법은 위와 같다.

monitor mode는 모니터링만 할 수 있는 모드이고 managed모드는 접속해서 데이터를 주고받을 수 있는 모드이다.

 

채널을 바꾸려면 iwconfig raubs0 channel 1 이런식으로 바꾸면 된다.

 

만약 kismet을 사용하고 싶다면 칩셋등 몇가지 설정을 해야한다.

/usr/local/etc/kismet.conf 이곳에서

27번째줄에 source==none.none.addme 를 source=rt2500.rausb0.addme 로 변경해야함(addme는 아무거나 넣어도 됨)

실습에선 랜모듈이 rt2500이기 때문에 rt2500으로 변경한 것이고 rausb0는 인터페이스다.

 

모드를 managed 로 변경.

 

Wlassistant를 실행한다.

연결 할 수 있는 ESSID 확인.

 

Wireshark 로 패킷 확인.

 

Discovery Basics

  • AP 의 정보를 알아내는 것이 주 목적
  • ESSID, BSSIS, Channel, Bit Rate, Encryption Algorithm 등.
  • 이러한 정보를 가져야만 AP에 접속할 수 있다.
  • Active Scanning 방식과 Passive Scanning 방식 두가지가 있다.
    • Active Scanning
      • Scan 에 필요한 데이터를 Station이 AP에 직접 요청하는 방법을 이용한다.
      • 2계층에서 사용 가능하고 보편적으로 강력하다.
      • 어떠한 packet을 보내고 나서 나오는 응답으로 알아낸다.
    • Passive Scanning
      • 동일 주파수 대역을 사용하는 패킷을 모니터링 하는 방법을 이용해 Scanning을 수행
      • 무선상에서는 Passive 가 강력.
      • 여러 채널의 Frequency hooking을 통해 packet을 모니터링 하는 방법으로 scanning을 수행
      • 우리나라에서 사용하는 채널 : 1 ~ 13번
        • 범위 중복되지 않는 주파수 : 총 3개

Active Scanning 방식

  • Station 이 Probe Request 패킷을 전송
    • AP 는 Probe Request 패킷에 대한 응답으로 Probe Response 를 보내게 되며 Station 은 이 패킷을 받아 AP 의 정보를 확인

  • Probe Request 전송은 Directed 방식과 Broadcast 방식이 있음.
    • Directed Probe Request
      • 찾고자 하는 AP의 SSID를 미리 알고 있는 경우에 사용됨
        • Probe request packet의 SSID 필드에 특정 값을 입력 후 전송
      • 무선 LAN CARD에 설정하여 부팅하자마자 바로 접속이 가능하다.

    • Broadcast Probe Request
      • 가장 흔하게 사용되며 주변에 있는 모든 AP를 대상으로 함
        • Probe request packet의 SSID 필드에 NULL값을 입력 후 전송
        • Destination : FF:FF:FF:FF:FF:FF
        • BSSID : FF:FF:FF:FF:FF:FF

Passive Scanning 방식

  • Frequency hooking을 통해 적법한 Station 과 AP 가 주고받는 패킷 중 인증과정을 거치지 않는 패킷을 스니핑 하는 방법
    • 인증을 거쳐도 스니핑은 가능하다.
  • Active 방식보다 강력하다.
  • 네트워크 트래픽을 sniffing 하는 형태로 스캔을 수행함
    • NIC 에서 "모니터 모드"를 지원해야 사용 가능
  • "모니터 모드" 란 유선 네트워크에서의 Promiscuous Mode 와 유사한 기능을 의미함
  • Channel Hopping 을 통해 모든 채널의 트래픽을 Sniffing 할 수 있음
    • 모든 패킷을 Sniffing하므로 더 많은 정보를 수집할 수 있다.
  • Passive Scanning 은 폐쇄형 네트워크 SSID 를 알 수 있다. (이름없는 네트워크)
  • 무선 공유기 및 AP는 Beacon(AP가 가진 정보 : BSSID, ) frame 을 무조건 발생시킨다. (이 취약점 이용)

Beacon Frame 수집

  • Beacon Frame 이란?
    • Ap 가 주기적으로 발생시키는 패킷
      • 기본적으로 1초당 10회의 발생주기를 가짐
    • 패킷에 대한 암호화를 수행하지 않음
    • Beacon Frame 에는 이름, 주소, 지원속도 등의 정보 포함
    • 보안상 매우 취약. 발생을 안 시킬 수 없기 때문에 보안상 약점이 됨.
  • 특성상 Passive Scanning 방법에 가깝지만 Active Scanning 에서도 Beacon Frame 수집을 통한 방법을 사용

Scanning Countermeasures 스캐닝 대응책

  • Active Scanning
    • Beacon Frame 과 Probe response 패킷을 이용하므로 두 패킷을 차단하는 방법으로 간단하게 회피 가능.
    • Beacon Frame 의 경우 통신에 필수적이므로 Beacon Frame 의 정보 중 SSID 필드를 NULL 값으로 대체함.

  • Passive Scanning
    • 확실한 대응책이 없으므로 위험성을 낮추는 방법을 주로 사용
    • 무선 AP의 출력신호를 감소시켜 물리적으로 근접한 위치에서만 접근 가능하도록 설정
      • 감도 = 신호 이기에 출력신호를 감소시키면 감도가 떨어진다.

 

이 해킹은 기술적 해킹보다 물리적 해킹 느낌이다.

네트워크 적극적으로 공격하는 다른 공격 기법과는 다르게 rogue AP의 경우 공격자는 사용자가 접속하기를 기다리는 방식이다.

  • 설명 : 공격자가 설치한 부정한 Access Point로 사용자 접속을 유도 하는 공격 기법
  • 방법 : 공격자는 무선 네트워크상에 SSID를 동일하게 설정한 뒤 신호의 강도를 높여 접속을 유도함
  • 배경지식 : 신호의 강도가 강한 AP로 접속한다는 네트워크 접속 방식을 이용한 공격

* RTS thr : off 로 되어 있어야 함. 설정 건드리면 다른 사람에게 피해가 감.

 

목표 : AP에서 설정한 MAC filtering을 우회하여 비인가된 AP에 접속하는 공격

 

효과 : AP에 붙은 인가된 station 공격 가능, 공짜 인터넷?

 

방법 : 공격자는 알아낸 MAC Address로 공격자의 MAC Address를 변경하여 AP에 접속

 

배경 지식

802.11 Legacy 가 처음 나왔을 땐 연결이 되는 것만으로도 성공, 보안상으로는 무척 취약!!

이 취약점을 보안하려고 나온 것이 MAC Filter 이다.

MAC 주소를 가지고 사용자 인증하는 방식이다. (라우터의 ACL 에서 따옴. Router는 Source IP 기반) 2계층 local network 안에서는 Source IP 의 신뢰관계 금방 무너짐.

Source IP, Source MAC address 기반의 Filtering 정책은 전혀 보안이 안됨.

ifconfig 로 MAC 주소 변경 가능 - 보안 취약.

공격이 가능 하다는 건 같은 네트워크(Local 망)에 들어간단 것을 의미 -> ARP, DNS 등등의 Spoofing 이 가능하다는 문제점 발생.

시나리오

Defeating MAC Filtering Attack 실습

순서

1. MAC Filter 때문에 바로 공유기 접속이 안 되기 때문에 monitor mode 로 해서 AP 확인.

2. Kismet 으로 client 들이 주고 받는 BSSID 와 channel 을 알아내고 wireshark 로 client 들이 주고 받는 IP 들을 이용해서 MAC 주소 검색.

3. 그 MAC 주소를 이용해서 나의 MAC 주소를 바꿔줌. 허용된 MAC 주소면 client 의 주소로 변경 해서 무선 인터넷 이용 가능

 

 

일단 장치를 활성화 시킨다.

 

Kismet을 실행한다. (자동으로 monitor 모드로 바뀐다.)

 

타겟 AP로 들어간다.

 

bssid(AP MAC) 을 확인한다.

 

wireshark 를 실행한다.

 

wlan.bssid == 해당 BSSID 로 필터링해서 해당 패킷만 검색한다.

검색된 것 중 접속 되 있는 client의 ip주소를 찾아 MAC 주소를 확인한다.

 

채널을 맞추고 monitor mode 에서 managed mode로 바꾼다.

 

MAC Address를 바꾸기 위해 장치를 내린다.

 

확인한 client의 MAC Address로 바꾸고 다시 활성화 시킨다.

Wlassistant를 실행한다.

타겟 AP로 인터넷 연결

 

다른 konsole 창 열어서 ping 가는 것 확인.

 

wireshark 로 패킷 확인.

인증하지 않고 AP에 들어옴!!!

방어

  • Wireless IDS를 이용하여 동일한 시각에 동일한 MAC Address를 이용하여 네트워크에 연결된 시스템을 찾아냄
  • 만약 공격자가 Legitimate user가 연결을 끊을 때 까지 기다린 후에 동일한 MAC Address를 이용하여 네트워크에 참여하면 발견하기 어려움
  • 보안적으로 문제가 많기 때문에 MAC Filtering은 안 쓰는것이 좋다.

 

여기에서 말하는 Frame은 PDU입니다.

PDU(Protocol Data Unit)는 각 계층에서 부르는 데이터의 이름입니다.

참고로

1계층 비트, 2계층 프레임, 3계층 패킷, 4계층 세그먼트, 5계층 데이터

이렇게 부릅니다. (우리는 패킷이 가장 익숙하지만..)

MAC FRAME

  • FRAME 구조

* Frame : 2계층에서 돌아다니는 전기적 신호

  • Frame Control
    • Retry - ACK 를 못 받아서 재전송 했단 의미. (1 로 셋팅)
    • Power Management - Power Saved Mode 로 접속 하겠단 의미. (1 로 셋팅 전송)
    • More Data
      • 0 셋팅 : No data buffered 버퍼에 데이터가 하나도 남아 있지 않음을 의미
      • 1 셋팅 : 버퍼에 데이터가 조금이라도 남아 있음.
    • Type - 총 3개로 셋팅.

  • 802.11 MAC Address
    • To AP가 Address1에 BSSID가 먼저 셋팅된 이유는 AP가 제일먼저 목적지 주소를 확인하기 때문에 퍼포먼스를 높이기 위해 사용
    • Withhin Wireless AP는 다른 BSS에서 BSS로 보낼때 사용 (하나의 ESS 안에서)
    • SA : Source Address (보내는 쪽 Add)
    • TA : Transmitter Address (전달자 Add)
    • RA : Recipient Address (수용하는 Add)
    • DA : Destination Address (목적지 Add)

  • 802.11 Frame Types (Management Frames)
    • Management Frame은 탐색, 인증, 결합 등 다양한 링크 계층에서의 관리절차에 사용됨
    • Probe request -> probe response -> Authentication -> Association request -> Association response
    • 인증방식
      • Open Systme 방식
      • Shared key 방식
Type
Subtype
Description
00
0000
Association request (결합요청)
 
0001
Association response (결합응답)
 
0010
Reassociation request
 
0011
Reassociation response
 
0100
Probe request
 
0101
Probe response
 
1000
Beacon
 
1010
Disassociation (연결 해지)
 
1011
Authentication (연결)
 
1100
Deauthentication
  • Authentication Request : Authentication Request 프레임은 Authentication Algorithm, Authentication SEQ, Status Code 등이 들어간다.
  • Authentication Response : Authentication Response 프레임에도 마찬가지로 Authentication Algorithm, Authentication SEQ, Status Code 등의 값이 들어간다.
  • Deauthentication Frame : Deauthentication 프레임의 구조는 Reason Code 하나로 굉장히 간단하게 구성되어 있다.
  • Control Frames
    • Control Frame 은 CSMA/CA MAC 의 동작을 지원함.
    • 네트워크 관리를 위한 프레임
    • Power Save(PS)-Poll - 잘사용안함
    • Request To Send(RTS) - 잘사용안함
    • Clear To Send(CTS) - 잘사용안함
  • Data Frame
    • Data Frame 은 총 8개의 서브 타입으로 구성이 되어 있으나, 대부분이 사용되지 않으며, non-QoS 네트워크에서의 Data Frame Subtype 은 두 가지임.
    • 데이터 관리를 위한 프레임
    • NULL Function(no data)

+ Recent posts