9 스푸핑.

Slides:



Advertisements
Similar presentations
충북대 네트워크 보안 연구실 [ gmail.com ] 정보 보호 응용 11. 해킹기술 (3) 11. 해킹기술 (3) - hacking & security -
Advertisements

제 4 장 인터넷 창병모 네트워크 구성 2 LAN(Local Area Network) LAN  근거리 통신망으로 집, 사무실, 학교 등의 건물과 같이  가까운 지역을 한데 묶는 컴퓨터 네트워크 이더넷 (Ethernet)  제록스 PARC.
8 스니핑.
멀티미디어 서비스를 위한 IP 네트워크 순천향대학교 정보기술공학부 이 상 정
10 터널링.
PC와 인터넷 정강수 컴퓨터 구조와 웹의 이해 PC와 인터넷 정강수
Chapter 03. 네트워크 보안 : 길을 지배하려는 자에 대한 저항
2 장 인터넷의 구성 및 접속.
9 스푸핑.
1. 스푸핑 공격 - 스푸핑(Spoofing): ‘속이다’ 의 의미.
제 13 장 인터넷 그룹 관리 프로토콜.
공격/대응 Examples.
컴퓨터 네트워크 Chapter 5-2 컴퓨터 네트워크.
Chapter 06. 프로토콜.
Chapter 07 스푸핑.
PC1 E0 R1 로컬 Host 파일 브로드 캐스트 LMHOSTS 조회 Host 파일 조회 DNS Server 조회
11. 해킹기술 (4) - hacking & security -
☞ 컴퓨터 관리하는 방법 컴퓨터 미 사용시 반드시 컴퓨터 끄기를 한다.
Penetration Testing 명지대학교 홍석원
Dept. of Computer Engineering, Hannam Univ. Won Goo Lee
2장. TCP/IP, 서브넷팅 2012년 2학기 중부대학교 정보보호학과 이병천 교수.
Dynamic Host Configuration Protocol
20 장 네트워크층 프로토콜 : ARP, IPv4, ICMP, IPv6, ICMPv6
Network 네트워크 이론 및 실습 TCP / IP 4장.
Introduction to Networking
ARP TARM PROJECT 1조 신영민.
Domain Name System 중앙대학교 안봉현
Web Servers (IIS & Apache)
제 4장 주소변환 프로토콜 (ARP : Address Resolution Protocol)
Chapter 09 세션 하이재킹.
제 16 장 DNS 16.1 네임공간 16.2 도메인 네임공간 16.3 네임공간의 분포 16.4 인터넷에서 사용되는 DNS
Domain Name System (DNS)
네트워크 보안 TCP/IP 네트워크통신 개념.
Chapter 02 네트워크에 대한 이해.
스푸핑 공격이란 스푸핑(Spoofing)이란 ‘속이다’라는 의미
Chapter 06 스니핑.
도메인 네임 시스템 석사 2차 : 최재영 운영체제론.
01. 개요 DNS(Domain Name System)는 인터넷 주소를 IP 주소로 바꾸기 위한 체계적인 방법
11. 해킹기술 (2) - hacking & security -
9장. 네임서버 설치와 운영.
자바 5.0 프로그래밍.
Processing resulting output
제 14 장 도메인 네임 시스템 정보통신연구실.
11 세션 하이재킹.
Network Layer: ARP, ICMP (IGMP).
16장. DHCP 서버의 설치와 운영.
DHCP 김영석 박대혁 신영주.
3부 해킹 전 정보 획득 Chapter 6. 풋프린팅과 스캔
DHCP 박윤환 윤준호.
시스템 운영계획 통신 케이블 제작 엑세스 포인트, 스위치, 라우터 설치 및 환경구성
1. 스푸핑 공격 - 스푸핑(Spoofing): ‘속이다’ 의 의미.
DoS와 DDoS 공격 DOS와 DDOS 공격의 이해 DOS 공격의 이해 DDOS 공격의 이해 한빛미디어(주)
Virtualbox static ip 설정
9장 데이터링크층 소개 (Introduction To Data-Link Layer)
4 Whois와 DNS 조사.
WireShark 와 Cain & Abel을 이용한 네트워크 해킹
2장. TCP/IP, 서브넷팅 2012년 2학기 중부대학교 정보보호학과 이병천 교수.
Wireshark Protocol 분석 지정석 김도건 박재영
1 학습 목표 네트워크의 기초 네트워크 관련 기초 용어를 익힌다.
인터넷보안 실습 2012년 1학기.
원격 제어.
9 스푸핑.
TCP/IP 네트워크 구조 TCP/IP 개요 TCP/IP 프로토콜 한빛미디어(주).
초기화면 인터넷의 이해 Ⅳ. 컴퓨터와 생활> 2. 인터넷의 활용> 기술·가정 2학년 2학기
Computer Network(Hacking)
8 네트워크 계층 프로토콜 학습 목표 IPv6의 필요성과 헤더 구조를 이해한다. 이동 IP 프로토콜의 터널링 원리를 이해한다.
웹 기획 강의(8) PowerYouth.
Internet 유선 랜카드 A 회사 네트워크 장비 (인터넷 공유 기능 활성화)
Part TCP / IP 1. TCP / IP 프로토콜 2. 기본 프로토콜.
소리가 작으면 이어폰 사용 권장!.
Presentation transcript:

