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