security

Total 112
Today 0
profile_image
운영자
01-02-09 12:16 0개 2,465회
What is 'Sniffing'? -- (5)
What is 'Sniffing'?













Contents



I. 스니핑이란?



II. 스니핑의 원리



III. 스위칭 환경에서의 스니핑 기법



1. Switch Jamming

2. ARP Redirect

3. ARP spoofing

4. ICMP Redirect

5. 스위치의 span/monitor port를 이용한 스니핑



IV. 스니핑 방지 대책



1. 암호화

2. 스위칭 환경의 네트워크 구성

3. 스니퍼 탐지

4. 네트워크 관리







--------------------------------------------------------------------------------







IV. 스니핑 방지 대책



3. 스니퍼 탐지



모든 스니퍼는 네트워크 인터페이스를 "promiscuous mode"로 설정하여 네트워크를 도청하게 된다. 따라서 호스트가 "promiscuous mode"로 설정되어 있는지 주기적으로 점검하여 스니퍼가 실행되고 있는 시스템을 탐지하여야 한다. 스니핑 기술과 마찬가지로 스니퍼를 탐지하는 방법도 고도화 되고 있다. 다음은 "promiscuous mode"로 설정된 시스템을 탐지하는 방법에 대하여 설명한다. 아래의 대부분의 방법들은 주로 로컬 네트워크내에서 탐지가능한 방법이다.



3.1 ping을 이용하는 방법



대부분의 스니퍼는 일반 TCP/IP 스택상에서 동작하기 때문에 request를 받으면 그에 해당하는 response를 전달하게된다. ping을 이용한 스니퍼 탐지 방법은 의심이 가는 시스템에게 ping을 보내는데 MAC 주소를 위장하여 보내는 방법이다.



① MAC 주소를 위조하여(로컬 네트워크에 존재하지 않는 MAC 주소 사용)하여 ping(ICMP Echo Request)을 다른 시스템에게 보낸다.



②③ 만약 ping reply(ICMP Echo Reply)를 받게되면, 해당 호스트가 스니핑을 하고 있는 것이다. 왜냐하면 존재하지 않는 MAC 주소를 사용했기 때문에 스니핑을 하지 않는 호스트는 누구도 ping request를 볼 수 없게되며, reply를 하지 않게 된다.





다음은 "sentinel" 이라는 스니퍼 탐지도구를 이용하여 33번 호스트에 대하여 ping 테스트를 하는 과정이다. 테스트 결과가 "positive"라고 나오며 이는 33번 호스트가 "promiscuous mode"로 설정되어 있음을 의미한다.



Usage:



./sentinel [method] [-t ] [options]





Methods:



[ -a ARP test ]



[ -d DNS test ] (requires -f (non-existent host) option



[ -i ICMP Ping Latency test ]



[ -e ICMP Etherping test ]





[root@consult sentinel-0.8]# ./sentinel -e -t 172.16.2.33





[ The Sentinel Project: Remote promiscuous detection ]



[ Subterrain Security Group (c) 2000 ]





Running on: 'consult' running on Linux 2.2.12-4 on a(n) i686





Device: eth0



Source IP Address: 172.16.2.31



Source Hardware Address: 0:50:da:d3:1f:d3



Target: 172.16.2.33





Performing ICMP etherping test



Sending out 10 bogus ICMP ECHO packets..





Results: 172.16.2.33 tested positive to etherping test.









다음은 sentinel이 실행될 때 네트워크에 나타나는 트래픽을 보여준다. 6, 8번 라인에서 "icmp: echo reply"가 회신되는 것을 볼 수 있다.



1: [root@consult Sniffer]# tcpdump -e host 172.16.2.33



2: tcpdump: listening on eth0







3: 07:35:59.985065 0:50:da:d3:1f:d3

ff:0:0:0:0:0

ip 42: consult.certcc.or.kr > 172.16.2.33: icmp: echo request





(위조된 MAC)







4: 07:35:59.985716 0:80:c7:33:16:c2 Broadcast arp 60: arp who-has consult.certcc.or.kr tell 172.16.2.33



5: 07:35:59.985761 0:50:da:d3:1f:d3 0:80:c7:33:16:c2 arp 42: arp reply consult.certcc.or.kr is-at 0:50:da:d3:1f:d3



6: 07:35:59.986172 0:80:c7:33:16:c2 0:50:da:d3:1f:d3 ip 60: 172.16.2.33 > consult.certcc.or.kr: icmp: echo reply



7: 07:36:00.995056 0:50:da:d3:1f:d3 ff:0:0:0:0:0 ip 42: consult.certcc.or.kr > 172.16.2.33: icmp: echo request



8: 07:36:00.995571 0:80:c7:33:16:c2 0:50:da:d3:1f:d3 ip 60: 172.16.2.33 > consult.certcc.or.kr: icmp: echo reply









3.2 ARP를 이용하는 방법



ping 방법과 유사한 방법으로 non-broadcast로 위조된 ARP request를 보냈을 때 ARP response가 오면 상대방 호스트가 "promiscuous mode"로 설정되어 있는 것이다.



다음은 33번 호스트에게 위조된 ARP request를 보내어 ARP reply가 오는지를 테스트하는 과정이다. 마찬가지로 결과가 "positive"로 나오게 되면 이는 33번 호스트가 "promiscuous mode"로 설정되어 있음을 의미한다.





[root@consult sentinel-0.8]# ./sentinel -a -t 172.16.2.33





[ The Sentinel Project: Remote promiscuous detection ]



[ Subterrain Security Group (c) 2000 ]







Running on: 'consult' running on Linux 2.2.12-4 on a(n) i686





Device: eth0



Source IP Address: 172.16.2.31



Source Hardware Address: 0:50:da:d3:1f:d3



Target: 172.16.2.33





Performing ARP test



Sending out 10 bogus ARP requests..





Results: 172.16.2.33 tested positive to arp test.









다음은 sentinel이 실행될 때 네트워크에 나타나는 트래픽을 보여준다. 4, 6번 라인에서 arp reply가 회신되는 것을 볼 수 있다.



1: [root@consult Sniffer]# tcpdump -e arp

2: tcpdump: listening on eth0





3: 07:34:03.485066 ff:0:0:0:0:0 ff:0:0:0:0:0 arp 42: arp who-has 172.16.2.33 tell consult.certcc.or.kr (0:50:da:d3:1f:d3)

(위조된 MAC)





4: 07:34:03.485549 0:80:c7:33:16:c2 0:50:da:d3:1f:d3 arp 60: arp reply 172.16.2.33 is-at 0:80:c7:33:16:c2



5: 07:34:04.495057 ff:0:0:0:0:0 ff:0:0:0:0:0 arp 42: arp who-has 172.16.2.33 tell consult.certcc.or.kr (0:50:da:d3:1f:d3)

(위조된 MAC)





6: 07:34:04.495968 0:80:c7:33:16:c2 0:50:da:d3:1f:d3 arp 60: arp reply 172.16.2.33 is-at 0:80:c7:33:16:c2

댓글목록

등록된 댓글이 없습니다.