9 스푸핑

학습목표 내용 스푸핑 공격을 이해한다. ARP, IP, DNS 스푸핑 공격을 실행할 수 있다. 스푸핑 공격을 탐지할 수 있다. 스푸핑 공격에 대처하고 예방하는 방법을 알아본다. 내용 스푸핑 공격 ARP 스푸핑 IP 스푸핑 DNS 스푸핑

스푸핑 공격 스푸핑(spoofing)은‘속이다’는 의미 인터넷이나 로컬에서 존재하는 모든 연결에 스푸핑 가능 정보를 얻어내는 것 외에 시스템을 마비시킬 수도 있음

실습 9-1 시스템의 IP와 MAC 주소 수집하기 실습환경 브로드캐스트 ping 보내기 fping -a -g 192.168.0.1/24 MAC 주소 확인 arp -a • 공격자 시스템 : 리눅스 페도라 12 • 공격 대상 시스템 : 리눅스 페도라 12 • 필요 프로그램 : fping 실습환경 1 2

ARP 스푸핑 ARP(Address Resolution Protocol)와 RARP(Reverse ARP) ARP는 IP 주소 값으로MAC 주소 값을 알아내는 프로토콜 RARP는 MAC 주소값으로 IP 주소값을 알아내는 프로토콜 ARP 스푸핑은 2계층 MAC 주소를 공격자의 MAC 주소로 속이는 것 ARP 스푸핑 예제 ① 명호는 철수에게 영희(IP 주소 10.0.0.3)의MAC 주소가 명호 자신의 MAC 주소인CC라고 알린다. 마찬가지로 영희에게도 철수(IP 주소 10.0.0.2)의MAC 주소가 CC라고 알린다. ② 명호는 철수와 영희로부터 패킷을 받는다. ③ 명호는 각자에게 받은 패킷을 읽은 후에 철수가 영희에게 보내려던 패킷을 영희에게 보내주고, 영희가 철수에게 보내려던 패킷을 철수에게 정상적으로 보내준다.

ARP 스푸핑 ARP 스푸핑 공격 개념도

실습 9-2 ARP 스푸핑을 이용해 스니핑하기 실습환경 • 공격자 시스템 : 리눅스 페도라 12 • 공격 대상 시스템 : 윈도우 XP • 필요 프로그램 : arpspoof, dnsspoof 실습환경

실습 9-2 ARP 스푸핑을 이용해 스니핑하기     fake 설치와 사용법 확인 ➊ rpm -Uvh fake-1.1.2-1.i386.rpm ➋ send_arp 공격 전 시스템의 MAC 주소 테이블 확인 ➊ ping 192.168.0.100 ➋ arp -a 1   2  [그림 9-8] ARP 스푸핑 공격 전 서버의 MAC 주소 테이블 [그림 9-9] ARP 스푸핑 공격 전 공격자의 MAC 주소 테이블 

실습 9-2 ARP 스푸핑을 이용해 스니핑하기  패킷 릴레이와 TCP Dump 수행 ➊ ./fragrouter -B1 ➋ 창을 하나 더 열어 tcpdump -xvX host 192.168.0.100 send_arp 실행 ARP 스푸핑 공격 수행 send_arp 192.168.0.100 00:16:D3:CA:85:67 192.168.0.101 00:1E:68:ED:2A:39 3  4

