11. 해킹기술 (3) - hacking & security -
DESCRIPTION
11. 해킹기술 (3) - hacking & security -. 1. 스푸핑 공격. 스푸핑 (Spoofing) 이란 ‘ 속이다 ’ 라는 의미다 . 스푸핑은 IP 주소 , 호스트 이름 , MAC 주소 등 속여서 공격하는 행위를 총칭한다 . 인터넷이나 로컬에서 존재하는 모든 연결에 스푸핑이 가능 정보회득 및 시스템파괴 가능 . IP 충돌 문제. 1. 스푸핑 공격. 네트워크 시스템의 MAC 테이블 확보하기 - PowerPoint PPT PresentationTRANSCRIPT
충북대 네트워크 보안 연구실[ jinmun @ gmail.com ]
정보 보호 응용정보 보호 응용정보 보호 응용정보 보호 응용
11.11. 해킹기술 해킹기술 (3)(3) - hacking & security -
22007-01 정보보호응용
1. 스푸핑 공격
스푸핑 (Spoofing) 이란 ‘속이다’라는 의미다 .스푸핑은 IP 주소 , 호스트 이름 , MAC 주소 등 속여서
공격하는 행위를 총칭한다 .
인터넷이나 로컬에서 존재하는 모든 연결에 스푸핑이 가능정보회득 및 시스템파괴 가능 .
IP 충돌 문제
32007-01 정보보호응용
Root# arp -a
Root# ping –b 192.168.1.255
1. 스푸핑 공격
네트워크 시스템의 MAC 테이블 확보하기
IP 로 인한 충돌 및 스푸핑 공격에 대비하여 관리하는 네트워크의 MAC 주소 테이블을 만들어두면 유용하게 쓸 수 있다 .
42007-01 정보보호응용
1. 스푸핑 공격
필수 라이브러리해킹 툴을 사용하기 위한 몇 가지 라이브러리의 설치 .
리눅스에서 필요한 라이브러리 Libnet/Libpcap/DB Library/Libnids/OpenS 니 배포판에 따라 일부는 이미 설치되어 있기도 하다 .
윈도우에서 필요한 라이브러리 WinPCAP 라이브러리와 스니핑을 위한 라이브러리
각종 라이브러리 드라이버는 전송된 데이터를 수집하고 축약한다 .
52007-01 정보보호응용
1. 스푸핑 공격
1) Libnet (Library Network)
패킷은 생성 시에 다음과 같은 과정을 거친다 .
1. 네트워크의 초기화
2. 메모리의 초기화
3. 패킷의 생성
4. 패킷의 체크섬 (Check Sum) 생성
5. 패킷의 투입 Libnet 이 지원하는 프로토콜
2 계층 : ARP 와 이더넷 3 계층 : ICMP, IGMP, IPv4
4 계층 : TCP, UDP
7 계층 : RIP, OSPF, DNS
62007-01 정보보호응용
운영체제 라이브러리
리눅스 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 라이브러리
1. 스푸핑 공격
2) Libpcap(Library Packet Capture)
Libpcap 라이브러리는 네트워크 카드에 유입된 정보를 응용 프로그램이 읽을 수 있는 형태로 전환해준다 .
72007-01 정보보호응용
1. 스푸핑 공격
3) DB(Berkeley Database) 버클리 DB 는 오픈 소스 DB 로서 , 웹 서버 , Sendmail 등이
버클리 DB 를 사용하고 있다 .
버클리 DB 는 C, C++, 자바 (Java), 펄 (Perl), Tcl, 파이썬(Python) 과 PHP 를 모두 지원하며 , 멀티스레드 (thread) 와 locking, transaction logging, 공유 버퍼 관리 , 메모리 관리 등을 수행한다 .
버클리 DB 는 다른 라이브러리에 비해 무척이나 방대하다 .
Dsniff 와 같은 툴 설치 시 필요하다 .
82007-01 정보보호응용
1. 스푸핑 공격
4) Libnids(Library Network IDS)BSD packet filter(BPF) 에 기반하고 있으며 , 스니퍼나 네트워크
분석 프로그램을 작성할 때 유용한 라이브러리다 .
Libnids 기능 . 1. IP 패킷의 재조합 (Defragmentation) 2. TCP 흐름 재조합 3. 기타 - UDP 콜백 함수 - TCP 세션 강제 종료 함수
92007-01 정보보호응용
1. 스푸핑 공격
5) OpenSSL(Secure Socket Layer)OpenSSL 은 보안상 문제가 있어 운영체제는 SSH(Secure Shell)
프로토콜을 지원한다 .
SSH 는 OpenSSL 를 지원한다 . 두 프로토콜은 모두 RSA 에 의해서 키 교환을 하며 , 데이터는 3DES 와 Blowfish, IDEA 로 암호화한다 .
OpenSSL 은 또한 계정과 패스워드 등을 스니핑하기 위해 이용
102007-01 정보보호응용
1.1 ARP 스푸핑
ARP : IP 주소 값으로 MAC 주소 값을 알아내는 프로토콜
RARP : MAC 주소 값으로 IP 주소 값을 알아내는 프로토콜ARP 스푸핑은 로컬에서 통신하고 있는 서버와 클라이언트의 IP
주소에 대한 2 계층 MAC 주소를 공격자의 MAC 주소로 속여 패킷을 중간에서 가로채는 공격이다 .
공격자는 이 패킷을 다시 돌려보내 연결이 끊어지지 않고 연결되도록 한다 .
112007-01 정보보호응용
ARP 스푸핑 공격 전과 후의 패킷의 흐름
1.1 ARP 스푸핑
122007-01 정보보호응용
공격 전 툴 설치
1. ARP 스푸핑 툴 (fake 버전 1.1.2, rpm)
Root# rpm -Uvh fake-1.1.2-1.i386.rpm
2. 패킷 Relay 툴 (fragrouter 버전 1.6)
Root# ./configure
Root# make
공격 전 ARP 테이블
Root# arp -a
1.1 ARP 스푸핑
132007-01 정보보호응용
공격전 패킷 릴레이 기능 설정
Root# fragrouter –B1
ARP 스푸핑 공격 실시
Root# send_arp 172.16.0.3 00:06:5B:89:D0:CC 172.16.0.4 00:C0:26:5D:25:AA
1.1 ARP 스푸핑
142007-01 정보보호응용
공격 후 ARP 테이블
Root# arp -a
공격 중 Fragrouter
1.1 ARP 스푸핑
152007-01 정보보호응용
1.1 ARP 스푸핑
ARP 스푸핑의 보안 대책 : MAC 주소의 static 한 설정① arp -a 를 입력하고 엔터 키를 입력하기 바란다 . 현재 MAC
테이블을 볼 수 있다 .
② static 으로 설정하고자 하는 IP 주소와 MAC 주소를 확인한 뒤 arp -s <IP 주소 > <MAC 주소 > 로 명령을 내린다 .
예 ) arp -s 192.168.1.142 00:06:5B:89:D0:CC
③ MAC 테이블을 확인해보면 뒷부분에 PERM(Permanent) 옵션이 붙어 있다 . 이 설정은 IP 와 MAC 주소 값은 ARP 스푸핑 공격이 들어와도 값이 변하지 않는다
162007-01 정보보호응용
1.2 IP 스푸핑
IP 스푸핑은 시스템간의 트러스트 관계를 이용한 것이다 .
트러스트 관계는 IP 주소로 인증을 하고 별도의 패스워드 없이 로그인이 가능하도록 만든 것이다 .
원격지 접속 서비스 중 r 로 시작하는 rsh, rcp 등의 명령이 주로 IP 주소를 기반으로 인증하는 서비스다 .
리눅스 / 유닉스에서 트러스트관계를 형성하는데 사용되는 파일
/etc/hosts.equiv
$HOME/.rhost
172007-01 정보보호응용
트러스트 관계를 형성하기 위한 레코드 형식
.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 모든 시스템의 netgroup 에 대한 접근을 허락
1.2 IP 스푸핑
182007-01 정보보호응용
1.2 IP 스푸핑
192007-01 정보보호응용
1.3 DNS 스푸핑
DNS 스푸핑은 웹 스푸핑과 비슷한 의미로 이해되기도 한다 .
인터넷을 이용하는 도중 주소 창에 사이트 이름을 입력하면 다른곳으로 연계되는 경우를 말한다 .
이런 경우가 DNS 서버의 오류로 또는 DNS 스푸핑과 같은 공격으로도 이루어진다 .
202007-01 정보보호응용
1.3 DNS 스푸핑
212007-01 정보보호응용
1. 윈도우용 arp 스푸핑 툴인 winarp_sk 를 이용하여 클라이언트(192.168.1.144) 로 하여금 게이트웨이인 192.168.1.1 로 향하는 패킷이 공격자로 오게 설정한다 .
C:\> winarp_sk -m 2 -d 192.168.1.144 -s 192.168.1.1
1.3 DNS 스푸핑
DNS 스푸핑 예
2. win_dnsspoof 툴 로 www.google.co.kr 에 대 한 DNS query 패킷에 대해 위조된 웹 서버인 192.168.1.143 으로 이름이 해석되도록 설정한다 .
C:\>win_dnsspoof -n www.google.co.kr -i 192.168.1.143 -g 00:04:76:6E:FB:E4 3. 공격당한 클라이언트에서 www.google.co.kr 에 ping 을 날리자 192.168.1.143 에 대해 ping 을 날리는 것을 확인할 수 있다 .
C:\> ping www.google.co.kr 4. 공격 후 클라이언트에서 www.google.co.kr 에 접속하자 . 처음 위조를 위해 만들었던 웹 서버에 접속됨을 확인할 수 있다 .