1 / 34

스니핑

스니핑. 1. 스니핑 공격이란. Sniff 라는 단어의 의미 ( 냄새를 맡다 , 코를 킁킁거리다 ) 에서도 알 수 있듯이 스니퍼는 “ 컴퓨터 네트워크상에 흘러다니는 트래픽을 엿듣는 도청장치 ” 라고 말할 수 있다 . 그리고 “ 스니핑 ” 은 이러한 스니퍼를 이용하여 네트워크상의 데이터를 도청하는 행위를 말한다 .

donnel
Download Presentation

스니핑

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 스니핑

  2. 1. 스니핑 공격이란 Sniff라는 단어의 의미(냄새를 맡다, 코를 킁킁거리다)에서도 알 수 있듯이 스니퍼는 “컴퓨터 네트워크상에 흘러다니는 트래픽을 엿듣는 도청장치”라고 말할 수 있다. 그리고 “스니핑”은 이러한 스니퍼를 이용하여 네트워크상의 데이터를 도청하는 행위를 말한다. 랜에서의 스니핑은 프러미스큐어스(Promiscuous) 모드에서 작동한다. 랜 카드는 설정된 IP 주소 값과 고유한 MAC(Media Access Control) 주소 값을 가지고 있으며 자신의 랜 카드에 들어오는 프로토콜 형식에 따른 전기적 신호의 헤더 부분, 즉 주소 값을 인식하고 자신의 버퍼에 저장할지를 결정한다. 그러나 스니핑은 자신이 가지지 말아야 할 정보까지 모두 받아들이는 것이다. 이렇듯 자신의 주소 값을 무시하고 모든 패킷을 받아들이는 상태를 프러미스큐어스 모드라고 한다.

  3. 프로미스큐어스 모드로 전환 ifconfig eth0 promisc

  4. 2. 스니핑 공격툴(TCPDump) • TCPDump • 가장 일반적으로 쓰이는 스니핑 도구다. 불법적인 느낌, 해킹이라는 느낌보다는 관리자적인 느낌이 강한 스니퍼다. 처음부터 스니핑을 위한 도구로 개발된 것이 아니라 네트워크 관리를 위해 개발된 툴이다. Snort라는 IDS의 기반 프로그램이기도 하다.

  5. 2. 스니핑 공격툴(TCPDump) • TCPDump를 이용하여 계정과 패스워드 스니핑하기 공격자의 시스템에서 tcpdump를 실행한다. 텔넷 클라이언트에서 서버로 로그인한다.

  6. 2. 스니핑 공격툴(TCPDump) • 텔넷 로긴시 tcpdump 결과 계정 : codekim의 경우

  7. 2. 스니핑 공격툴(TCPDump) • 텔넷 로긴시 tcpdump 결과 패스워드 : tmdrual0의 경우

  8. 2. 스니핑 공격툴(Dsniff) • Dsniff • DSniff는 스니핑을 위한 자동화 도구다. 많이 알려진 툴이며, 단순한 스니핑 도구가 아니라 스니핑을 위한 다양한 툴이 패키지처럼 만들어져 있다. • 많은 이들이 SSL과 같은 암호화를 쓰는 통신이 안전하다고 생각하나, DSniff는 이렇게 암호화된 계정과 패스워드까지 읽어내는 능력이 있다. DSniff가 읽어낼 수 있는 패킷은 다음과 같다. • ftp, telnet, http, pop, nntp, imap, snmp, ldap, rlogin, rip, ospf, pptp, ms-chap, nfs, yp/nis+, socks, x11, cvs, IRC, ATM, ICQ, PostageSQL, Citrix ICA, Symantec pcAnywhere, M.S. SQL, auth, info

  9. 2. 스니핑 공격툴(Dsniff) • Dsniff 설치시 설치되는 툴

  10. 2. 스니핑 공격툴(Dsniff) • Dsniff를 이용하여 여러가지 공격하기 Dsniff 설치

  11. 2. 스니핑 공격툴(Dsniff) • Dsniff를 이용한 패스워드 스니핑 203.247.42.166 에서 jin.hannam.ac.kr로 텔넷을 통해 전달되는 모든 패킷이 보인다. 203.247.42.166 에서 jin.hannam.ac.kr로 FTP 연결을 시도하였으며, 계정과 패스워드가 명시되어 출력된다.

  12. 2. 스니핑 공격툴(Dsniff) • tcpkill을 이용한 세션 끊기 인터페이스 eth0에 RST패킷을 4개씩 보내어 tcp에 대한 연결을 끊는다. 위 화며에서는 텔넷으로 접속하였기 때문에 tcp기반의 텔넷도 연결이 끊어져 버린다.

  13. 2. 스니핑 공격툴(Dsniff) • tcpnice를 이용한 트래픽 속도 느리게 만들기 탐지에 연결된 수신 버퍼의 크기를 8로 알려 송신자의 속도를 느리게 만든다.

  14. 2. 스니핑 공격툴(Dsniff) • urlsnarf를 이용한 웹 서핑 감시 인터넷 사용자가 접속한 서버와 시간등의 정보를 알 수있다.

  15. 2. 스니핑 공격툴 • 윈도우 • 윈도우에서는 프러미스큐어스 모드가 지원되지 않는다. 따라서 기본적으로 스니핑이 지원되지 않으나, WinPCAP과 같은 라이브러리를 이용해서 스니핑이 가능하다. 윈도우 스니퍼는 뛰어난 GUI(Graphic User Interface)를 이용하여 네트워크 상태를 점검하거나 패킷의 통계를 내기 위한 목적으로 많이 쓰인다.

  16. 3. 스위칭 환경에서의 스니핑 • 스위칭 환경에서는 기본적으로 스니핑이 어렵다. 스위치는 2계층 장비다. 2계층 네트워크에서는 원래 허브가 쓰였다. 허브는 랜에서 들어오는 모든 신호를 복사해서 모든 포트에 다시 뿌려주는 역할을 한다. 따라서 브로드캐스트(Broadcast) 패킷인지 유니캐스트(Unicast) 패킷인지에 상관없이 모든 포트에 보내주므로 스니퍼에게 스니핑을 이용한 공격은 간단하다. • 그러나, 스위치는 포트별로 MAC 주소 값을 기록하여 브로드캐스트 패킷을 제외한 모든 패킷은 그 패킷이 목적하는 장비에만 보내어지기 때문에 스니핑을 하기가 어렵다.

  17. 3. 스위칭 환경에서의 스니핑 • ARP Redirect • ARP 리다이렉트 공격은 기본적으로 2계층에서 실시된다. 공격은 위조된 ARP reply 패킷을 보내는 방법을 사용한다. 자신의 MAC 주소가 라우터라며 브로드캐스트를 주기적으로 하는 것이다. ARP 스푸핑는 호스트 대 호스트 공격이며, ARP 리다이렉트는 랜의 모든 호스트 대 라우터라는 것 말고는 큰 차이점이 없다. ARP 스푸핑에서와 마찬가지로 공격자 자신만은 원래 라우터의 MAC 주소를 알고 있어야 하며 받은 모든 패킷은 다시 라우터로 릴레이해 주어야만 한다.

  18. 3. 스위칭 환경에서의 스니핑

  19. 3. 스위칭 환경에서의 스니핑 • ICMP Redirect • 보통의 네트워크는 라우터나 게이트웨이가 하나다. 하지만 하나의 라우터로 이를 감당할 수 없을 때는 어떻게 해야 할까 ? 라우터나 게이트웨이를 두 개 이상 운영해서 로드밸런싱(Load balancing)을 해야 할 것이다. 로드밸런싱을 하는 방법은 다양하다. 시스템의 라우팅 테이블에 라우팅 엔트리를 하나 더 넣어주는 방법도 있으나 ICMP 리다이렉트를 사용하기도 한다. • ICMP 공격은 이러한 경우를 강제적으로 만들어주게 된다. 공격자가 네트워크에 존재하는 또다른 라우터임을 각 호스트에게 알리게 된다. ARP Redirect와 다른 점은 ARP Redirect는 모든 트래픽에 대한 리다이렉트를 가능하게 하지만, ICMP 리다이렉트는 특정한 목적지 주소를 가진 패킷만을 리다이렉트하게 된다.

  20. 3. 스위칭 환경에서의 스니핑 • ICMP Redirect

  21. 3. 스위칭 환경에서의 스니핑 • ICMP Redirect • 1. 호스트 A가 원격의 호스트 B로 데이터를 보낼 때 라우터 A가 디폴트(Default) 라우터로 설정되어 있기 때문에 호스트 A는 원격으로 보내는 모든 패킷을 라우터 A로 보낸다. • 2. 라우터 A는 호스트 B로 보내는 패킷을 수신하고 라우팅 테이블을 검색하여 라우터 B가 호스트 B에 도달하는데, 좀더 효율적으로 호스트 A가 보낸 패킷을 라우터 B로 보낸다. • 3. 라우터 A는 다시 호스트 A가 호스트 B로 향하는 패킷을 자신에게 전달하지 않도록 호스트 A에게 ICMP 리다이렉트 패킷을 보내 호스트 A가 호스트 B로 보내는 패킷이 라우터 B로 바로 향하도록 한다. • 4. 호스트 A는 라우팅 테이블에 호스트 B에 대한 값을 추가하고, 호스트 B로 보내는 패킷은 라우터 B로 전달한다.

  22. 203.247.42.176 203.247.42.1 ce.hannam.ac.kr 203.247.36.37 203.247.42.170 3. 스위칭 환경에서의 스니핑 • ICMP Redirect를 이용한 스니핑

  23. 3. 스위칭 환경에서의 스니핑 공격도구 컴파일 및 실행 공격대상호스트 공격대상호스트가 접속하고자하는 원격서버주소 공격자호스트 게이트웨이 공격도구실행시 tcpdump한 내용 203.247.42.170 -> ce.hannam.ac.kr로 패킷을 보낼때는 203.247.42.1의 기본 게이트웨이를 거치지 말고 203.247.42.176번의 호스트로 패킷을 보내라는 icmp redirect 패킷 내용을 tcpdump로 분석한 것이다.

  24. 3. 스위칭 환경에서의 스니핑 공격대상 호스트에서의 route 명령 공격대상호스트에서 route –C 명령을 치면 ce.hannam.ac.kr호스트로 패킷을 보낼때 게이트웨이가 203.247.42.1이 아닌 203.247.42.176의 공격자 호스트의 ip주소로 변경되어 있는것을 알 수 있다.

  25. 3. 스위칭 환경에서의 스니핑 공격대상 호스트에서의 ce.hannam.ac.kr로 ping메시지 전송 공격호스트에서 fragrouter를 이용하여 icmp패킷 릴레이

  26. 3. 스위칭 환경에서의 스니핑 • 스위치 재밍(switch jamming) • 스위치 재밍(Switch Jamming)은 스위치를 직접 공격한다. • 해킹 공격 중에 버퍼 오버플로우(Buffer Overflow) 공격이 있다. 버퍼 오버플로우 공격은 버퍼를 공격해서 시스템을 다운시키기거나 오작동을 유발하기도 하며, 루트(Root) 권한을 얻어내는 데 쓰이기도 한다. 스위치 역시 하나의 시스템으로 생각할 수 있다. CPU와 같은 연산자가 있으며 MAC 테이블을 저장하기 위한 저장 공간이 있다. • 스위치 재밍은 MAC 테이블을 위한 캐시 공간에 버퍼 오버플로우 공격을 실시하는 것이라고 생각해도 무리가 없다. MAC 테이블이 저장 용량을 넘으면 스위치는 원래의 기능을 잃게 되어 더미 허브와 똑같이 작동한다.

  27. 3. 스위칭 환경에서의 스니핑 • macof로 스위치 재밍 시키기 출발지의 MAC 주소 도착지의 MAC 주소 출발지의 ip주소와 도착지의 ip주소가 모두 0.0.0.0으로 설정되어 있다. 그렇기 때문에 공격이 성공할 수 없을거 같지만 스위치는 2계층 장비이며 ip주소에 대한 MAC 주소 테이블을 가지고 있는것이 아니라 각 스위치 포트에 대한 MAC 주소를 저장공간에 기억하는 것이다. 따라서 ip주소는 어떤 의미도 갖지 않는다.

  28. 3. 스위칭 환경에서의 스니핑 • SPAN 포트 / 태핑(통신장비 도청) • SPAN(Switch Port Analyzer)은 포트 미러링(Port Mirroring)을 이용한 것이다. 포트 미러링이란 각 포트에 전송되는 데이터를 미러링하고 있는 포트에도 똑같이 보내주는 것이다. 주로 IDS를 설치할 때 많이 사용한다. • SPAN은 주로 시스코에서 쓰는 용어이며, 다른 벤더들은 ‘Port Roving’이라 부르기도 한다. • SPAN은 상당히 많은 문제점을 가지고 있어 효과적인 모니터링을 하는 데 많은 어려움이 있다. 이를 해결할 수 있는 방법이 태핑이다. 허브와 같이 포트를 모니터링하기 위한 장비로서 ‘Splitter’라고 부르기도 한다.

  29. 4. 스니핑 공격의 대응책 • 스니퍼 탐지 • 스니핑 공격은 스니퍼를 설치한 이후에는 매우 쉬우며 네트워크에 별다른 이상 현상을 만들지 않기 때문에 사용자가 이를 인지하는 것이 어렵다. 따라서 네트워크 관리자나 보안 관리자라면 주기적으로 네트워크에 스니퍼가 있는지 탐색해 봐야 한다. • 스니퍼에 대한 탐색은 기본적으로 스니퍼가 프러미스큐어스 모드에서 작동한다는 것에서 시작한다.

  30. 4. 스니핑 공격의 대응책 • Ping을 이용한 방법 • 대부분의 스니퍼는 일반 TCP/IP에서 동작하기 때문에 request를 받으면 response를 전달한다. 이를 이용한 방법은 의심이 가는 호스트에 ping을 보내는데, 네트워크에 존재하지 않는 MAC 주소를 위장하여 보낸다. 만약 ICMP Echo reply를 받으면 해당 호스트가 스니핑을 하고 있는 것이다. 왜냐하면 존재하지 않는 MAC 주소를 사용했기 때문에 스니핑을 하지 않는 호스트는 누구도 ping request를 볼 수 없는 것이 정상이다. • ARP를 이용한 방법 • ping과 유사한 방법으로 위조된 ARP request를 보냈을 때 ARP response가 오면 프러미스큐어스 모드로 설정되어 있는 것이다.

  31. 4. 스니핑 공격의 대응책 • DNS 방법 • 일반적으로 스니핑 프로그램은 사용자의 편의를 위하여 스니핑한 시스템의 IP주소를 보여주지 않고 도메인네임을 보여주기 위하여 DNS 이름해석과정(Inverse-DNS lookup)을 수행한다. 따라서, DNS 트래픽을 감시하여 스니퍼를 탐지할 수도 있다. 이 방법은 원격과 로컬에서 모두 사용할 수 있는 방법으로, 테스트 대상 네트워크로 Ping Sweep을 보내고 들어오는 Inverse-DNS lookup을 감시하여 스니퍼를 탐지한다. • 유인(Decoy) 방법 • 스니핑 공격을 하는 공격자의 주요 목적은 계정과 패스워드의 획득에 있다. 보안 관리자는 이점을 이용하여 계속적으로 가짜 계정과 패스워드를 네트워크에 뿌린다. 공격자는 이 계정과 패스워드를 이용하여 접속을 시도하고 이 접속을 시도하는 시스템을 탐지함으로써 스니퍼를 탐지할 수 있다.

  32. 4. 스니핑 공격의 대응책 • ARP Watch • 초기에 MAC 주소와 IP 주소의 매칭 값을 저장하고 ARP 트래픽을 모니터링하여 이를 변하게 하는 패킷이 탐지되면 관리자에게 메일로 알려주는 도구다.

  33. 4. 스니핑 공격의 대응책 • sentinel을 이용하여 스니퍼 찾아보기 sentinel의 –e옵션을 이용하여 존재하지 않는 MAC주소를 이용한 ping메시지를 보내어 스니퍼를 찾는 과정이다.

  34. 4. 스니핑 공격의 대응책(암호화) • SSL(Security Sockets Layer) • 암호화된 웹 서핑을 가능하게 해준다. SSL은 많은 웹 서버 브라우저에 구현되어 있으며 전자상거래 사이트에 접속하여 물건을 구매할 때, 신용카드 정보 등을 보낼 때 사용한다. SSL은 40비트와 128비트 두 가지 암호화 키가 있으며 현재 대부분의 우리나라 금융거래 사이트는 40비트 암호화 방법을 쓰고 있다. • SSH(Secure Shell) • SSH는 telnet과 같은 서비스의 암호화를 위해서 사용된다. 그러나, DSniff를 이용하여 공격하면 SSH를 이용한다고 할지라도 공격당할 수 있다. • PGP(Pretty Good Privacy)와 PEM(Private Enhanced Mail), S/MIME • 메일의 암호화 • VPN(Virtual Private Network)

More Related