실습 9-2 ARP 스푸핑을 이용해 스니핑하기 공격 후 각 시스템의 MAC 주소 테이블 확인 arp -a 텔넷 연결 telnet 192.168.0.100 53 6

실습 9-2 ARP 스푸핑을 이용해 스니핑하기 스니핑 : TCP Dump를 이용해 ARP 스푸핑 공격 시 캡처한 패킷 73

실습 9-2 ARP 스푸핑을 이용해 스니핑하기 Wireshark를 이용해 캡처한 ARP 스푸핑 패킷 분석 83

실습 9-2 ARP 스푸핑을 이용해 스니핑하기 Wireshark를 이용해 캡처한 ARP 스푸핑 패킷 분석 83

ARP 스푸핑 보안 대책 MAC 테이블의 static 설정을 통해 막을 수 있음 ➊ arp -a 명령을 입력하고 [Enter] 키를 입력한다. 현재 MAC 주소 테이블을 볼 수 있다. ➋ static으로 설정하고자 하는 IP 주소와 MAC 주소를 확인한 뒤 arp -s <IP 주소> <MAC 주소> 형식으로 명령을 입력한다. ➌ 다시 arp -a 명령으로MAC 주소 테이블을 확인하면 뒷부분에 PERM(Permanent) 옵션 또는 static이 있다. 이렇게 설정된 IP 주소와MAC 주소 값은 ARP 스푸핑 공격이 들어 와도 값이 변하지 않는다. 모든 관리 시스템에 static 옵션을 지정할 수는 없음. 또한, 리부팅하면 static 옵션이 사라지므로 계속 사용하려면 배치 파일 형태로 만들어두고, 리부팅 시마다 자동으로 수행되도록 설정해야 함  

IP 스푸핑 한 시스템이 여러 시스템에 로그인하고자 할 경우 각 시스템마다 계정과 패스워드가 필요. 각 시스템마다 계정과 패스워드를 설정해야 하는데, 시스템이 많으면 관리자가 모두 외우기 힘듦. 보안상 아주 취약하지만 아직도 흔히 쓰이는 텔넷은 로그인 시 계정과 패스워드를 암호화하지 않은 평문으로 네트워크로 흘려본내 스니핑 공격자에게 좋은 먹이가 됨 이에 대한 한 가지 대책이 트러스트. 시스템에 접속할 때 자신의 IP 주소로 인증을 하고 로그인 없이 접속이 가능하게 만든 것 하지만 트러스트 설정은 스니핑은 막았으나 IP 스푸핑에 치명적인 약점을 드러냄 IP 스푸핑은 시스템 간의 트러스트(trust) 관계 이용 트러스트 관계가 맺어진 서버와 클라이언트를 확인한 후 클라이언트에 DoS 공격하여 연결 끊음 그러고 나서 공격자가 클라이언트의 IP 주소를 확보하여 서버에 실제 클라이언트처럼 패스워드 없이 접근

IP 스푸핑 유닉스와 리눅스 시스템에서는 트러스트 관계를 형성하기 위해 주로 다음 파일 사용 ./etc/hosts.equiv .$HOME/.rhost

IP 스푸핑 IP 스푸핑 개념 예

IP 스푸핑 보안 대책 가장 좋은 대책은 트러스트를 사용하지 않는 것 부득이하게 트러스트를 사용할 경우에는 트러스트된 시스템의 MAC 주소를 static으로 지정 해커가 연결을 끊을 수는 있지만, 잘못된 IP 주소로 위장해 접근하더라도 MAC 주소까 지 같을 수는 없기 때문에 세션을 빼앗기지는 않음

DNS 스푸핑 DNS(Domain Name System) 스푸핑은 웹 스푸핑과 비슷한 의미로 이해되기도 함 단순히 DNS 서버를 공격하여 해당 사이트에 접근하지 못하게 만들면 DoS 공격이 되지 만 조금 응용하면 웹 스푸핑 정상적인 DNS 서비스 ➊ 클라이언트가 DNS 서버에 접속하고자 하는 IP 주소(www.wishfree.com 같은 도메인 이름)를 물어본다. 이때 보내는 패킷은 DNS Query다. ➋ DNS 서버가 해당 도메인 이름에 대한 IP 주소를 클라이언트에 보내준다. ➌ 클라이언트는 DNS 서버에서 받은 IP 주소를 바탕으로 웹 서버를 찾아간다.

