12 장 한빛미디어 ( 주 ) 스푸핑 공격 필수 라이브러리 ARP 스푸핑 IP 스푸핑 DNS 스푸핑 스푸핑 공격 필수 라이브러리 ARP 스푸핑 IP 스푸핑 DNS 스푸핑 스푸핑.

Slides:



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

7 장. 원격지에서 리눅스서버를 관리하자. 텔넷서버를 설치 / 운영한다. SSH 서버를 운영한다. VNC 서버를 설치 / 운영한다.
HTTPS Packet Capture Tutorial

목차 Contents 무선인터넷용 비밀번호 설정방법 Windows 7 Windows 8 Windows XP MAC OS.
정보 보안 개론과 실습 네트워크 해킹과 보안 3부 해킹 전 정보 획득 Chapter 10. 목록화.
9 스푸핑.
김태원 심재일 김상래 강신택. 김태원 심재일 김상래 강신택 인터넷 통신망의 정보를 제공하는 서비스 인터넷의 자원 및 정보는 NIC가 관리 IP주소 또는 도메인으로 정보 검색 이용자 및 통신망 관한 정보를 제공.
1. 스푸핑 공격 - 스푸핑(Spoofing): ‘속이다’ 의 의미.
Chapter 6. 리눅스 백도어 황 선 환.
Ch.07-5 xml-rpc 사용하기 김상엽.
Network Lab. Young-Chul Hwang
발표조 : 날으는 불사조 발표자 : 한동균(04) 발표일 : 2008년 10월 27일(월)
Chapter 07 스푸핑.
Penetration Testing 명지대학교 홍석원
PHP입문 Izayoi 김조흔.
Part 4 네트워크 해킹 12장 스푸핑 김 미 진.
Load Balancing L4와 L7은 어떻게 동작할까?.
18장. 방화벽 컴퓨터를 만들자.
스푸핑 공격이란 스푸핑(Spoofing)이란 ‘속이다’라는 의미
4 Whois와 DNS 조사.
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
네트워킹 CHAPTER 13 Section 1 네트워킹의 개요와 java.net 패키지 Section 2 인터넷 주소와 URL
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
8장. 원격지 시스템 관리하기.
1. DNS 스푸핑 공격 2. HTTP Request 소개
Chapter 21 Network Layer: ARP, ICMP (IGMP).
소리가 작으면 이어폰 사용 권장!.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
01. DHCP의 개념 조직의 네트워크에 연결되어 있는 워크스테이션의 TCP/IP 설정을 자동화하기 위한 표준 프로토콜
메시지 큐[5] – test1.c 메시지 제어: msgctl(2) #include <sys/msg.h>
4. LAN의 배선체계 (3장. LAN: Local Area Network)
1. 스푸핑 공격 - 스푸핑(Spoofing): ‘속이다’ 의 의미.
Chapter 19 솔라리스 네트워크 관리 Solaris1 . TCP/IP 개요
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
WOL(Wake-On Lan) 컴퓨터공학과 4학년 박기웅.
시스템 인터페이스 Lab3 Unix 사용법 실습.
Network Security WireShark를 활용한 프로토콜 분석 I.
Chapter 03 Whois와 DNS 조사.
소리가 작으면 이어폰 사용 권장!.
2장. 인터넷의 개념과 주소.
설치 환경 □ 운영체제 버전 : CentOS Linux 7.2 □ 리눅스 커널 버전 :
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
Wi-Fi 취약점 분석 본 프로젝트는 Wi-Fi 환경에서의 취약점 분석을 위한 프로젝트로 다양한 공격방법을 테스트
뇌를 자극하는 Windows Server 장. 원격 접속 서버.
9 스푸핑.
PC에 설치된 엔드포인트 클라이언트 프로그램을 클릭하여 프로그램 상자를 엽니다
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
8장 쿠키와 세션 한빛미디어(주).
ASP.NET AJAX / AJAX Control Toolkit 응용 2008 컴퓨터공학실험( I )
네트워크 프로토콜.
Network 네트워크 이론 및 실습 TCP / IP 4장.
-네트워크 관리 개요 및 SNMP 프로토콜 동작과정
01. 라우팅 및 원격 액세스의 개요 라우팅은 패킷을 송신지부터 수신지까지 어떠한 경로를 통해 보낼 것인지를 결정하는 방법
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
Teaming pms.
01. DHCP의 개념 조직의 네트워크에 연결되어 있는 워크스테이션의 TCP/IP 설정을 자동화하기 위한 표준 프로토콜
01. 개요 네트워크에 있는 컴퓨터와 그룹에 대한 NetBIOS 이름에 대응되는 IP 주소를 찾아주는 서비스
웹(WWW).
제 19 장 TCP 대화식 데이터 흐름.
Ping Test.
OpenCV 설정 2.21 만든이 딩딩.
9 스푸핑.
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
세션에 대해 알아보고 HttpSession 에 대해 이해한다 세션 관리에 사용되는 요소들을 살펴본다
소리가 작으면 이어폰 사용 권장!.
Network Lab. Young-Chul Hwang
CCIT 네트워크 발표 정보보호학과 평문 사이트와 SSL 사이트, SSL strip과 데이터 변조를 이용한 로그인 취약점
ARP.
소리가 작으면 이어폰 사용 권장!.
Presentation transcript:

