본문 바로가기

Theory/Infrastructure & Network

ARP Spoofing에 대해서

ARP(Address Resolution Protocol) 에 대해서

  • 정의: 네트워크 상에서 IP 주소를 물리적 MAC 주소로 대응 시킬 때 사용하는 프로토콜
  • 목적: 단말기 간 데이터 송수신을 위해 필요한 목적지 MAC 주소 확보
  • ARP 테이블: ARP를 통해서 얻어낸 IP 주소와 MAC 주소가 1:1로 대응된 정보를 관리하는 테이블스위치, 단말기 모두 ARP 테이블을 각각 가지고 있음

 

ARP 동작 원리에 대해서

  • 상황: PC 0(192.168.1.1) → PC 2(192.168.1.3)에게 데이터를 전달하려는 상황
  1. PC0의 Routing Table 확인PC2의 네트워크 환경이 같은 LAN임을 확인
  2. PC0에서 ARP Request 송신 (Broadcast)PC2의 MAC 주소 확보를 위해 ARP Request(Who has 192.168.1.3? Tell 192.168.1.1)에 대해 브로드캐스팅 수행같은 LAN 환경의 모든 단말기에 ARP Request가 전달참고: Broadcast(FF:FF:FF:FF:FF:FF)인 ARP Request를 날리고 PC 1, PC 2, PC 3에 전달됩니다.
  3. ARP Request 정보를 전달받은 PC2가 이에 반응하여 ARP Response(본인의 MAC 주소) 송신 (Unicast)
  4. PC0(192.168.1.1)은 PC2의 ARP Reponse로 ARP Table에 PC2의 IP 및 MAC 주소 등록이후 데이터 송신부터는 해당 ARP Table를 활용

 

ARP Spoofing에 대해서

  • 정의: MITM 공격 중 하나로, 중간에서 ARP 패킷을 변조해 피해자 PC의 ARP 테이블에 공격자 PC의 Address와 MAC 주소가 등록되도록 하는 공격 기술
  • 취약점: ARP Reply 패킷은 별도 검증을 수행하지 않는 점을 악용
  • 목적: 피해자의 ARP 테이블 감염 → 중간에서 패킷을 탈취해 정보를 복호화하여 활용하거나 변조된 패킷을 반환하는 등 다양한 공격으로 활용할 수 있음

 

ARP Spoofing 동작 원리에 대해서

ARP Request Payload의 구조

  • opcode: 1 (request)
  • Source MAC: 출발지의 MAC 주소
  • Source IP: 출발지의 IP 주소
  • Target MAC: 00:00:00:00:00:00 (ARP 테이블에 대응되는 MAC 주소가 없을 경우, 00 으로 표기)참고: Ethernet의 Dest Mac 주소는 FF:FF:FF:FF:FF:FF (브로드캐스팅을 위해)
  • Target IP: 도착지의 IP 주소

 

ARP Reply Payload의 구조

  • opcode: 2 (reply)
  • Source MAC: 응답하는 호스트(원래 Target이었던)의 MAC 주소
  • Source IP: 응답하는 호스트의 IP 주소
  • Target MAC: 원래 요청을 보낸 호스트의 MAC 주소
  • Target IP: 원래 요청을 보낸 호스트의 IP 주소

 

1) (Router→LAN, ARP Request) Router에서 Victim에 대한 ARP Table 확보를 위해 ARP Request 패킷 송신

2) (Attacker→Router, ARP Reply) Attacker가 중간에서 Router에게 ARP Reply 패킷 반환 → Router의 ARP 테이블에 Attacker 정보 등록

3) (Attacker→Victim, ARP Request) Attacker가 Router인 척 Victim에게 ARP Request 패킷 송신

4) (Victim→Attacker, ARP Reply) Victim은 Attacker에게 ARP Reply 패킷 반환

 

 

[ARP Spoofing 이후]

  • Router인 척 패킷을 중계하면서 지속적인 패킷 스니핑
  • 원하는 정보를 다 탈취했다면, 더 이상 스니핑 할 필요없이 네트워크 중단 시키는 등 다양한 공격 시나리오 성립 가능

 

[ARP Spoofing 공격 예시]

  • 상단에 방화벽이 별도로 없는 고객사의 장비에서 다양한 경로(오픈소스 다운로드 등)로 ARP Spoofing 공격 서버로 변질됨
  • 변질된 ARP Spoofing 공격 서버를 활용해서 상단 네트워크 장비들의 ARP 테이블을 변조 시키는 방식으로 주로 침투됨
  • 따라서, 변질된 ARP Spoofing 공격 서버에 대한 물리적 랜선 분리 혹은 스위치에서 해당 포트를 링크 다운 시키는 방식으로 대응 필요