DNS 스푸핑 DNS 스푸핑 공격 ➊ 클라이언트가 DNS 서버로 DNS Query 패킷을 보내는 것을 확인한다. 스위칭 환경일 경우에는 클라이언트가 DNS Query 패킷을 보내면 이를 받아야 하므로 ARP 스푸핑과 같은 선행 작업이 필요하다. 만약 허브를 쓰고 있다면 모든 패킷이 자신에게도 전달되 므로 자연스럽게 클라이언트가 DNS Query 패킷을 보낼 경우 이를 확인할 수 있다.

DNS 스푸핑 DNS 스푸핑 공격 ➋ ~ ➌ 공격자는 로컬에 존재하므로 DNS 서버보다 지리적으로 가깝다. 따라서 DNS 서버 가 올바른 DNS Response 패킷을 보내주기 전에 클라이언트에 위조된 DNS Response 패킷을 보낼 수 있다.

DNS 스푸핑 DNS 스푸핑 공격 ➍ 클라이언트는 공격자가 보낸 DNS Response 패킷을 올바른 패킷으로 인식하고 웹에 접속한다. 지리적으로 멀리 떨어진DNS 서버가 보낸 DNS Response 패킷은 버린다.

실습 9-3 DNS 스푸핑하기 실습환경 웹 서버 구축 service httpd start • 공격자 시스템 : 리눅스 페도라 12 • 공격 대상 시스템 : 윈도우 XP • 필요 프로그램 : arpspoof, dnsspoof 실습환경 1

실습 9-3 DNS 스푸핑하기  웹 사이트 정상 접속 확인 DNS 스푸핑 파일 설정 ➊ vi /etc/dsniff/dnsspoof.hosts ➋ 192.168.0.2 *.google.com 2 3 

실습 9-3 DNS 스푸핑하기   ARP 스푸핑과 패킷 릴레이 ➊ arpspoof -t 192.168.0.101 192.168.0.1 ➋ ./fragrouter -B1 4  

실습 9-3 DNS 스푸핑하기   DNS 스푸핑 공격 수행 5-1 DNS 스푸핑 툴 도움말 확인과 동작 수행 ➊ dnsspoof –help ➋ dnsspoof -i eth0 -f /etc/dsniff/dnsspoof.hosts 5-2 DNS 스푸핑 툴 도움말 확인과 동작 수행공격 후 www.google.com 사이트에 접속 5  

실습 9-3 DNS 스푸핑하기 5-3 공격 실패 시 클라이언트의 DNS 정보 삭제 ipconfig /flushdns 5-4 공격 후 클라이언트에서 www.google.com에 ping 보내기 ping www.google.com

DNS 스푸핑 보안 대책 도메인 이름을 브라우저에 입력했을 때 무조건 DNS Query를 생성하는 것은 아님 사이트에 접속하면 MAC처럼 캐시에 도메인 이름에 대한 IP 주소가 저장되었다가 다시 접속했을 때 DNS Query를 보내지 않고 캐시에서 읽어 들임 그런 다음 hosts 파일을 통해 도메인 이름에 대한 IP 주소를 해석 hosts 파일에 중요 사이트의 IP 주소를 적어두면, 이 파일에 있는 사이트에 대해서는 DNS 스푸핑 공격을 당하지 않을 수 있음

DNS 스푸핑 보안 대책 DNS 서버에 대한 DNS 스푸핑 공격에 대한 보안 대책 BIND(Berkeley Internet Name Domain)를 최신 버전으로 바꿈 BIND 최신 버전은 PTR 레코드뿐만 아니라, PTR 레코드에 의한 A 레코드 정보까지 확 인한 후 네임 서버의 데이터베이스 파일 변조 여부까지 판단 PTR은 Reverse Zone(리버스 존)에서 가장 중요한 레코드로, IP 주소에 대한 도메인 이름 해석 A 레코드는 Forward Zone에서 도메인 이름에 대한 IP 주소 해석 if (gethostbyname(gethostbyaddr(getpeername())) != getpeername()) { /* DNS 스푸핑의 위험을 알리고 종료 */ } PTR 레코드뿐만 아니라 A 레코드까지 스푸핑한 경우 현재는 DNS 스푸핑을 막을 방법 이 없고 DNS에만 의존하는 서비스를 외부에 지원하지 않는 것이 최선의 방책