min8282

[공통과정] 네트워크 해킹/스니핑(Sniffing)(feat. Spoofing) 본문

K-Shield.Jr

[공통과정] 네트워크 해킹/스니핑(Sniffing)(feat. Spoofing)

min8282 2024. 7. 14. 17:13

스니핑(Sniffing)이란?

  • 네트워크 트래픽을 도청하는 해킹 기법
  • 대상 몰래 도청만 하므로 피해 여부를 인지하거나 탐지하기 어렵다.
  • 스위치 환경에서 스니핑을 하기 위해서는 스위치에 선행 공격이 필요하다.
    1. 스위치 재밍(Switch Jamming)
    2. ARP 스푸핑(ARP Spoofing)
    3. ARP 리다이렉트(ARP Redirect)
    4. ICMP 리다이렉트(ICMP Redirect

1. 스위칭 재밍

  • 스위치에서 관리하는 MAC 주소 테이블의 버퍼를 오버플로우 시켜 스위치가 더미 허브처럼 동작하게 만드는 기법

2. ARP 스푸핑

  • 공격자가 통신 대상자인 것처럼  MAC 주소를 위조하여 상대방의 데이터 패킷을 중간에서 가로채는 중간자 공격 기법

3. ARP 리다이렉트

  • 공격자가 통신 대상자인 것처럼 MAC 주소를 위조하여 상대방의 데이터 패킷을 주악넹서 가로채는 중간자 공격 기법

4. ICMP 리다이렉트

  • ICMP 리다이렉트 메시지를 이용하여 라우팅 경로를 재설정하도록 하여 데이터 패킷을 가로채는 공격 기법

스니핑 환경)

1. 더미 허브(Dummy Hub)

  • 단순 네트워크 연결 및 신호 증폭 기능을 가진 네트워크 장비
  • 브로드캐스트를 통해 연결된 모든 장비에 패킷 전달
    • 브로드캐스트(1:N 통신), 유니캐스트(1:1 통신), 멀티캐스트(N:N 통신)
  • 최근에는 거의 사용되지 않음

2. 스위치 허브(Switch Hub)

  • 네트워크 연결 및 스위칭 기능을 가진 네트워크 장비
  • 들어온 데이터 프레임을 확인하여 목적지에만 데이터 프레임 전송

스위치 허브더미 허브와 다르게 브로드캐스팅유니캐스팅 두 가지 방식이 가능하다.


프로미스큐어스 모드

기본 모드

  • 들어온 패킷 데이터의 2계층 주소(MAC)와 3계층 주소(IP)를 확인하여 필터링 수행
  • 패킷의 IP, MAC 주소를 확인하여 버퍼에 저장할 지 여부를 결정하며 자신의 것과 일치하지 않으면 무시함

그림1. 기본 모드 예시

프로미스큐어스 모드

  • 들어온 패킷 데이터의 모든 필터링(2계층, 3계층)을 해제하는 모드
  • 네트워크 감시 목적으로 사용됨
  • 유닉스/리눅스 운영체제에서는 랜 카드에 대한 모드 설정 지원

그림2. 프로미스큐어스 모드 예시


스푸핑(Spoofing)

ARP(Address Resolution Protocol)란?

  • 네트워크 상에서 IP 주소를 물리적 네트워크 주소(MAC)로 대응시키기 위해 사용하는 프로토콜이다.
  • 내부 네트워크에선 IP 주소가 아닌 MAC 주소를 통해 통신이 이뤄진다.
  • 내부 호스트는 대상의 MAC 주소를 알아내기 위해 ARP 메시지를 수/발신한다.

ARP를 사용하는 이유?

ARP 스푸핑 ARP 리다이렉션내부 네트워크에서 네트워크를 도청 또는 해킹하는 기법이다. 내부 내트워크에선 IP 주소가 아닌 MAC 주소를 통해 통신이 이뤄지기 때문에 IP 주소를 MAC 주소로 대응시키는 프로토콜인 ARP를 사용하는 것이다.

 

