본문 바로가기

인터넷보안

스니핑 (Sniffing)

▶ 스니핑 (Sniffing) 

  • 데이터 속에서 정보를 찾는 것
  • 수동적 공격 (Passive Attack) 이라고도 부른다.

 

※ 정상적인 네트워크 패킷 필터링

 

  • Data Link Layer와 Network Layer의 정보가 모두 자신의 것과 일치하는 패킷을 수신하는 것이 일반적.
  • 즉, 자신에게 오는 패킷 (MAC, IP 주소가 자신의 것) 만 받는다.
  • MAC, IP 주소가 다른 경우 필터를 통해 패킷을 차단한다.

 

※ 네트워크 필터링 해제 상태

 

  • 정상적인 상태에서는 필터를 통해 자신의 MAC, IP 주소가 아닌 패킷은 차단
  • 네트워크 필터링을 해제한 상태에서는 모든 패킷을 수신
  • 프리미스큐어스 모드
    - Data Link Layer와 Network Layer의 필터링을 해제 → 스니핑 가능
    - 네트워크 카드를 프리미스 큐어스 모드로 설정
    - 2, 3계층 (Data Link, Network)의 패킷 필터링을 해제

 


 

▶ 스니핑 공격 툴 

※ TCP Dump

  • 네트워크 관찰에 주로 사용되는 대표적인 스니핑 툴
  • 불법 해킹보다는 네트워크 관리자의 느낌
  • Snort IDS 기반
  • TCP Dump로 획득한 자료에는 법적 효력이 있다.

 

※ fragrouter

  • 스니핑 보조 툴
    - 스니핑한 패킷을 원래 주소지로 다시 전송 (스니핑 공격을 하지 않은 척)

 

※ 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, SymantecpcAnywhere, MS SQL, auth, info

 


▶ 스위치 환경에서의 스니핑 

※ Switch vs. Hub

 

  • Hub : 패킷을 모든 Port에 전송
    Switch : 테이블을 통해 해당하는 Port에만 패킷 전송
  • Hub가 모든 Port에 패킷을 보내 네트워크 대역폭을 낭비하는 것을 방지하기 위해 Switch가 등장.
  • Switch에는 네트워크에 존재하는 Port에 대한 MAC 주소 테이블이 존재

 


 

▶ ARP 리다이렉트 (Spoofing) 

ARP 리다이렉트

 

※ ARP 리다이렉트 사전 지식

네트워크에는 Router가 있으며, Router는 네트워크 간 연결되는 길 or 길잡이 역할을 한다.

따라서, 한 네트워크에 소속된 시스템에서 다른 네트워크와의 연결을 위해서는 Router를 거쳐 통신을 하게 되는데,

공격자는 해당 구조의 약점을 이용한 ARP 리다이렉트 공격을 진행할 수 있다.

 

따라서, 네트워크에 존재하는 시스템은 외부 네트워크와의 연결을 위해 Router의 주소를 알아야한다.

이를 위해 사용하는 것이 ARP Request 패킷으로, Router의 주소를 획득하기 위한 패킷을 전송하게 된다.

 

이 때, 공격자 시스템은 네트워크 패킷 필터링을 해제한 상태이기 때문에,

ARP Request 패킷이 공격자 시스템을 향하는 패킷이 아니더라도, 중간에 필터링 되지 않고 획득할 수 있다.

 

이 ARP Request 패킷에 응답하는 패킷은 ARP Reply 패킷으로, 시스템이 ARP Request를 통해 Router의 주소를 요청하였으며,

ARP Reply 패킷을 통해 획득한 MAC 주소를 Router의 MAC 주소로 인식한다.

 

 

※  ARP 리다이렉트 공격 과정

  1. 공격자 시스템의 MAC 주소를 Router의 MAC 주소라고 속여 주기적으로 ARP Reply 패킷을 전송한다.
    (네트워크의 다른 시스템, PC들에게)
  2. 공격자의 주기적인 ARP Reply 패킷으로 인해 시스템은 공격자의 MAC 주소가 Router의 MAC 주소로 인식.
    패킷을 공격자에게 전송한다.
  3. 공격자는 패킷을 스니핑하여 습득한 후, 스니핑한 사실을 알아채기 힘들도록 정상적인 척 Router에게 패킷을 전달한다.

 


 

▶ ICMP 리다이렉트 

  • Network Layer(3계층)에서 자신이 네트워크에 존재하는 또 다른 Router 라고 알려 패킷의 흐름을 변경하는 공격
  • 일반적으로 네트워크에는 Router / Gateway 가 1개
    1개로는 감당하기 힘들 경우, 추가적인 Router / Gateway 를 운영한다.

 

