스푸핑발표자료

Download Report

Transcript 스푸핑발표자료

발표조 : 날으는 불사조
발표자 : 한동균(04)
발표일 : 2008년 10월 27일(월)
구성원 : 한창보(03), 강지훈(04), 양훈성(04), 한동균(04), 장주희(06), 에르덴토야(07)


스푸핑 공격에 대해서 알아본다.
해킹에 필요한 필수 라이브러리에 대해 알아본다.
◦ Libnet, Libpcap, Berkeley DB, Libnids, OpenSSL




브로드캐스트 ping을 통하여 Mac주소를 얻는 실
습을 해본다.
ARP 스푸핑의 원리를 알아보고 실습해본다.
IP 스푸핑의 원리를 알아보고 실습해본다.
DNS 스푸핑의 원리를 알아보고 실습해본다.


Desktop
◦
◦
◦
◦
Intel CoreDuo
2GB Ram
Linux Fedora core 9
학내 유선망 사용(117.17.102.155)
◦
◦
◦
◦
Intel Core2Duo T5450(1.66GHz)
2GB Ram
Windows Vista™ Home Basic
학내 유선망 사용(117.17.102.155)
Notebook(ThinkPad R61i 7650-88k)
 실습간 Virtual Machine(VM ware)사용

Attacker
◦ Fedora Core 9 on VMWare
◦ 00:0C:29:F1:2E:41
◦ 192.168.125.129(NAT 주소)

Server

Client
◦ Fedora Core 5 on VMWare
◦ 00:0C:29:22:09:6A
◦ 192.168.125.130(NAT 주소)
◦ xubuntos-tinyos 2.6 on VMWare
◦ 00:0C:29:E0:30:14
◦ 192.168.125.131(NAT 주소)

IP Spoofing
◦ IP정보를 속여서 다른 시스템을 공격
◦ 1995년 Kevin Mitnick이 미국 국회 시스템 침입시 사용
◦ Trust관계를 이용
 Trust : 시스템에 접속할 때 자신의 IP주소로 인증을 하고 로
그인 없이 접속이 가능

ARP Spoofing
◦ ARP cache table상의 정보를 위조하여 공격대상과 서버
사이의 트래픽을 해커의 컴퓨터로 우회시키는 공격
◦ 2계층에서 작동하는 해킹

E-mail Spoofing
◦ 이메일 발송시 송신자의 주소를 위조
◦ 이메일 송신자 From 필드에 별칭(Alias)필드를 사용

DNS Spoofing
◦ DNS컴퓨터를 장악하여 일반 사용자가 얻고자 하는 IP주
소가 아닌 위조된 IP주소를 해커가 서비스 하는 공격

Libnet
◦
◦
◦
◦
Mike D. Schiffman
응용 프로그램이 패킷을 생성하여 보낼 수 있게 해준다.
C로 이루어진 라이브러리
Libnet이 지원하는 프로토콜




2계층(Data link layer) : ARP, Ethernet
3계층(Network layer) : ICMP, IGMP, IPv4
4계층(Transport layer) : TCP, UDP
7계층(Application layer) : RIP, OSPF, DNS
◦ Libnet을 활용하는 응용 프로그램은 적절함 함수를 호출
◦ 응용 프로그램 자체적으로 패킷을 생성하는 함수를 제작
해야 하는 부담을 줄 수 있다.
◦ Libnet의 함수 구성





메모리의 패킷 관리 함수
주소 확인 함수
패킷 구조 생성 함수
패킷 생성 함수
기타 지원 함수

Libpcap(Library Packet Capture)
◦ Lawrence Berkeley Laboratory의 Network research
group에서 tcpdump를 개발한 개발자들에 의해 개발됨
◦ 보통 Libnet과 같이 사용
◦ 네트워크 카드에 유입된 정보를 응용 프로그램이 읽을 수
있는 형태로 전환
◦ tcpdump의 low-level packet capture, capture file
reading, capture file writing 코드를 추출하여 라이브
러리로 만듬

Berkeley DB
◦ University of California, Berkeley에서 개발
◦ C, C++, Java, Perl, Python, Ruby, Tcl 등과 연동 가능
◦ 데이터와 고유키(Arbitrary key)쌍의 바이트 배열로 저장
◦ 여러 데이터 아이템을 단일키로 제공
◦ 약 천개의 DB 컨트롤 또는 조작 쓰레드 동시 병렬 실행 지원
◦ Unix, Linux, Windows, Sun Solaris, Mac OS 지원

Libnids(Library Network Intrusion Detection
System)
◦ Mike D.Schiffman
◦ 응용 프로그램이 네트워크 패킷을 생성 또는 삽입하는 것
을 도와주는 high-level API
◦ low-level의 네트워크 패킷 생성, 조작 및 삽입을 간단한
인터페이스로 제공
◦ IP 패킷의 재조합(defragmentation)
◦ TCP 흐름 재조합

OpenSSL(Secure Sockets Layer)
◦
◦
◦
◦
◦
◦
◦
네트워크 소켓의 데이터 입출력을 암호화
SSH 프로토콜 지원
웹브라우저와 웹서버에서 사용
SSH1은 RSA 알고리즘에 의해 키교환
SSH2는 DSA와 DH알고리즘 사용
보안에 사용될 뿐 아니라
OpenSSL로 통신하는 계정과 패스워드 스니핑용으로도 쓰임
실 험

실습환경 : Fedora Core 9

필요요소 : ping

실습내용 : 브로드캐스트 ping을 이용해 MAC 테
이블을 획득한다.

실습환경 : 텔넷 서버와 클라이언트, 공격시스템

실습환경 : ARP 스푸핑 툴(fake 버전 1.1.2, rpm)
Relay 툴(fragrouter 버전 1.6)

실습내용 : ARP 스푸핑 공격으로 세션을 스니핑 할
수 있다.
IP 주소
MAC 주소
공격자 시스템
192.168.125.129
00:0C:29:F1:2E:41
텔넷 서버
192.168.125.130
00:0C:29:22:09:6A
텔넷 클라이언트
192.168.125.131
00:0C:29:E0:30:14
텔넷 서버
공격자 시스템
텔넷 클라이언트
IP 주소
MAC 주소
117.17.102.157
00:19:21:5C:87:B5
Server IP
Attacker MAC Client IP
Client MAC

보안대첵
◦ ARP스푸핑은 같은 네트워크상의 PC에게는 성공율이 매
우 높은 공격이다.
◦ 중요 PC의 MAC어드레스에 대한 정보를 Client PC의
MAC Table에 static으로 등록함으로써 막을 수 있다.
◦ arp –s [설정할 pc의 IP주소] [설정할 pc의 MAC주소]

실습환경 : 트러스트가 설정된 서버
트러스트가 설정된 클라이언트
공격 시스템

필요요소 : DoS 공격 툴(ARP 스푸핑)

실습내용 : IP스푸핑 공격으로 트러스트로 연결된
세션을 가로챈다.
vi /etc/sysconfig/network-scripts/ifcfg-eth0

보안대책
◦ 트러스트를 사용하지 않는것이 최선의 대책
◦ 트러스트를 사용할 경우 트러스트된 시스템의 MAC주소
를 static으로 지정

보안대책
◦ DNS 캐시 파일에 중요한 사이트의 IP주소를 확인하여 사용
 Windows : C:\windows\system32\driver\etc\host
 Linux : /etc/hosts