블로그 내의 모든 예시와 실습은 VMware workstation16.2.3, Kali Linux 2022.03, GNS3, Window XP, Window 2003을 활용 합니다.

ARP Spoofing(= ARP Cache Poisoning)

  • Host의 ARP Cache의 IP에 해당하는 MAC주소를 변조하여 데이터의 흐름을 공격자로 유도하는 공격
  • 공격 형태
    • 변조한 ARP를 이용하여 공격 한다.
    • ARP Spoofing : Host <-> Host 공격
    • ARP Redirect : Host <-> Router 공격
  • 공격 목적
    • Sniffing -> 피해자의 데이터 획득 및 통신 경로 변경
  • MAC주소를 이용하여 흐름을 변경 -> Layer 2 Sniffing
  • 차후 진행될 공격의 사전공격으로 활용 된다.
  • 특징
    • ARP Cache의 재 변경을 막기 위해 공격을 수행하는 동안 변조된 ARP를 짓속적으로 전송한다.
      • ARP Storm 현상

공격에 이용되는 취약점

  • ARP의 인증 부재 -> ARP의 메커니즘에 인증 기능이 없다.
  • ARP Cache Table은 최신 정보를 실시간 업데이트 한다.

한계

  • Local Network에서만 공격이 가능 하다. -> 공격자와 피해자가 같은 네트워크에 위치해야 한다.

Tools

  • arpspoof, ettercap,Cain & Abel…

ARP Spoofing 공격 원리 - 정상 통신

  • ARP Table의 MAC 주소를 이용해 데이터 전달
  • 통신할 대상에게만 데이터 전달

ARP Spoofing 공격 원리 - 공격

  • Attacker -> 변조한 ARP Reply를 공격 대상에게 전송 한다.
  • Victim -> 공격자의 ARP Reply 때문에 통신 대상의 IP주소에 매치되는 MAC주소가 공격자로 변경 된다.

Forwarding -> MITM 형태의 공격

  • Sniffing한 데이터를 본래의 목적지로 재전송 한다.
  • 공격자는 정상 통신 경로의 중간에서 데이터를 획득 한다. -> 사용자는 정상통신을 수행한다.
  • Forwarding을 수행하지 않으면 Dos 공격이 된다.

Software Forwarding

  • Forwarding 동작을 수행할 수 있는 프로그램을 이용하여 재전송 한다.
  • 프로그램에 의한 Forwarding 동작이므로 오작동 할 확률이 높다.

  • #fragrouter [optin]
  • #fragrouter -B1 (Base-1 : 일반 Forwarding)

Kernel Forwarding

  • 시스템 Kernel의 Routing 기능을 활성화 하여 재전송 한다.
  • 하드웨어 적이 Forwarding 동작이므로 오작동 할 확률이 낮다
  • Linux Kernel Forwarding
    • /proc/sys/net/ipv4/ip_forward값을 1로 설정
      • #echo 1 > /proc/sys/net/ipv4/ip_forward
      • #sysctl net.ipv4.ip_forward=1
  • Windows Kernel Forwarding
    • Registry 변경 또는 Routing 서비스 활성화
      • 실행 -> regedit -> \HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\IPEnableRouter 값을 1로 설정한다.

구성도

arp spoofing1

XP -> 2003 ARP Cache 확인

arp spoofing1

arpspoof 설치

arp spoofing3

저 명령어로 설치한다 저는 이미 설처 완료 Do you want to install it? (N/y)가 나오면 y 후 enter

arpspoof 공격

arp spoofing4

2003에서 arp 확인

arp spoofing5

kali의 ip주소와 xp의 ip주소의 mac주소가 동일한 것을 확인 할 수 있다.

다시 2003으로 ping통신

arp spoofing6

ping 통신이 안되는 것을 볼 수 있다.

fragrouter 설치

  • kali에서 fragrouter를 설치한다.

arp spoofing7

arp spoofing 다시 공격 fragrouter 실행

arp spoofing8

xp에서 icmp 확인

arp spoofing9

kali에서 wireshark 실행 후 xp icmp 통신

arp spoofing10

arp spoofing을 통해 xp에서 2003으로 icmp 통신을 하는 것을 해커인 kali에서도 확인 할 수 있다