네트워크해킹 분석 및 대응 한국정보보호교육센터 서 광 석 원장
차례 네트웍 보안 개요(Network Security Overview) 네트웍 스캐닝(Network Scanning) 스니핑(Packet Sniffing) 스푸핑(IP Spoofing) 세션 하이재킹(Session Hijacking) DoS/DDoS Attack http://www.kisec.com
네트웍 보안의 개요 네트웍 공격의 분류 네트웍 보안취약점의 원인 네트워크를 통한 서버 공격 네트워크 환경 및 시스템 정보 수집 - 공격시에 최초로 시도 네트워크 스캔, 포트 스캔, 스니핑 Packet Sniffing을 통한 사용자 아이디 및 암호 획득 DOS(Denial of Service) 공격 네트웍 보안취약점의 원인 TCP/IP 프로토콜 구현상의 오류 세밀하지 못한 자원 공유 및 접근제어 네트웍 기반의 인증 서비스 부족 네트웍 서비스 데몬의 취약점 단일화된 보안 관리의 어려움 http://www.kisec.com
네트웍 스캐닝
네트웍 스캐닝 네트웍 스캐닝의 목적 네트웍 스캐닝 기법 네트워크의 연결에 대한 문제점을 테스트 네트워크의 연결에 대한 문제점을 테스트 이용 가능한 서비스와 포트를 조사 및 보안 취약점 검색 시스템 정보 획득 OS 종류 및 버전 서비스 중인 포트 및 서비스 종류 네트웍 스캐닝 기법 포트 스캔(Port Scanning) Open Port Detection OS Detection Etc 취약점 스캔(Vulnerability Scanning) 특정 네트웍 서비스(서버 어플리케이션)의 취약점 탐지 http://www.kisec.com
네트웍 스캐닝 네트워크 스캐너 종류 nmap(Network mapper), mscan, sscan, portscan, HakTek, porttest, dnscan, checkos, etc CGI Vulnerability Scanner CGI scanner, Perl CGI Checker, etc http://www.kisec.com
Port Scanning 목적 방법 어떤 서비스가 열려 있는지를 확인한다. Network Scanning에 의해 시스템의 존재와 그 시스템의 IP 주소를 얻으면 그 시스템에 무슨 서비스가 존재하는지를 확인한다. 서비스를 제공하는 서버 데몬의 종류를 확인한다. 예를 들어서 웹 서버의 종류와 버전을 확인한다. 이것은 이미 알려져 있는 버그가 데몬에 있는지를 확인하기 위해 필요하다. http://www.kisec.com
Port Scanning mscan 공격 네트워크 블록 전체를 스캐닝하여 최근에 알려진 보안 취약점을 한번에 스캐닝 점검 취약점 항목 wingate phf, handler, test-cgi NFS exports, statd, named X server, ipopd, imapd http://www.kisec.com
Port Scanning sscan 공격 z0ne imapvun, imapd_scan.sh phfscan mscan을 개발한 jsbach가 개발 mscan에 비해 강력해진 네트워크 보안 취약점 점검 기능 mscan 취약점 점검 항목 백오리피스 점검(31337 포트) 취약한 CGI 프로그램들(Count.cgi, php.cgi 등 다수) bind/iquery 버퍼 오버플로우 등 취약점에 대한 공격 시도(자기복제 가능한 스크립트 모듈 수행) z0ne 특정 도메인의 수많은 IP를 찾아내는 프로그램 imapvun, imapd_scan.sh imap 취약점 스캐너 phfscan phf.cgi 취약점 스캐너 http://www.kisec.com
Port Scanning Nmap(Network Mapper)을 사용한 포트 스캔 http://www.kisec.com
Port Scanning(by hand) 일반적인 서버 확인 방법 (TCP 연결인 경우) victim % telnet 10.10.10.1 3306 …. GET / HTTP/1.0 Accept: */* HTTP/1.0 200 OK Date: … Server: Apache/1.3.6 (Unix) … Victim % telent 10.10.10.1 23 Unix® System V Realse 4.9(10.10.10.1) Login Victim % telnet 10.10.10.1 21 …. FTP server(UNIX® System V Realse 4.0 ready. SYST http://www.kisec.com
OS Detection 목적 방법 시스템의 종류를 확인한다. 시스템의 종류를 알면 시스템에 존재하는 취약점을 알 수 있고, 또한 버퍼 오버플로우의 경우가 존재하는 경우 쉘 코드의 종류(Assembly Language)를 알 수 있다. 방법 인터넷에 공개되어 있는 스캔 도구를 이용한다. victim % nmap –O 10.10.10.1 …. Remote operation system guess: Linux 2.1.122 – 2.2.14 http://www.kisec.com
Vulnerability Scanning 원격 시스템의 보안 취약성을 검색하여 정보 수집 및 네트워크 공격 Scanner의 종류 시스템 스캐너 COPS(The Computer Oracle and Password System) 애매하거나 잘못된 파일 허가권 디폴트 계정 잘못되거나 중복된 UID 항목 ISS의 System Scanner 네트워크 스캐너 ISS(Internet Security Scanner) SATAN(Security Administrator’s Tool for Analyzing Networks) SAINT CGI Scanner http://www.kisec.com
Vulnerability Scanning courtney : SATAN과 SAINT 탐지기 icmpinfo : ICMP 스캔/폭탄 탐지기 scan-detector : 일반적인 UDP 스캔 탐지기 Psionic PortSentry : stealth scanner 탐지기 http://www.kisec.com
SAINT SAINT(Security Administrator’s Integrated Network Tool) SATAN의 향상된 보안 스캐너 SAINT의 보안 검사 항목 CGI 기반의 웹 공격 DOS 공격 POS 서버 공격 SSH Security holes Remote Buffer Overflow http://www.kisec.com
기타 - 내부 정보 획득 사용자 정보 획득 finger (/usr/bin/finger) rusers (/usr/bin/rusers) victim % finger @victim.com [victim.com] Login Name TTY idle When Where zen Dr.Foobar co 1d Wed 08:00 death.com Victim % rusers victim.com Login Home-dir Shell Last login, from where root / /bin/sh Fri Nov 5 07:42 on ttyp1 from big.victim.com bin /bin Never logged in nobody / Tue Jun 15 08:57 on ttyp2 from server.victim.com daemon / Tue Mar 23 12:14 on ttyp0 from big.victim.com http://www.kisec.com
기타 - 내부 정보 획득 NFS 정보 획득 NFS는 showmount 특별히 신뢰하는 클라이언트에게만 read/write only로 개방하며, 가능한 Read-only로 만든다. evil % showmount –e victim.com export list form victim.com: /export (everyone) /var (everyone) /usr easy /export/exec/kvm/sun4c.sunos.4.1.3 easy /export/root/easy easy /export/swap/easy easy http://www.kisec.com
기타 - 내부 정보 획득 RPC 관련 시스템 정보 획득 rpcinfo NIS 사용 및 master/slave 여부 디스크 없는 워크스테이션 운영 여부 기타 시스템 정보 획득 evil % rpcinfo –p victim.com program vers proto port 100004 2 tcp 673 ypserv 100005 1 udp 721 mountd 100003 2 udp 2049 nfs 100026 1 udp 733 bootparam 100017 1 tcp 1274 rexd http://www.kisec.com
기타 - 패스워드 추측 패스워드 추측(Password Guessing) 패스워드 추측 기법 주어진 정보를 이용하여 패스워드를 추측하여 공격 사용자의 신상에 관한 정보 사전 대입식 – 패스워드 크랙 도구 사용 패스워드의 최소 길이를 설정해 놓지 않았거나 짧게 설정해 놓으면 Brute force 공격에 당하기 쉽다 패스워드 추측 기법 Brute-force 무작위 추출법 순차 대입법 사전식 대입 - 크래킹 도구를 이용 Crack, webcrack http://www.kisec.com
스니핑/Sniffing
Sniffing 정의 - 1 ‘sniff’는 사전에서 찾아보면 ’코를 킁킁거리다‘라는 의미 코를 킁킁거리듯이 정보를 데이터 속에서 찾는 것이라고 생각하면 쉽다 스니핑 공격은 막는 것도 어려우며, 탐지 역시 쉽지 않다 스니핑 공격을 수동적(Passive) 공격 http://www.kisec.com
Sniffing 정의 - 2 랜에서의 스니핑은 프러미스큐어스(Promiscuous) 모드에서 작동 랜 카드는 설정된 IP 주소 값과 고유한 MAC(Media Access Control) 주소 값을 가지고 있음 자신의 랜 카드에 들어오는 프로토콜 형식에 따른 전기적 신호의 헤더 부분, 즉 주소 값을 인식하고 자신의 버퍼에 저장할지를 결정한다. 스니퍼는 자신이 가지지 말아야 할 정보까지 모두 받아들이는 것 자신의 주소 값을 무시하고 모든 패킷을 받아들이는 상태를 프러미스큐어스 모드라고 함 http://www.kisec.com
Sniffing ※ 인터페이스를 프러미스큐어스 모드로 전환하기 Root# ifconfig eth0 promisc http://www.kisec.com
스위치환경에서의 스니핑 스위칭 환경에서는 기본적으로 스니핑이 어렵다. 허브 스위칭허브 허브는 랜에서 들어오는 모든 신호를 복사해서 모든 포트에 다시 뿌려주는 역할을 한다. 따라서 브로드캐스트(Broadcast) 패킷인지 유니캐스트(Unicast) 패킷인지에 상관없이 모든 포트에 보내주므로 스니퍼에게 스니핑을 이용한 공격은 간단하다. 스위칭허브 스위치는 포트별로 MAC 주소 값이 기록하여 브로드캐스트 패킷을 제외한 모든 패킷은 그 패킷이 목적하는 장비에만 보낸다. 스위치는 스니핑을 막기 위해 만들어진 장비는 아니지만 결과적으로 스니퍼를 저지하는 치명적인 장비가 되었다. http://www.kisec.com
스위치환경에서의 스니핑 ※ ARP 스푸핑/리다이렉트 ARP 리다이렉트 공격은 기본적으로 2계층에서 실시 한다 공격은 위조된 ARP reply 패킷을 보내는 방법을 사용 자신의 MAC 주소가 라우터라며 브로드캐스트를 주기적으로 하는 속이는 것 ARP 스푸핑는 호스트 대 호스트 공격이며, ARP 리다이렉트는 랜의 모든 호스트 대 라우터라는 것 말고는 큰 차이점이 없음 ARP 스푸핑에서와 마찬가지로 공격자 자신만은 원래 라우터의 MAC 주소를 알고 있어야 하며 받은 모든 패킷은 다시 라우터로 릴레이해 주어야만 한다. (Fragroute사용) http://www.kisec.com
스위치환경에서의 스니핑 ARP Spoof 이해하기(Flash) http://www.oxid.it/downloads/apr-intro.swf http://www.kisec.com
스위치환경에서의 스니핑 ※ 스위치 재밍(MACOF) 스위치 재밍(Switch Jamming)은 스위치를 직접 공격한다. 해킹 공격 중에 버퍼 오버플로우(Buffer Overflow) 공격이 있다. 버퍼 오버플로우 공격은 버퍼를 공격해서 시스템을 다운시키기거나 오작동을 유발하기도 하며, 루트(Root) 권한을 얻어내는 데 쓰이기도 한다. 스위치 역시 하나의 시스템으로 생각할 수 있다. CPU와 같은 연산자가 있으며 MAC 테이블을 저장하기 위한 저장 공간이 있다. 스위치 재밍은 MAC 테이블을 위한 캐시 공간에 버퍼 오버플로우 공격을 실시하는 것이라고 생각해도 무리가 없다. MAC 테이블이 저장 용량을 넘으면 스위치는 원래의 기능을 잃게 되어 더미 허브와 똑같이 작동한다. http://www.kisec.com
스위치환경에서의 스니핑 ※ macof로 스위치 재밍시키기 Root# macof 공격 시 tcpdump http://www.kisec.com
스위치환경에서의 스니핑 ※ SPAN 포트 태핑(Tapping) SPAN(Switch Port Analyzer)은 포트 미러링(Port Mirroring)을 이용한 것이다. 포트 미러링이란 각 포트에 전송되는 데이터를 미러링하고 있는 포트에도 똑같이 보내주는 것이다. 주로 IDS를 설치할 때 많이 사용한다. SPAN은 주로 시스코에서 쓰는 용어이며, 다른 벤더들은 ‘Port Roving’이라 부르기도 한다. SPAN은 상당히 많은 문제점을 가지고 있어 효과적인 모니터링을 하는 데 많은 어려움이 있다. 이를 해결할 수 있는 방법이 태핑이다. 허브와 같이 포트를 모니터링하기 위한 장비로서 ‘Splitter’라고 부르기도 한다. SPAN 포트와 태핑 장비의 구입에 어려움이 있다면 IDS를 설치하고자 하는 곳에 허브를 설치하는 것도 하나의 방법일 수 있다. 그러나 중간에 허브를 설치함으로써 네트워크가 느려지는 것은 감수해야 할 것이다. http://www.kisec.com
Dsniff
Dsniff 란? DSniff 설치 시 설치되는 툴 툴 기 능 filesnarf 기 능 filesnarf NFS 트래픽에서 스니프한 파일을 현재 디렉토리에 저장한다. macof 스위치를 허브와 같이 작동하게 하기 위하여 임의의 MAC 주소로 스위치의 MAC 테이블을 오버플로우(Overflow)시킨다. mailsnarf SNMP와 POP 을 스니프하여 이메일을 볼 수 있게 해준다. msgsnarf 채팅 메시지를 스니핑한다. tcpkill 탐지할 수 있는 TCP 세션을 모두 끊는다. tcpnice ICMP source quench 메시지를 보내 특정 TCP 연결을 느리게 만든다. 속도가 빠른 네트워크에서 스니핑 할 때 arpspoof ARP 스푸핑 공격을 실행한다. dnsspoof DNS 스푸핑 공격을 실행한다. urlsnarf CLF(Common Log Format)에서 HTTP 트래픽을 스니핑하여 선택된 URL을 알려준다. http://www.kisec.com
Dsniff 설치(Redhat7.3) Source Install : http://monkey.org/~dugsong/dsniff/ dsniff-2.3.tar.gz 필요 Library db-2.7.7.tar.gz cd db-2.7.7/dist ./configure --enable-compat185 ver 1.8.5 호환 모드로 설치 libnet-1.0.2a.tar.gz libnids-1.16.tar.gz http://www.kisec.com
Dsniff 설치(Redhat8.0 or 9.0) Source Install : http://monkey.org/~dugsong/dsniff/ dsniff-2.3.tar.gz 필요 Library db-2.7.7.tar.gz cd db-2.7.7/dist ./configure --enable-compat185 ver 1.8.5 호환 모드로 설치 libnet-1.0.2a.tar.gz libnnids-1.16.tar.gz openssl-0.9.7c.tar.gz http://www.kisec.com
Fragrouter - 릴레이 ※ Fragrouter 받은 패킷을 릴레이해주기 위한 도구다. 스니핑을 하거나 세션을 가로채었을 때 공격자에게 온 패킷을 정상적으로 전달해주려면 패킷 릴레이가 반드시 필요하다. 공격대상의 세션이 끊어지면 계속 사용할 수 없게 되므로 공격자 역시 스니핑을 계속할 수는 없다. Fragrouter 설치하기 Root# ./configure Root# make http://www.kisec.com
메신저 Sniffing echo "1" > /proc/sys/net/ipv4/ip_forward fragrouter -B1 // ARP redirect, ARP spoofing 등의 공격을 행할 때 공격자의 호스트로 전달된 패킷들을 원래의 목적지 호스트로 전송해주는 패킷포워딩 arpspoof -t victim_host gateway msgsnarf -i eth0 > msg1 iconv -f UTF-8 -t eucKR file1 > msg2 cat file2 // MSN은 한글을 UTF-8코드체계, 리눅스에서는 깨져 보인다. eucKR로 변환 http://www.kisec.com
메일 Sniffing - Outlook echo "1" > /proc/sys/net/ipv4/ip_forward fragrouter -B1 arpspoof -t victim_host smtp_server mailsnarf -i eth0 > mail1 cat mail1 // 글자가 깨짐. Outlook express는 메일을 주고 받을 때 base64로 인코딩해서 보낸다. 인코딩,디코딩 프로그램 다운 - base64 (www.fourmilab.ch/webtools/base64) base64 -d mail1 mail2 // 디코딩 전 메일내용만 따로 캡쳐 http://www.kisec.com
Web Sniffing echo "1" > /proc/sys/net/ipv4/ip_forward fragrouter -B1 arpspoof -t victim_host gateway Webspy -i eth0 victim_host // 웹브라우저는 실행 되어 있어야 됨 소스코드 수정 vi webspy.c 129번 라인 "mozilla \'http://%s%s%s%s\'", 밑에 Mozilla_remote_commands 대신 system(cmd); 로 입력하고 Make Make install 한다. http://www.kisec.com
DNS Spoofing echo "1" > /proc/sys/net/ipv4/ip_forward fragrouter -B1 arpspoof -t victim_host gateway vi /etc/hosts 202.43.214.151 yahoo.com dnsspoof -f /etc/hosts Sample hosts file /usr/local/lib/dnsspoof.hosts Sample hosts file 127.0.0.1로 해서 도메인들이 등록 되어 있다. 이것은 해커가 기존의 웹사이트와 비슷한 웹사이트를 만들어 놓고, 사용자가 로긴할때 입력하는 값들을 수집할때 사용한다. 도메인 이름에 ‘ * ‘ 사용가능 http://www.kisec.com
Ettercap
http://www.kisec.com
http://www.kisec.com
http://www.kisec.com
http://www.kisec.com
Sniffing탐지 및 대응책
Sniffing 탐지방법 스니핑 공격은 스니퍼를 설치한 이후에는 매우 쉬우며 네트워크에 별다른 이상 현상을 만들지 않기 때문에 사용자가 이를 인지하는 것이 어렵다. 따라서 네트워크 관리자나 보안 관리자라면 주기적으로 네트워크에 스니퍼가 있는지 탐색해 봐야 한다. 스니퍼에 대한 탐색은 기본적으로 스니퍼가 프러미스큐어스 모드에서 작동한다는 것에서 시작한다. http://www.kisec.com
Sniffing 탐지방법 ■ Ping을 이용한 방법 대부분의 스니퍼는 일반 TCP/IP에서 동작하기 때문에 request를 받으면 response를 전달한다. 이를 이용한 방법은 의심이 가는 호스트에 ping을 보내는데, 네트워크에 존재하지 않는 MAC 주소를 위장하여 보낸다. 만약 ICMP Echo reply를 받으면 해당 호스트가 스니핑을 하고 있는 것이다. 왜냐하면 존재하지 않는 MAC 주소를 사용했기 때문에 스니핑을 하지 않는 호스트는 누구도 ping request를 볼 수 없는 것이 정상이다. ■ ARP를 이용하는 방법 ping과 유사한 방법으로 위조된 ARP request를 보냈을 때 ARP response가 오면 프러미스큐어스 모드로 설정되어 있는 것이다. http://www.kisec.com
Sniffing 탐지방법 ■ 유인(Decoy)방법 스니핑 공격을 하는 공격자의 주요 목적은 계정과 패스워드의 획득에 있다. 보안 관리자는 이점을 이용하여 계속적으로 가짜 계정과 패스워드를 네트워크에 뿌린다. 공격자는 이 계정과 패스워드를 이용하여 접속을 시도하고 이 접속을 시도하는 시스템을 탐지함으로써 스니퍼를 탐지할 수 있다. ■ ARP watch 초기에 MAC 주소와 IP 주소의 매칭 값을 저장하고 ARP 트래픽을 모니터링하여 이를 변하게 하는 패킷이 탐지되면 관리자에게 메일로 알려주는 도구다. http://www.kisec.com
Sniffing 탐지 (Xarp) 윈도우 용(ARP Table 탐지) Download : http://www.chrismc.de http://www.kisec.com
Sniffing 탐지 (Sentinel) http://www.packetfactory.net/Projects/sentinel/ Sentinel usage: ./sentinel [options] [methods] [-c <x.x.x>] [-f <filename>] [host] methods: -a arp test -d dns test -e icmp etherping test options: -c <x.x.x> class c to scan -f <file> file of ip addresses -i <device> network interface -n <number> number of packets to send http://www.kisec.com
Sniffing 탐지 (Sentinel) Ping을 이용한 스니퍼 탐지 ./sentinel -e -t 192.168.1.144 http://www.kisec.com
Sniffing 탐지 (Sentinel) 조작된 MAC주소로 ICMP Echo Request를 보냈음에도 불구하고 스니퍼를 설치해 된 시스템은 ICMP Echo Reply를 보낸다. 스니퍼가 설치되어 있지 않은 경우, tcpdump의 결과 http://www.kisec.com
Sniffing 대응책 게이트웨이의 MAC주소를 정적으로 고정 설정방법 게이트웨이의 MAC주소를 알아낸다. 일반적인 스니핑은 인터넷으로 향하는 패킷을 스니핑하기위해 게이트웨이의 주소를 속이게 된다. Arp 캐쉬 테이블에 게이트웨이 MAC주소는 동적으로 변경할수 없도록 설정한다. 설정방법 게이트웨이의 MAC주소를 알아낸다. Arp 캐쉬 테이블에 정적으로 등록 시킨다. # arp -s 192.168.1.5 00:09:6D:FE:00:C9 http://www.kisec.com
Sniffing 대응책(암호화) ■ SSL(Security Sockets Layer) ■ SSH(Secure Shell) 암호화된 웹 서핑을 가능하게 해준다. SSL은 많은 웹 서버 브라우저에 구현되어 있으며 전자상거래 사이트에 접속하여 물건을 구매할 때, 신용카드 정보 등을 보낼 때 사용한다. SSL은 40비트와 128비트 두 가지 암호화 키가 있으며 현재 대부분의 우리나라 금융거래 사이트는 40비트 암호화 방법을 쓰고 있다. ■ SSH(Secure Shell) SSH는 telnet과 같은 서비스의 암호화를 위해서 사용된다. 그러나, DSniff를 이용하여 공격하면 SSH1를 이용한다고 할지라도 공격당할 수 있다. http://www.kisec.com
Sniffing 대응책(암호화) ■ PGP(Pretty Good Privacy)와 PEM(Pricacy Enhanced Mail), S/MIME PGP와 PEM, S/MIME는 모두 이메일을 전송할 때의 암호화 방법이다. PGP는 내용에 대한 암호화 방법은 IDEA를 쓰며 IDEA 키와 전자서명을 암호화하는데, RSA(Rivest, Shamir, Addleman) 알고리즘을 쓴다. 기본적으로 PGP는 'Web of Trust'의 개념을 쓴다. 각각의 PGP 사용자가 서로에 대한 신뢰도를 가지며 서로가 서로에 대한 인증을 해주는 제 3자가 되는 것이다. PEM은 PGP와는 달리 공개키 암호화 표준(PKCS:Public Key Cryptography Standards)을 따르며, CA(Certificate Authority)라는 공인된 인증기관에서 키를 관리한다. 데이터 암호화에는 DES-EDE, 키를 위한 암호화 알고리즘은 RSA, 전자인증을 위한 해시 함수는 MD2, MD5를 쓴다. S/MIME은 이메일 표준인 MIME 형식에 암호화 서비스만을 추가한 것이다. 역시 PKCS를 기반으로 만들어져 있으며, 디지털 인증에 X.509를 쓴다. http://www.kisec.com
Sniffing 대응책(암호화) ■ VPN (Virtual Private Network) VPN은 원래 T1과 같은 사설 네트워크를 설치하는데, 고가의 비용이 들기 때문에 하나의 라인을 여러 회사가 공유하여 비용을 절감하고자 개발되었다. 그러나 전송되는 데이터들이 각 회사의 사내 정보이며 기밀성이 요구되어 VPN은 자연스레 암호화된 트래픽을 제공한다. http://www.kisec.com
세션 하이재킹/Session Hijacking
나의 세션을 누군가 가로챌 수 있을까? 어떤 툴로 세션 하이재킹을 할 수 있을까? http://www.kisec.com
내용 세션 하이재킹 이해 하이재킹 툴 분석 암호화된 통신에 대한 MITM 공격 http://www.kisec.com
세션 하이재킹이란 무엇인가? 세션 하이재킹/Session Hijacking 기존의 세션을 공격자가 가로 채서 통신에 참여하는 것. 스니핑 <-> 세션 하이재킹 인터넷으로 계좌이체를 하는데 수신자 계좌 번호가 바뀐다면? FTP를 통한 파일 다운로드시, 파일의 내용이 바뀐다면? http://www.kisec.com
TCP Session Hijacking SYN M ACK M+1, SYN N ACK N+1 SEQ M+1, ACK N+1 20 bytes SEQ N+1, ACK M+21 0 bytes SEQ M+21, ACK N+1 공격자의 패킷 삽입 : <CR> echo + + > /.rhosts <CR> http://www.kisec.com
TCP Packet Blocking (1) 세션 하이재킹의 두 가지 방법 Without Packet Blocking With Packet Blocking Route Table Modification ARP attack http://www.kisec.com
TCP Packet Blocking (2) Route table modification 20 bytes ICMP redirect message 20 bytes source : http://www.firewall.cx/icmp-redirect.php http://www.kisec.com
TCP Packet Blocking (3) ARP attack Arp spoofing Arp spoofing 탐지법 Arpwatch 툴로 모니터링 가능 (ftp://ee.lbl.gov/arpwatch.tar.gz) http://www.kisec.com
UDP Hijacking UDP Hijacking TCP와는 달리 3-way handshake를 맺지 않아도 됨 예: DNS Spoofing http://www.kisec.com
세션 하이재킹 툴 Juggernaut Hunt Ettercap SMBRelay http://www.kisec.com
Ettercap – (1) (Ettercap 초기 화면) http://www.kisec.com
Ettercap – (2) (source와 destination 선택 후) http://www.kisec.com
Ettercap – (3) 192.168.0.2에서 arp –a 명령 실행 후 http://www.kisec.com
ACK Storm 서버 공격자 클라이언트 Seq : M 20 bytes Seq : 100 ACK 120 10 bytes Anomaly ! ACK 120 Anomaly ! ACK M http://www.kisec.com
ACK Storm 종료 packet drop 공격자가 원하는 작업을 마친 후 연결을 끊음(RST 패킷 전송) resynchronize http://www.kisec.com
ACK Storm resynchronize 서버 공격자 클라이언트 Seq : M 20 bytes Seq : 100 ACK 120 10 bytes X Anomaly ! ACK 110 30 bytes X ACK 120 http://www.kisec.com
암호화된 통신에 대한 MITM 공격 Dsniff Webmitm dnsspoof 이용 Sshmitm http://www.kisec.com
스푸핑/Spoofing
그래서 나는 진정한 신뢰 관계가 존재하는 네트웍이란 존재하지 않는다고 생각한다 그래서 나는 진정한 신뢰 관계가 존재하는 네트웍이란 존재하지 않는다고 생각한다. 그보다는, 교활하고 간사한 데몬이 여러 프로토콜을 속이는 네트웍이 존재한다고 생각한다. 나는 스위치, 관리자, 사용자, 헤더, 명령, 응답 을 비롯한 모든 네트웍 통신이 가상으로 일어날 수 있다고 생각한다. 나는 출발지 주소, 복잡한 프로토콜, 신뢰하는 제 삼자, 제대로 동작하는 클라이언트 코드, 제대로 된 상태 등을 갖고 있지 않다고 판단할 것이다. 나는 단지 그런 것을 갖고 있다고 착각할 뿐이다. —Dan "Effugas" Kaminsky http://www.kisec.com
내용 스푸핑이란 무엇인가? 배경 이론 컴퓨터 네트워킹에서의 주체 설립 웹 브라우저 스푸핑 스푸핑 시스템 설계 사례 연구 : IP 스푸핑 http://www.kisec.com
스푸핑이란 무엇인가? 스푸핑이란? Meike Keao : 시스템과 서비스에 접근하기 위해 주체에 대한 잘못된 정보를 제공하는 것 TCP/IP 프로토콜의 구조적 결함, 즉 TCP 시퀀스 번호, 소스 라우팅, 소스 어드레스를 이용한 인증 메커니즘 등을 이용한 방법 인증 기능을 가지고 있는 시스템에 침입하기 위해 침입자가 사용하는 시스템을 신뢰성 있는 호스트로 위장하는 방법 스푸핑 주체를 속이는 것 주체 검사 단계에 대한 능동적 공격 통신의 모든 계층에서 가능하다 항상 고의적이다 배신과는 다르다 반드시 악의적인 것은 아니다 Hot Swappable Router Protocol (HSRP) Linux의 Fake project (www.au.vergenet.net/linux/fake) 새로운 것이 아니다 http://www.kisec.com
ARP 스푸핑 (1) ARP 프로토콜 http://www.kisec.com
ARP 오염/Poisoning ARP 스푸핑 (2) 대부분의 운영 체제에서는 ARP 요청을 보내지 않았더라도 ARP 응답을 받았을 경우 그 응답 내용을 캐시에 저장 리눅스 커널 2.4.x에서는 요청하지 않은 ARP 응답이 왔을 경우 캐시에 저장하지 않는 방법을 사용 ARP 요청(request)을 받을 경우 그 요청의 출발지 주소를 캐시에 저장한다는 보안 문제점 SOLARIS의 경우 캐시에 항목이 없는 ARP 응답(reply)을 캐시에 저장하지 않음 공격자는 먼저 ICMP_ECHO_REQUEST를 SOLARIS 호스트로 보내서 ARP 항목을 캐시에 만든 다음 ARP 오염 공격 수행 http://www.kisec.com
DNS 스푸핑 (1) DNS 요청 전송 http://www.kisec.com
DNS 스푸핑 (2) DNS 스푸핑 공격 http://www.kisec.com
웹 브라우저 스푸핑 www.doxpara.com/popup_ie.html http://www.kisec.com
스푸핑 시스템 설계 사용자 공간 라우터 : DoxRoute 라우터의 기능 DoxRoute : 특정한 MAC 주소를 찾는 ARP 패킷에 응답 특정한 IP 주소를 찾는 Ping 요청에 응답 상위 네트웍으로 패킷을 전달 DoxRoute : Libpcap과 libnet을 사용한 “fake” 라우터 http://www.kisec.com
사례 연구 : IP 스푸핑 공격자 피해자 B와 신뢰관계 http://www.kisec.com
스푸핑 IP Spoofing 대비책 탐지 네트워크 모니터링 도구 이용 예방 패킷 필터링 기능과 보안 취약성이 보강된 라우팅 프로토콜을 포함하고 있는 라우터 사용 소스 IP 주소를 이용한 인증에 대한 대책과 시퀀스 번호 조작에 대한 대책 마련 Router에서 source routing을 허용하지 않음 내부 사용자끼리의 IP Spoofing은 막을 수 없다. Sequence number를 Random 하게 발생시키도록 함 Sequence number를 sniff 할 수 있는 경우에는 막을 수 없다. Denial of Service가 발생하지 않도록 함 IP Spoofing은 Denial of Service가 공격의 시작이므로 Denial of Service를 막을수 있다면 IP Spoofing 공격을 막을수 있다. IP로 인증하는 서비스는 사용하지 않음 IP Spoofing은 막을 수 있지만 상당히 불편해진다. 암호화된 Protocol 을 사용 암호화된 Protocol을 사용하면 IP Spoofing공격을 상당히 차단할 수 있지만 속도가 느려지고 사용이 아직 보편화 되어 있지 않다. http://www.kisec.com
서비스거부(DoS/DDoS)
DoS(Denial of Service) 공격자가 호스트의 H/W나 S/W 등을 무력하게 만들어 호스트에서 적법한 사용자의 서비스 요구를 거부하도록 만드는 일련의 행위 특징 공격의 원인 및 원천지를 찾기 힘듬 공격 방법이 매우 다양 단순한 공격 방법이 많아 누구나 쉽게 이용 뚜렷한 방지 대책 부재 최근 네트워크를 이용한 원격 DOS 공격 급증 http://www.kisec.com
DoS(Denial of Service) 디스크 채우기, 메모리 고갈, 프로세스 만들기 메일폭탄 – anonmail, kabomb Buffer Overflow Ping Flooding, SYN Flooding, etc DoS 공격 도구 Blood Lust - OOB베이스 공격 도구이며 포트 139를 공격 Bitch Slap - IP주소만 입력하여 주면 되는 간단하면서도 파워 있는 도구 Click - IRC 전문 프러딩 공격 도구 Cyber - ping 기능으로 대량의 패킷을 보내는 공격 도구 http://www.kisec.com
DoS(Denial of Service) Smurf 공격 ICMP echo/reply packets 사용 broadcast networks 주소를 이용하여 트래픽 급증 Internet Perpetrator Victim ICMP echo : source(Victim’s IP), destination(broadcast addr of bounce site) bounce site ICMP echo reply ... http://www.kisec.com
DoS(Denial of Service) Land Source 주소를 공격 대상자 자신의 IP 및 port로 지정하여 패킷 전송 패킷을 받은 시스템은 루프 상태에 빠지는데 시스템의 IP 스택에 심각한 장애 유발 BSDI 2.1 vanilla, FreeBSD 2.2.x, 3.0, HP-UX 10.20, NetBSD 1.2, OpenBSD 2.1, SunOS 4.1.4, Cisco 2511 대책 : 라우터에서 내부 IP를 가진 외부 트래픽 제한 http://www.cisco.com/warp/public/770/land-pub.shtml “Ping of Death”, ping flooding packet fragmentation and reassembly 취약점 이용 매우 큰 ping 패킷 전송 # ping -s 65507 hostname 시스템의 IP 스택에 심각한 장애 유발 대책: 패치설치(www.sophist.demon.co.uk/ping/ 참조) http://www.kisec.com
DoS(Denial of Service) SYN Flooding 많은 수의 half-open TCP연결을 시도하여 상대 호스트의 listen queue를 가득 채움 TCP 서비스 연결 거부 dns.target.com 많은 수의 SYN 패킷 전송: source(nonexisting host) destination(target.host) SYN/ACK 전송: destination(nonexgisting host) 그리고 ACK가 올때까지 기다림 ack_waiting, ack_waiting, ….. flat# telnet 200.227.32.15 Trying 203.227.32.15... Connected to 203.227.32.15. Escape character is '^]'. SunOS UNIX (test) login: Login timed out after 60 seconds Connection closed by foreign host. flat# test#synf 1.1.1.1 2000 203.227.32.15 23 SYN flooding from 1.1.1.1 to 203.227.32.15.23 http://www.kisec.com
DDoS(Distributed Denial of Service) 포트스캔 공격 특정포트나 특정트레픽상의 Byte Pattern recognition의 변경 공격 크래커 공격시 사용하는 모든 명령어는 암호화 되어 사용 TCP/IP, ICMP등의 포트를 수시로 변경하며 공격 DDoS 공격 도구 trin00 TFN(Tribed Flood Network) TFN2000 (TFN2K) Stacheldraht http://www.kisec.com