티스토리 뷰

Hacking

[Web] 스니핑, 패킷 분석을 통해 GET 방식과 POST 방식을 구분하기

꿈을 위해 잠을 잊은 그대에게 2018. 8. 12. 20:28

1. 스니핑

1.1 정의

패킷 가로채기 또는 스니핑(snipping)은 네트워크 통신 내용을 도청하는 행위이다. 이때 사용되는 도구를 패킷 분석기(packet analyzer/network analyzer) 또는 패킷 스니퍼(packet sniffer/network sniffer)라고 하며, 네트워크의 일부나 디지털 네트워크를 통하는 트래픽의 내용을 저장하거나 가로채는 기능을 하는 소프트웨어 또는 하드웨어이다. 프로토콜 분석기라고도 불리며, 특정한 종류의 네트워크에서는 이더넷 스니퍼(ethernet sniffer) 또는 무선 스니퍼(wireless sniffer)라고 불린다. 데이터 스트림은 네트워크를 통해 흐르며, 스니퍼는 각 패킷을 잡아 내서 디코딩하여, 적절한 RFC나 다른 규격에 따라 내용을 분석한다.

 

1.2 위험성

스니핑은 해커 입문자도 스니퍼를 활용해 손쉽게 시도할 수 있다.

스니퍼는 해커 사이트에서 쉽게 다운로드할 수 있다. 해커 사이트를 몰라도 검색 사이트에서 스니퍼를 입력하면 리눅스, 유닉스, 윈도NT 등 각종 시스템용 스니퍼를 찾을 수 있다. 이더넷스파이, 파일워처 등이 대표적인 스니퍼. 해커들은 스니퍼를 이용하는 것을 치사한 3류 해킹이라고 치부하지만 그것만큼 쉬운 것도 없다고 표현한다.

스니핑은 감행하기는 쉬운 반면 대응하기는 아주 까다롭다. 흔적이 남지 않아 정보 유출 후에 사건이 발생하지 않는 이상 피해 사실조차 확인하기 어렵다. 스니핑을 탐지하는 도구들이 개발돼 있지만 이 도구로는 네트워크 상에 스니퍼가 설치돼 접속이 이뤄졌다는 것만 알아낼 수 있을 뿐 사용자 정보가 유출됐는지 여부를 확인할 수 없다.

 

1.3 공격법

Switch Jamming

스위치의 MAC Address Table을 모두 채워서 스위치가 더미허브처럼 모든 프레임을 스위치의 모든 포트로 전송(브로드캐스트)하도록 만들어 스니핑이 가능한 환경을 만든다. 공격자는 MAC Address Table을 모두 채우기 위해 변조한 MAC 정보를 담고 있는 ARP Reply 패킷을 계속해서 스위치에게 전송한다.

 

ARP Spoofing

공격자가 스니핑하고자 하는 희생자 호스트에게 호스트가 통신하는 상대방의 MAC 주소를 자신의 MAC 주소로 위조한 ARP Reply 패킷을 희생자에게 지속적으로 보내면 희생자의 ARP Cache Table에 희생자가 통신하고자 하는 호스트의 MAC 주소가 공격자의 맥 주소로 변경되어 스니핑이 가능하다.

 

ARP Redirect

공격자가 자신이 게이트웨이(라우터)인 것처럼 MAC주소를 위조한 ARP Reply 패킷을 브로드캐스트하여 네트워크에 연결된 모든 호스트의 MAC 어드레스 테이블의 게이트웨이 MAC 주소를 공격자의 MAC 주소로 변조하여 모든 통신을 스니핑을 하는 공격 기법이다.

ICMP Redirect

앞의 공격은 모드 ARP 캐시테이블을 변조하는 공격이지만 ICMP 리다이렉트는 L3(네트워크 레이어)의 라우팅 테이블의 게이트웨이 주소를 변조하는 공격이다. 공격자는 라우터에서 호스트 또는 라우터간의 라우팅 경로를 재설정하는 ICMP 리다이렉트 메시지를 희생자에게 전송하여 희생자 호스트의 라우팅 테이블을 변조하여 스니핑을 가능하게 하는 공격기법이다.

SwitchSPAN/MONITOR 포트를 이용하는 방법

특별한 공격을 수행하지 않고 스위치의 포트미러링이 가능한 Monitor 포트에 노트북이나 컴퓨터를 접속하여 물리적으로 스니핑을 가능하게 하는 방법이다.

 

1.4 방어법

사전에 해킹을 막기위해 해킹방어 툴 등을 자신의 컴퓨터에 깔아야 한다

가급적 개인정보 유출을 요하는 무료사이트 등에 등록하지 않는 것이 정보유출을 막는 길

근본적으로 차단하기 위해서는 웹 서버와 이용자간에 전송되는 모든 패킷을 암호화해야 한다.

패킷이 암호화된 상태에서는 패킷을 중간에서 가로채더라도 암호해독이 불가능하며 개인정보를 보호할 수 있다.


2. 실습

2.1 패킷 분석을 통해 GET 방식과 POST 방식을 구분하기



패킷 분석을 위한 Wireshark 설치




설치 완료


Wireshark 실행 후 초기화면



패킷 분석이 되는지 확인을 위해 


상단 초록색 입력 창에 ip를 기준으로 하는 ip.proto를 입력



본인의 워드플레스 블로그 접속을 기준으로 실험을 하였다.




분석된 패킷 정보를 확인


-> 이를 통하여 GET 방식인지 POST방식인지 확인할 수 있다.


보안 상 블로그 정보에 대해서는 직접적으로 다루지 않겠다.


내용들을 살펴보면 Session을 가로채거나 헤더 정보를 알아낼 수 있다.




+ localhost에서 패킷을 분석하고 싶을 때



localhost에서 패킷을 분석하기 위한 RawCap 설치




RawCap 실행


localhost에 해당되는 3 을 입력


Select interface to sniff [default '0'] : 3




파일로 내보낼 이름 지정


test라는 이름으로 지정하였음


Output path or filename [default 'dumpfile.pcap'] : test



이렇게 하면 Sniffing IP가 localhost(127.0.0.1)를 가진


test라는 이름의 파일이 생성된다.



Wireshark tool을 이용하여 test 파일을 불러오면 해당 파일을 통하여 패킷을 분석할 수 있음.


소스코드













댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크