본문 바로가기

Security/Network Hacking

스니핑(Sniffing) - Part 2

스위칭 환경에서의 스니핑

※ 그림 출처 : http://wustyle.egloos.com/

 

- 과거 허브를 사용하던 시기에는 브로드 캐스트 도메인의 특성으로서 랜에서 오는 모든 신호를 복사해서 모든 포트에 뿌려주므로 보안상 치명적이였다.

- 허브를 개선한 스위치는 무조건 패킷을 보내 네트워크의 대역폭 낭비를 막기위해 개발되었다.

- 허브와는 달리 MAC주소 테이블이 존재하여 포트 별로 MAC주소 값이 할당되므로 그곳에만 전파를 한다.

- 따라서 허브와는 달리 보안상 아주 좋은 장비라고 볼 수 있으나, 역시 스위치환경에서 스니핑하는 방법은 존재한다.

 

 

 

ARP 리다이렉트

※ 그림 출처 : http://securitymusings.com/

 

- 2계층 공격으로서, 위조된 ARP Reply를 보내어 공격자가 MAC Address를 변조시켜 자신이 라우터라고 브로드 캐스트를 주기적으로 하는 것이다.

- 공격을 당하는 쪽에서는 공격자가 라우터인 줄알고 그 방향으로 패킷을 전송한다.

- 공격자는 마치 아무일도 없는 것처럼 위장하기 위해 받은 패킷을 앞서 배운 fragrouter를 통해 다시 릴레이 해주어야 한다.

 

 

 

[실습] 다음과 같이 네트워크를 구성하고 순서대로 ARP 리다이렉트 공격을 하시오. 

 

 1. XP에서 ping명령어를 사용하여 Fedora와 연결이 되었는지 확인한다.

 

 

 2. XP에서 게이트웨이와 연결된 Fedora컴퓨터의 MAC주소를 확인하기 위해 arp 명령어를 사용한다.

 

 

 

 3. Fedora 컴퓨터에서 fragrouter 를 실행하여 스니핑한 패킷을 릴레이하도록 한다.

 

 

 

4. arpspoof를 실행하여 ARP 리다이렉트 공격을 수행한다. XP 컴퓨터가 보낸 패킷은 Fedora 컴퓨터를 거치게 된다.

 

 

 5. XP의 컴퓨터에서 MAC주소를 확인하면 Fedora의 MAC주소로 변경되었음을 알 수 있다.

 

 

 

 

 

[실습] 위의 실습을 연장하여 tcp kill을 사용하여 XP사용자가 TCP 프로토콜 기반의 서비스인 인터넷을 못하도록 하시오.

(위의 실습을 완료한 상태에서 파란색 폰트 설정부터 시작)

 

 

 

 1. ARP 리다이렉트 공격을 당한 XP사용자는 인터넷 사용이 가능하다는 것을 알 수 있다.

 

 

 

 2. 페도라에서 tcp kill 명령어를 사용하여 TCP기반 서비스가 불가능하도록 설정한다.

 

 

3. XP 사용자는 인터넷 사용이 불가능하게 된다.

 

 

 

 

ICMP 리다이렉트

- 호스트가 특정한 목적지로 가는데 없어지거나 최단거리가 아닌 경로를 사용할 때는 ICMP 리다이렉트 패킷은 라우터를 통해서 호스트에게 최선의

   경로를 알려주는데 사용된다.

- 만약 공격자가 ICMP Redirect 패킷을 위조할 수 있다면 공격자는 호스트의 라우팅 테이블을 변경하여 특정한 트래픽이 의도하지 않은 경로를

   경유하도록 만드는 방식으로 보안 문제를 야기할 수 있다. 따라서 이런 문제를 예방하기 위해 서버의 모든 인터페이스에서 ICMP Redirect 허용

   기능을 차단한다.

 

 

 

 

[실습] 다음과 같이 네트워크를 구성하고 ICMP 리다이렉트를 이용하여 스니핑 하시오.

 

1. 첨부파일인 icmp_redir.c를 gcc를 이용하여 컴파일하여 실행파일을 생성한다.

 

 

2. XP에서 ping을 사용하여 Fedora와 연결되었는지 확인하고, route print 명령어를 사용하여 라우팅 테이블을 확인한다.

 

 

3. Fedora에서 fragrouter를 통해 리다이렉트가 가능하도록 하고, 전에 생성한 icmp_redir 파일을 이용하여  패킷을 우회하도록 한다.

 

 

 