12 장 한빛미디어 ( 주 ) 스푸핑 공격 필수 라이브러리 ARP 스푸핑 IP 스푸핑 DNS 스푸핑 스푸핑 공격 필수 라이브러리 ARP 스푸핑 IP 스푸핑 DNS 스푸핑 스푸핑

Section 01 스푸핑 공격 IT CookBook 2 스푸핑 공격이란 스푸핑 (Spoofing) 이란 ‘ 속이다 ’ 라는 의미 IP 주소, 호스트 이름, MAC 주소 등 여러 가지를 속일 수 있으며, 스 푸핑은 이런 속임을 이용한 공격을 총칭한다. 인터넷이나 로컬에서 존재하는 모든 연결에 스푸핑이 가능하며, 정보 를 얻어내는 것 외에도 시스템을 마비시키는 것도 가능하다. IP 충돌 문제 역시 고의가 아닌 IP 스푸핑이라고 생각할 수 있다.

[ 실습 ] 네트워크에 존재하는 시스템의 mac 테이블 확보하기 IT CookBook 3 ① IP 로 인한 충돌 및 스푸핑 공격에 대비하여 관리하는 네트워크의 MAC 주소 테이블을 만들어두면 유용하게 쓸 수 있다 Root# ping –b Root# arp -a

Section 02 필수 라이브러리 IT CookBook 4 필수 라이브러리 여러 가지 해킹 툴을 리눅스와 윈도우에 사용하기 위해서는 몇 가지 라이브러리의 설치가 필요하다. 리눅스에서 필요한 라이브러리 중 Libnet/Libpcap/DB Library/Libnids/OpenSSL 이렇게 다섯 개의 라이브러리는 거의 필 수라도 생각해도 무방할 정도로 자주 쓰인다. 그리고 배포판에 따라 일부는 이미 설치되어 있기도 하다. 윈도우에서는 WinPCAP 라이브러리와 스니핑을 위한 라이브러리가 툴에 따라 별도로 설치되기도 한다. 네트워크 카드에 유입된 패킷은 수신 버퍼에 일시적으로 저장되었다 가, 이에 대한 시스템 인터럽트 (interrupt) 가 발생하여 I/O(input/ouput) 버스 라인을 통해 데이터가 시스템으로 전송된다. 각종 라이브러리 드라이버는 이렇게 전송된 데이터를 수집하고 축약 한다.

Section 02 필수 라이브러리 IT CookBook 5 Libnet (Library Network) 패킷은 생성 시에 다음과 같은 과정을 거친다.  네트워크의 초기화  메모리의 초기화  패킷의 생성  패킷의 체크섬 (Check Sum) 생성  패킷의 투입 Libnet 은 응용 프로그램이 패킷을 생성하여 보낼 수 있게 해주는 라 이브러리로, 직접 패킷을 생성하는 것보다 훨씬 간단하게 패킷을 생 성하여 보낼 수 있으며, 보통 다음에 다룰 Libpcap 과 함께 쓰인다. 이 두 라이브러리를 이용하면 ping 과 traceroute 같은 프로그램을 손쉽 게 작성할 수 있다.

Section 02 필수 라이브러리 IT CookBook 6 Libnet 이 지원하는 함수 메모리의 패킷 관리 함수 주소 확인 함수 패킷 구조 생성 함수 패킷 생성 함수 기타 지원 함수 Libnet 이 지원하는 프로토콜 2 계층 : ARP 와 이더넷 3 계층 : ICMP, IGMP, IPv4 4 계층 : TCP, UDP 7 계층 : RIP, OSPF, DNS

