WEP 해킹

     

     

     

     

    WEP 이란?

     

    Wired Equivalent Privacy 의 줄임말로 보안 취약점 때문에 최신 기기들에서는 쓰지 않는 보안 프로토콜이다.
    RC4 알고리즘을 사용한다.

    과정은 다음과 같다.

    1. 클라이언트가 라우터에 데이터를 보내려고 한다.
    2. 암호화 하기 위해 패킷마다 고유한 키를 생성한다.
    3. 키를 생성하기 위해 24비트의 랜덤 IV(초기화 벡터)를 만든다.
    4. RC4 알고리즘이 네트워크의 비밀 키와 IV를 사용해서 키 스트림을 만든다.
    5. 전송할 데이터를 키 스트림과 XOR 연산을 통해 암호화 한다.
    6. 암호화된 데이터 + IV(복호화 할 때 필요하기 때문) 을 전송한다.
    7. 라우터는 수신한 패킷에서  IV를 추출해서 키 스트림을 생성한다.
      이때, 네트워크의 비밀 키는 이미 알고 있기 때문에 IV만 받아도 동일한 키 스트림을 생성할 수 있다.
    8. 생성한 키 스트림으로 복호화를 한다.

     

     

     


    문제점

    그럼 여기서 문제점은 무엇일까?

    1. 초기화 벡터가 평문으로 전송된다.
    2. IV의 값은 24비트로 짧다.

    이와 같은 취약점을 통해서 WEP을 해킹할 수 있다.

     

    WEP해킹

     

    위와 같은 문제점들 때문에 

    1. 대량의 패킷을 캡쳐한다.
    2. 동시에 많은 IV도 캡쳐하게 된다.
    3. 수집한 IV값을 통계적으로 분석하여 WEP 키를 얻어낼 수 있다.

    즉, (IV) + (PW) = [암호화된데이터] 이기 때문에

    많은 IV들을 수집하여 

    (IV1) + (PW) ~~~~~~~~~~~~~  [복호화된데이터]
    (IV2) + (PW) ~~~~~~~~~~~~~  [복호화된데이터]
    (IV3) + (PW) ~~~~~~~~~~~~~  [복호화된데이터]
    .......

    이를 분석해 PW라는 값을 도출하게 되는 것이다.

     

    데이터가 많은 경우,(트래픽이 혼잡한 경우)

    사진처럼 WEP을 사용하는 네트워크를 타겟으로  airodump-ng 를 이용해 패킷을 캡쳐하여 

    --write 옵션을 통해 파일로 저장한다.

     

     

     

    #Data 를 보면 64757로 데이터가 매우 많다는 것을 볼 수 있다.

     

     

     

    aircrack-ng 명령어를 사용해 저장한 패킷 덤프 파일을 크랙하면

    KEY를 찾아낸 것을 볼 수 있다. 이 키를 이용해 접속을 시도한다.

     

    :(콜론) 은 제거하여 Password를 입력하면

     

     

     

    사진처럼 정상적으로 접속한 것을 볼 수 있다.

     

     

     

     


    데이터가 적은 경우(트래픽이 혼잡하지 않은 경우)

     

    위에서 한 방법은 데이터가 많이 쌓였을 때 가능한 방법이었다.

    그렇다면 데이터가 적을 때는 어떻게 해야 할까?
    방법은 데이터를 늘리면 된다.

    이 때, 가짜 인증 공격과 ARP replay 공격이 사용된다.

    1. 라우터는 인증되지 않은 기기에 대해서는 모든 요청을 무시하기 때문에 먼저 통신하고 싶다고 알린다.(결합)
      => 가짜 인증 공격

    2. 라우터가 계속 데이터를 생성하게 한다.
      2-1. ARP 패킷을 기다린 후 전송되면 이를 캡쳐하여 라우터에 재전송한다.
      2-2. 패킷을 받은 라우터는 강제로 새 패킷과 새IV를 생성하게 된다
      2-3. 이를 반복하여 지속적으로 새로운 패킷과 IV를 생성하도록 한다. => ARP replay 공격

    3. 데이터가 충분히 쌓이면 이를 분석하여 해킹한다.

     

     

    aireplay-ng --fakeauth 0 -a [Access Point Mac] -h [Network Interface Mac] [interfacename]
    
    
    
    # --fakeauth 0 : 0초 간격으로 실행 0이기 때문에 한 번만 수행한다.
    # -a : Access point Mac
    # -h : host interface Mac


    명령을 실행하여 타겟 네트워크에 결합한다.

     

     

     

    결합되어 AUTH에 OPN(Open) 인 것을 볼 수 있다.

    이때, 결합이 되었다고 인터넷이 되는 것이 아니다.
    라우터와 통신할 수 있게 된 것이다.

     

     

     

    마지막에

    aireplay-ng --arpreplay -b [BSSID] -h [Host Interface Mac] [Interface name]
    
    
    
    # --arpreplay : ARP replay 공격 수행
    # -b : BSSID
    # -h : Host Interface Mac

    명령을 수행하고 기다리면 상단처럼 #Data가 증가하는것을 볼 수 있다.

     

     

    그리고 데이터가 충분히 쌓인 후, 다시 aircrack-ng로 해킹을 시도하면,

    키를 찾은것을 볼 수 있다.

    'Security' 카테고리의 다른 글

    WPA / WAP2 해킹  (0) 2024.05.28
    패킷 스니핑 - 연결 해제 공격  (0) 2024.05.25
    패킷 스니핑(PACKET SNIFFING) 기초  (0) 2024.05.25
    Kali Linux와 무선 랜 카드 Mode(Wifi)  (0) 2024.05.25
    Hacking  (0) 2024.05.23

    댓글