Mac에서의 스니핑(Sniffing)과 WIFI(802.11) 복호화

Peroro·2022년 12월 4일
1
post-custom-banner

스니핑(Sniffing)이란 컴퓨터 용어로는 '네트워크 상에서 자신이 아닌 다른 상대방들의 패킷 교환을 엿듣는 것'을 의미한다. 11월 한 달간 스니핑에 꽂혀 와이어샤크를 통해 스니핑을 시도하려고 했다. (공공 와이파이가 아닌 실험실 와이파이와 개인 와이파이를 사용했다.)

내 노트북은 Mac book air 13인치(2020)인데 윈도우에서는 와이어샤크를 사용하면 편리하게 스니핑을 할 수 있는데 맥북에서는 한가지를 더 설정해주어야 한다.

  1. wifi를 option키와 함께 누르게 되면 위와 같이 [무선 진단 열기]가 나오게 된다. 이를 누른다.

  1. 무선진단 창이 뜨게 되는데 우리가 필요한 것은 상단에 [윈도우]-[스니퍼]이다.

  1. 그러면 위와 같이 스니퍼가 나오게 된다. 채널과 폭이 나오게 되는데 이는 스니핑하고자 하는 와이파이가 몇 채널이고, 몇 MHz인지 1번에서 wifi를 option키와 함께 눌렀을 떄 정보가 나오게 된다. 이 스니퍼의 시작을 누르고 wireshark에서 capture을 해야 아래와 같이 패킷이 잡히게 된다.

3-1. 주의할 점이 있다면 스니핑을 할 때에는 인터넷을 사용할 수가 없다.

  1. 문제는 여기서 발생했다. 스니핑을 한 것은 좋았지만, protocol에는 802.11이라고 적혀 있고 패킷 역시 암호화되어서 읽을 수 없었다.

  1. 하지만 wireshark에서는 wifi의 SSID, 패스워드, EAPOL 패킷을 통해서 802.11을 복호화할 수 있는 기능이 있다. 우선 첫 번째로 SSID와 패스워드를 설정해보자. 상단의 [Wireshark] - [Preferences]를 누른다.

  1. 위와 같은 창이 나오게 되는데 [Protocol] - [IEEE 802.11]을 누른다. 우리가 복호화할 프로토콜은 IEEE 802.11이기 때문이다. 그리고 가장 밑에 있는 [Decryption Keys] 옆 [Edit]를 누른다.

  1. 그리고 [+]을 누르고 key-type은 wpa-pwd, key값은 password:SSID 형식으로 입력을 하고 저장한다. 만약 당신의 wifi의 이름이 ABC이고 비밀번호가 123456!이라면 '123456:ABC'라고 입력하고 OK를 누르면 된다. 그러면 SSID와 password는 설정했으니, 다음은 EAPOL 패킷을 받아야 한다.

  2. EAPOL 패킷은 LAN, WLAN을 통해 EAP(Extensible Authentication Protocol) 인증 메시지 패킷을 캡슐화하여 전달하는 프로토콜이다. EAP라는 것은 네트워크와 인터넷 연결에 사용되는 인증 프레임 워크다. 암호화된 wifi에 접속시 eapol을 암호화에 사용하기 위해서 key 교환이 일어나는데 이 정보고 decrypt하는데 필요하다.

8-1. 이 eapol 패킷을 얻으려면 여러가지 방법이 있다. 그 중에서 나는 간단한 방법인 새로운 단말기를 wifi에 다시 접속하는 방법을 사용했다. eapol은
wifi를 사용하고자 하는 기기가 AP에 연결 요청을 보낼 떄 생성되는 점을 이용했다. 나는 wireshark가 패킷을 캡쳐하는 동안 핸드폰의 와이파이를 껐다켜서 아래와 같이 EAPOL을 얻는데 성공했다.

  1. EAPOL은 반드시 위와 같이 4개 모두가 받아져야 올바르게 해독이 된다. 이 이후로 이해가 되지 않아 좀 삽질을 많이 했는데, wireshark는 EAPOL을 받고 난 이후부터는 자동으로 해당 AP에서 보내는 패킷을 복호화해서 보여준다. 아래가 그 결과물이다.

  1. 위의 사진은 HTTP로 필터링한 결과물이다. HTTP이기 때문에 plain text로 나와 패킷이 무엇을 주고 받는지 알 수 있었다.

  2. 새롭게 알게 된 점.

  • 패스워드 중에서 특수한 문자가 들어간 경우 복호화를 하지 못하는 경우가 있었다. 이것 때문에 골치가 아팠는데, '%'가 들어간 비밀번호의 경우 wireshark에서 무슨 오류를 일으켰는지 제대로 복호화를 하지 못했다. 구글링을 했을 때도 특수한 문자의 경우 제대로 복호화하지 못한다는 말이 있었던 것 같았다.(출처-3번)
  • EAPOL이라는 패킷의 존재를 알게 되었다. EAPOL은 4-way handshaking으로 이루어지던데 좀 더 자료를 찾아봐 따로 설명을 올리겠다.
  1. 해당 내용은 꼭 개인 네트워크에서 실습할 것을 권장한다. 공공 와이파이에서 하지 않도록 주의하자.

출처 및 참고

profile
오늘 공부한 것을 올리는 공간 / 일주일에 글 3개 / 블로그 이전 : https://perorochan321.tistory.com/
post-custom-banner

0개의 댓글