[ 실습 ] Libnet 설치하기 IT CookBook 7 ① Root#./configure ② Root# make ③ Root# make test ④ Root# make install

Section 02 필수 라이브러리 IT CookBook 8 Libpcap(Library Packet Capture) 보통 Libnet 과 같이 쓰인다. 라이브러리의 명칭에서 알 수 있듯이, 스 니핑 프로그램에 필요한 라이브러리다. Libpcap 라이브러리는 네트워크 카드에 유입된 정보를 응용 프로그 램이 읽을 수 있는 형태로 전환해준다. 운영체제라이브러리 리눅스 Raw socket & LSF(Linux Socket Filter) 솔라리스 4.x NIT(Network Interface Tap) 솔라리스 DLPI(Data Link Provider Interface) BSD 계열 BPF(Berkely Packet Filter) 의 PCAP(Packet Capture : libpcap) 윈도우 Winpcap 라이브러리

[ 실습 ] Libpcap 설치하기 IT CookBook 9 ① Root#./configure ② Root# make ③ Root# make install

Section 02 필수 라이브러리 IT CookBook DB(Berkeley Database) 버클리 DB 는 오픈 소스 DB 로서, 리눅스에 웹 서버 등을 정상적으로 설치했다면, 기본적으로 설치되는 라이브러리다. 아파치 웹 서버, Sendmail 등이 기본적으로 버클리 DB 를 사용하고 있기 때문이다. 버클리 DB 는 C, C++, 자바 (Java), 펄 (Perl), Tcl, 파이썬 (Python) 과 PHP 를 모두 지원하며, 멀티스레드 (thread) 와 locking, transaction logging, 공유 버퍼 관리, 메모리 관리 등을 수행한다. 버클리 DB 는 무척 가볍게 설계된 라이브러리이지만, 역시나 다른 라 이브러리에 비해 무척이나 방대하다. Dsniff 와 같은 툴 설치 시 필요하다.

[ 실습 ] Berkeley DB 설치하기 IT CookBook ① Root# cd build_unix ② Root#../dist/confiugure --enable- compat185 ③ Root# make ④ Root# make install

Section 02 필수 라이브러리 IT CookBook Libnids(Library Network IDS) BSD packet filter(BPF) 에 기반하고 있으며, 스니퍼나 네트워크 분석 프로그램을 작성할 때 유용한 라이브러리다. 현재 Libnids 는 다음의 세 가지 기능이 있으며, 각각의 함수는 다음과 같다.  IP 패킷의 재조합 (Defragmentation)  TCP 흐름 재조합  기타 (UDP 콜백 함수, TCP 세션 강제 종료 함수 )

[ 실습 ] Libnids 설치하기 IT CookBook ① Root#./configure ② Root# make ③ Root# make install

Section 02 필수 라이브러리 IT CookBook OpenSSL(Secure Socket Layer) OpenSSL 은 telnet 이나 rlogin 이 암호화되지 않은 채 데이터를 전송하 기 때문에 보안상 문제가 있어 운영체제는 SSH(Secure Shell) 프로토 콜을 지원한다. SSH 는 SSH 1 과 SSH 2 가 있으며, SSH 1 은 다시 크게 1.3 과 1.5 로 나뉘 어지며, 두 버전 모두 OpenSSH 가 지원한다. 두 프로토콜은 모두 RSA 에 의해서 키 교환을 하며, 데이터는 3DES 와 Blowfish, IDEA 로 암호 화한다. SSH 2 프로토콜은 DSA 와 DH 알고리즘을 쓰며, SSH 1 의 CRC 문제 를 HMAC 알고리즘으로 해결하고 있다. 하지만 OpenSSL 을 설치하 는 이유는 보안을 위해서만은 아니다. OpenSSL 로 통신하는 계정과 패스워드 등을 스니핑하기 위해서이기도 하다

[ 실습 ] OpenSSL 설치하기 IT CookBook ① Root#./config ② Root# make ③ Root# make test ④ Root# make install