4. XP컴퓨터에서 www.mk.co.kr에 ping을 사용하여 본다.

 

 

5. 공격 대상 시스템이 매일 경제 사이트에 접속 할 때 패킷이 우회하도록  ICMP 리다이렉트를 한다.

 

 

6. 공격 후 XP 컴퓨터에서 라우팅 테이블을 확인한다.

 

 

7. tcp dump를 이용하여 패킷이 공격자 시스템을 통해 전송되는 것을 확인할 수 있다.

 

 

 

스니핑 공격의 대응책

- 스니핑을 하기 위한 최소 조건으로 랜의 설정을 프러미스큐어스 모드를 하는 것이다.

- 프러미스큐어스 모드는 유입 패킷 중 자신의 IP 주소와 MAC주소에 대입하여 자신과 관계없는 것을 버리지 않고 모두 수용하는 것이다.

- 공격자는 프러미스큐어스 모드를 함으로서 자신에게 필요한 모든 패킷을 얻을 수 있는 것이다.

- 따라서 스니핑 공격의 대응으로 프러미스큐어스 모드를 찾는 것이 가장 기본이라 할 수 있다.

 

 

ping을 이용하는 방법

- 의심이 드는 네트워크에 네트워크에 존재하지 않는 MAC주소로 보낸다.

- 프로미스큐어스 모드로 변경되어 있다면 ICMP Echo Reply를 보낼 것이다. 그렇다면 스니핑일 가능성이 매우 높다.

 

 

ARP를 이용하는 방법

- ping과 유사한 방법으로서 위조된 ARP Request에 따른 Reply가 오면 프러미스큐어스 모드인 것으로 스니핑일 가능성이 높다.

 

 

DNS를 이용하는 방법

- 스니핑 프로그램은 사용자의 편의를 위해 스니핑한 시스템의 IP 주소를 Inverse-DNS lookup을 수행한다.

- 원격과 로컬에서 모두 사용할 수 있는 방법으로, 테스트 대상 네트워크로 Ping Sweep을 보내고 들어오는 Inverse-DNS lookup을 파악한다.

 

 

유인(Decoy)방법

- 스니핑하는 공격자에게 미끼를 주어 그것을 가로채도록 하는 것이다. 물론 그 계정과 패스워드는 가짜이다.

- 그 가짜 계정과 패스워드로 접속하는 자를 탐지함으로서 찾아내도록 한다.

 

 

ARP Watch

- 대부분의 스니핑 공격이 위조된 ARP를 사용하기 떄문에 이를 쉽게 탐지 할 수 있다.

 

 

 

[실습] 페도라 OS에 Hunt를 설치하여 스니퍼를 탐지해보시오.

- 실습을 위해 앞서 했던 것처럼 페도라 2개의 OS에서 한쪽은 공격자 한쪽은 피공격자를 설정할 것이다.

 

1. 공격지의 페도라에 스니핑을 위해 프러미스큐어스 모드를 설정한다.

 

 

2.  공격지의 컴퓨터에서 피공격지의 컴퓨터에 IP를 보낸다.

 

 

3. arp -a를 하여 상대방 컴퓨터의 MAC주소를 파악한다.

 

 

4. fragrouter를 실행하여 리다이렉트가 가능하도록 한다.

 

 

5. 공격지에서 ARP 스푸핑으로 하여 피공격자의 게이트웨이를 자신의 것으로 변경하도록 한다. 

 

 

6. 피공격지의 컴퓨터에서 arp -a 를 해보면 공격지의 MAC주소로 변경되었음을 알 수 있다.

 

 

7. 스니핑을 탐지하기 위해 hunt 명령어를 사용한다. (OS에 따라 -i 옵션과 인터페이스 명 지정필요)

 

 

8. u를 선택하여 가짜  MAC주소를 보냈을 때 공격지에서 응답을 보내는 것을 확인할 수 있다. 따라서 공격지는 스니핑을 하고 있다는 것을 알 수 있다.

[출처] 스니핑(Sniffing) - Part 2|작성자 Stein

'Security > Network Hacking' 카테고리의 다른 글

스푸핑(Spoofing)  (0) 2012.07.13
스니핑(Sniffing) - Part 1  (0) 2012.07.13
목록화(Enumeration)  (0) 2012.07.13
풋프린팅(Footprinting)과 스캔(Scan)  (0) 2012.07.13
[무선해킹] 802.11 WPA 크랙  (0) 2012.07.12