※  ICMP 리다이렉트 기본 동작

  1. 호스트A는 Router A가 기본으로 설정,
    Router B의 네트워크에 있는 호스트 B에게 패킷을 전송할 때에도 Router A에 전송한다.
    (비효율적인 경로여도 기본 설정인 Router A를 사용)
  2. Router A는 호스트B에 전송하는 패킷은 Router B에 직접 전송하는 것이 더 효율적이라고 판단.
    해당 패킷을 Router B로 전송
  3. Router A는 호스트B에게 전달되는 패킷이 앞으로 자신이 아닌 Router B에게 전달되도록
    호스트A에게 ICMP 리다이렉트 패킷을 전송.
    (호스트A가 앞으로 호스트B로의 패킷을 Router B에게 보내도록)
  4. 호스트 A는 Routing 테이블에 호스트B에 대한 값을 추가.
    테이블에 따라 앞으로는 호스트B는 Router B를 통해 패킷 전송

 

※  ICMP 리다이렉트 공격

  • 공격자는 ICMP 리다이렉트 패킷을 공격 대상에게 전송.
  • 공격 대상이 공격자를 Router라고 착각, 테이블에 추가하여 이후 패킷을 공격자에게 전송
  • 공격자는 공격이 발각되지 않도록 Router에게 패킷 전송

즉, ICMP 리다이렉트 패킷을 통해 Router로의 패킷을 공격자에게 보내도록 속이는 것.

 


 

▶ 스위치 재밍 

  • Switch의 MAC 주소 테이블을 기반으로하는 Port 스위칭을 마비시키는 공격
  • 저장 용량 이상의 MAC 주소를 Switch에 전송,
    스위치의 기능을 고장내어 Hub 처럼 모든 Port에 패킷을 전송하도록.
  • 마치, Switch에 MAC 테이블 주소 공간에 대한 Buffer Overflow 공격을 하는 것 같다.

왜 스위치 재밍이 가능한가?

  • Switch에는 Fail Open.
    • Fail Open : 고장 시 열림. (Switch 테이블에 장애 발생했으니, 모두 Open)
    • Fail Close : 고장 시 닫힘. (장애가 발생했을 경우 특정 요소를 차단.)

 


 

▶ 스니핑 탐지 (능동적 보안) 

스니핑 공격은 프러미스큐어스 모드에서 진행된다는 점을 통한 탐지

 

※  ping을 이용한 탐지

  • 네트워크에 존재하지 않는 MAC 주소를 통해 ping 전송
  • 자신의 MAC 주소가 아님에도 ping에 ICMP Echo Reply를 반응하는 시스템이 있다?
    → 패킷 필터를 끄고 스니핑을 진행 중이다.

 

 

※  ARP를 이용한 탐지

  • ping과 마찬가지로 ARP Request를 없는 주소로 전송
  • 이에 응답하는 ARP Response가 오면?
    → 프러미스큐어스 모드이다. = 스니핑 중이다.

 

 

※  DNS를 이용한 탐지

Reverse-DNS lookup

  • ping sweep 을 통한 탐지 방법
    • ping sweep을 보내고, 응답하는 Reverse-DNS lookup 을 감시하여 탐지
    • 대부분의 DNS 서버는 Reverse-DNS lookup을 지원 X
    • 스니핑을 하는 공격자는 Reverse-DNS lookup을 지원하는 경우가 있다.

 

※  ARP Watch 를 이용한 탐지

  • ARP watch : MAC 주소와 IP 주소의 매칭 값을 초기에 저장.
                         해당 값을 변경하려는 패킷이 탐지? → 관리자에게 알려주는 툴
  • nmap을 통해 어떤 시스템이 스니퍼로 동작하고 있는 지 확인 가능하다.

 

▶ 암호화 (수동적 보안) 

※  SSL (Secure Sockets Layer)

  • 암호화된 웹 서핑
  • 최근에는 많은 웹 브라우저에서 사용
    Ex) 웹 쇼핑에서 카드 정보를 보내 구매를 할 때 사용

 

※  PGP, PEM, S/MIME

  • E-mail 전송 시 사용하는 암호화 방법
  • PGP : 내용 암호화에 IDEA 방법을 사용
               IDEA 키, 전자서명에 RSA 알고리즘 사용
  • PEM : 공개키 암호화 표준 (PKCS) 사용, CA에서 안전하게 키를 관리
  • S/MIME : E-mail 표준인 MIME 형식 + 암호화 서비스

 

※  SSH (Secure Shell)

  • telnet 같은 서비스 암호화를 위해 사용.
  • dsniff를 이용해 공격 시 SSH 사용중이어도 공격 당할 수 있다.

 

※  VPN

  • 사설 네트워크로 데이터 암호화가 가능
  • VPN 제공하는 서비스 자체가 해킹을 당하면?
    → 아직 암호화 이전인 데이터가 스니핑 가능

 

 

'인터넷보안' 카테고리의 다른 글

DoS 공격  (0) 2025.04.13
스푸핑 (Spoofing)  (0) 2025.04.11
SNMP  (0) 2025.04.08
OS / 방화벽 탐지  (0) 2025.04.08
스캔 (Scan)  (0) 2025.04.07