Section 03 ARP 스푸핑 IT CookBook ARP IP 주소 값으로 MAC 주소 값을 알아내는 프로토콜 RARP MAC 주소 값으로 IP 주소 값을 알아내는 프로토콜 ARP 스푸핑은 로컬에서 통신하고 있는 서버와 클라이언트의 IP 주 소 에 대한 2 계층 MAC 주소를 공격자의 MAC 주소로 속여 클라이언트 가 서버로 가는 패킷이나 서버에서 클라이언트로 가는 패킷을 중간 에 서 가로채는 공격이다. 공격자는 이 패킷을 읽고 확인한 후 정상적인 목적지로 향하도록 다 시 돌려보내 연결이 끊어지지 않고 연결되도록 유지한다.

Section 03 ARP 스푸핑 IT CookBook ARP 스푸핑 공격 예 명호는 먼저 에 해당된 가짜 MAC 주소를 CC 로 에 해 당하는 가짜 MAC 주소를 CC 로 알렸다. 명호는 철수와 영희 컴퓨터로부터 패킷을 받는다. 각자에게 받은 패킷을 읽은 후 철수가 영희에게 보내고자 하던 패킷 을 정상적으로 영희에게 보내주고, 영희가 철수에게 보내고자 했던 패킷을 철수에게 보내준다. [ 그림 12-20] ARP 스푸핑 예제 그림

Section 03 ARP 스푸핑 IT CookBook ARP 스푸핑 공격 전과 후의 패킷의 흐름 [ 그림 12-21] ARP 스푸핑 공격

[ 실습 ] ARP 스푸핑 IT CookBook ①공격 전 툴 설치 ARP 스푸핑 툴 (fake 버전 1.1.2, rpm) Root# rpm -Uvh fake i386.rpm 패킷 Relay 툴 (fragrouter 버전 1.6) Root#./configure Root# make ②공격 전 ARP 테이블 Root# arp -a

Section 03 ARP 스푸핑 IT CookBook 공격전 패킷 릴레이 기능 설정 Root# fragrouter –B1 ARP 스푸핑 공격 실시 Root# send_arp :06:5B:89:D0:CC :C0:26:5D:25:AA [ 그림 12-30] fragrouter 실행 [ 그림 12-31] send_arp 를 이용한 ARP 스푸핑

Section 03 ARP 스푸핑 IT CookBook 공격 후 ARP 테이블 Root# arp -a 공격 중 Fragrouter [ 그림 12-32] ARP 스푸핑 공격 후 클라이언트의 MAC 테이블 [ 그림 12-33] 클라이언트가 텔넷 터미널에서 ls 명령을 내린 후 공격자의 fragrouter 화면

Section 03 ARP 스푸핑 IT CookBook 공격 중 TCPDump : 클라이언트가 ls 입력 시 [ 그림 12-34] 클라이언트가 텔넷 터미널에서 ‘ls’ 명령을 내린 후 공격자의 TCP Dump 화면

Section 03 ARP 스푸핑 IT CookBook ARP 스푸핑의 보안 대책 : MAC 주소의 static 한 설정컴파일 arp -a 를 입력하고 엔터 키를 입력하기 바란다. 현재 MAC 테이블을 볼 수 있다. static 으로 설정하고자 하는 IP 주소와 MAC 주소를 확인한 뒤 arp -s 로 명령을 내린다.  명령 예 ) arp -s :06:5B:89:D0:CC 다시 arp -a 로 MAC 테이블을 확인해보면 뒷부분에 PERM(Permanent) 옵션이 붙어있는 것을 확인할 수 있다. 이렇게 설 정된 IP 와 MAC 주소 값은 ARP 스푸핑 공격이 들어와도 값이 변하지 않는다.

Section 04 IP 스푸핑 IT CookBook IP 스푸핑 IP 스푸핑은 시스템간의 트러스트 관계를 이용한 것이다. 트러스트 관계가 설정된 상태에서 클라이언트 시스템은 서버에 접 속할 때 자신의 IP 주소로 인증을 하고 별도의 패스워드 없이 로그인 이 가능하도록 만든 것이다. 원격지 접속 서비스 중 r 로 시작하는 rsh, rcp 등의 명령이 주로 IP 주 소를 기반으로 인증하는 서비스다. 리눅스 / 유닉스에서 트러스트관계를 형성하는데 사용되는 파일 /etc/hosts.equiv $HOME/.rhost