ARP 동작 원리

  • ARP는 ARP 캐시 테이블에 IP 주소와 MAC 주소를 대응시켜 저장한다.
  • 호스트는 통신 전 ARP 테이블을 확인 후 통신을 수행한다.
    • 통신할 때마다 ARP 메시지를 보낼 경우, 네트워크 내 과부화가 걸릴 수 있기 때문에 통신 전 ARP 테이블을 확인하는 것
  • 발신자는 목적지의 물리주소(MAC)를 알기 위해 목적지를 특정 값(ex. ffff.ffff.ffff.ffff)으로 지정하여 전송한다.
  • 스위치는 연결된 모든 포트에 ARP Request 메시지를 브로드캐스트를 수행한다.
  • ARP Request 메시지를 수신한 호스트는 발신자의 정보를 저장하며, 자신에 대한 요청인지 확인 후 ARP Reply를 수행한다.

ARP Spoofing이란?

  • ARP 스푸핑은 공격자가 네트워크 상의 두 장치 사이에 위치해 자신을 중간자(MITM, Man-In-The-Middle)로 만들어 트래픽을 가로채거나 조작하는 공격 기법이다.

ARP Spoofing 원리

  • 공격자가 통신 대상자인 것처럼 MAC 주소를 위조하고 상대방의 ARP 캐시 테이블을 오염시키는 원리다.
  • ARP Request를 보내지 않은 호스트에게 ARP Response를 전달할 수 있다. (ARP는 Stateless한 프로토콜)
    • Stateless 프로토콜 : 어떠한 이전 요청과도 무관한 각각의 요청을 독립적인 트랜잭션으로 취급하는 통신 프로토콜로, 통신이 독립적인 쌍의 요청과 응답을 이룰 수 있게 하는 방식이다.
  • 발신자에 대한 인증을 하지 않고 ARP 정보를 받는다. -> 발신자에 대한 인증 매커니즘이 없음 -> 취약점!
  • 따라서, ARP Request 발생 여부와 상관 없이 공격자가 보낸 위조된 ARP Response로 인하여 대상의 ARP Cache Table이 오염된다.

ARP Spoofing 시나리오)

  1. 공격자는 대상의 ARP 캐시 테이블을 오염시키기 위해 위조된 ARP Response 전송한다.
  2. 대상의 ARP 캐시 테이블이 오염되면 대상은 의도치 않게 공격자에게 통신 데이터를 전송한다.
    • 통신 데이터는 공격자에게 발송되므로 대상자는 아무것도 수신하지 못한다.
  3. 공격자는 IP Forwarding 기능을 활용하여 라우터처럼 동작하며 데이터를 확인하고 원래 대상에게 전달까지 수행한다.
    • 실제 발신자와 수신자는 정상적으로 통신하는 것처럼 보이나 공격자는 중간에서 모든 데이터를 확인할 수 있다.
  4. 공격자는 중간자의 위치에서 모든 데이터를 보고 조작할 수 있다.

그림3. ARP Spoofing


ARP Redirect란?

  • 공격자가 자신이 라우터라고 속여서 피해자들의 패킷이 공격자를 거친 후 라우터로 가도록 하는 공격
  • ARP 리다이렉트는 네트워크 장치(예: 라우터)가 특정 패킷을 특정 방향으로 전송하도록 네트워크 트래픽의 경로를 변경하는 것을 의미합니다. 이는 주로 네트워크 관리자가 트래픽을 특정 경로로 유도하기 위해 사용됩니다.

그림4. ARP Redirect

ARP Spoofing과 ARP Redirect 차이점

  1. 목적
    • ARP 스푸핑: 주로 악의적인 목적 (트래픽 가로채기 및 조작)
    • ARP 리다이렉트: 네트워크 관리 및 최적화
  2. 수행 주체
    • ARP 스푸핑: 공격자
    • ARP 리다이렉트: 네트워크 관리자 또는 라우터
  3. 결과
    • ARP 스푸핑: 중간자 공격으로 인해 데이터 유출 또는 변조 가능
    • ARP 리다이렉트: 네트워크 트래픽의 최적 경로 설정 및 관리

이러한 차이점으로 인해 ARP 스푸핑은 네트워크 보안 위협으로 분류되며, ARP 리다이렉트는 네트워크 관리 기법 중 하나로 사용된다,