Section 04 IP 스푸핑 IT CookBook 트러스트 관계를 형성하기 위한 레코드 형식.rhost 레코드 형식내 용내 용 host_name host_name 에서의 접근을 허락한다. host_name user_name host_name 의 user_name 에 대한 접근을 허락한다. + 모든 시스템에서의 접근을 허락한다. + user_name 모든 시스템의 user_name 에 대한 접근을 허락한다. -host_name host_name 에서의 접근을 막는다. host_name -user_name host_name 의 user_name 에 대한 접근을 막는다. 모든 시스템의 netgroup 에 대한 접근을 허락한다.

[ 실습 ] IP 스푸핑 공격하기 IT CookBook [ 그림 12-37] IP 스푸핑 실습도

Section 05 DNS 스푸핑 IT CookBook DNS 스푸핑 DNS(Domain Name System) 스푸핑은 웹 스푸핑과 비슷한 의미로 이 해되기도 한다. 인터넷을 이용하는 도중 주소 창에 가고자하는 사이트 이름을 적어 놓고는 엔터 키를 눌렀더니 엉뚱한 사이트로 연결되는 경우를 경험 해본 적이 있을 것이다. 예를 들면 ‘ 란 주소를 주소 창에 넣었더니만 무슨 쇼 핑몰이나 포르노 사이트가 뜨는 경우다. 이런 경우가 DNS 서버의 오 류로 인해 생길 수도 있지만, DNS 스푸핑과 같은 공격으로도 이루어 진다.

Section 05 DNS 스푸핑 IT CookBook 정상적인 DNS 서비스  클라이언트는 접속하고자 하는 과 같은 도메인 이름 에 해당하는 IP 주소를 이미 설정된 DNS 서버에게 물어본다. 이때 보내는 패킷이 DNS query 패킷이다.  DNS 서버는 해당하는 도메인 이름에 대 한 IP 주소를 클라이언트에게 보내준다.  클라이언트는 받은 IP 주소를 바탕으로 웹 서버를 찾아간다. [ 그림 12-46] 정상적인 DNS 서비스

Section 05 DNS 스푸핑 IT CookBook DNS 스푸핑  클라이언트가 DNS 서버로 DNS query 패 킷을 보내는 것을 확인한다. 스위칭 환경 일 경우에는 클라이언트가 DNS query 패 킷을 보내면 이를 받아야 하므로 arp 스푸 핑과 같은 선행 작업이 필요하다.  만약 허브를 쓰고 있다면 모든 패킷이 자 신에게도 전달되므로 자연스럽게 클라이 언트가 DNS query 패킷을 보낼 경우 이를 확인할 수 있다. [ 그림 12-47] DNS 질의

Section 05 DNS 스푸핑 IT CookBook DNS 스푸핑  공격자는 로컬에 존재하므로 DNS 서 버보다 지리적으로 가까운 위치에 있 다. 따라서 DNS 서버가 올바른 DNS response 패킷을 보내주기 전에 클라 이언트에게 위조된 DNS response 패 킷을 보낼 수 있다. [ 그림 12-48] 공격자와 DNS 서버의 DNS 응답

Section 05 DNS 스푸핑 IT CookBook DNS 스푸핑  클라이언트는 공격자가 보낸 DNS response 패킷을 올바른 패킷으로 인식 하고, 웹에 접속한다. 지리적으로 멀리 떨어져 있는 DNS 서버가 보낸 DNS response 패킷은 버린다. [ 그림 12-49] DNS 스푸핑 공격의 성공

[ 실습 ] DNS 스푸핑 공격하기 IT CookBook ①윈도우용 arp 스푸핑 툴인 winarp_sk 를 이용하여 클라이언트 ( ) 로 하여금 게이트웨이인 로 향하는 패 킷이 공격자로 오게 설정한다. C:\> winarp_sk -m 2 -d s

[ 실습 ] DNS 스푸핑 공격하기 IT CookBook ② win_dnsspoof 툴로 에 대한 DNS query 패킷에 대해 위조된 웹 서버인 으로 이름이 해석되도록 설 정한다. C:\> win_dnsspoof -n -i g 00:04:76:6E:FB:E4

[ 실습 ] DNS 스푸핑 공격하기 IT CookBook ③ 공격당한 클라이언트에서 에 ping 을 날리자 에 대해 ping 을 날리는 것을 확인할 수 있다. C:\> ping

[ 실습 ] DNS 스푸핑 공격하기 IT CookBook ④ 공격 후 클라이언트에서 에 접속하자. 처음 위 조를 위해 만들었던 웹 서버에 접속됨을 확인할 수 있다.

Section 05 DNS 스푸핑 IT CookBook Thank you