본문 바로가기
보안프로젝트

ARP 스푸핑

by L3m0n S0ju 2021. 5. 15.

ARP 스푸핑이란?

ARP IP 주소 값으로 MAC 주소 값을 알아내는 프로토콜이다. 여기서 ARP 스푸핑이란 MAC 주소를 Spoof(도용하다)하는 것이다. 예를 들어 아래 그림과 같이 희생자, 공격자, 웹 서버가 있다고 가정하자.(모두 같은 네트워크에 있다고 가정한다.)

 

희생자 IP: 192.168.0.7, 윈도우 10

공격자 IP: 192.168.0.4, Kali linux 2021.1

웹서버 IP: 192.168.0.5, Bee box v1.6

 

 

희생자 PC는 웹 서버에 접근하기 위해 웹 서버의 MAC 주소를 ARP 테이블에서 찾는다. 만약 ARP 테이블에 없으면 브로드캐스트로 해당 ip를 가진 장치를 찾고 MAC 주소를 알아낸다. 여기서 공격자가 희생자 PC에 웹 서버의 MAC 주소가 공격자의 MAC 주소라고 거짓 정보를 흘리면 희생자는 웹 서버로 접속하면 공격자에게 접근하게 된다. 공격자는 희생자 PC와 웹 서버의 중간에서 모든 데이터를  볼 수 있고 이를 MITM(중간자 공격)이라고 한다.


 

fragrouter -B1 명령어로 웹 서버와 희생자 PC의 통신이 끊어지지 않도록 포워딩한다.

 


 

희생자 PC의 cmd 창에서 arp -a 명령어로 ARP 테이블을 확인하면 웹 서버의 MAC 주소는 아래와 같이 a6으로 끝난다.

 


다음으로 ARP 스푸핑 공격을 시도한다.

 


 

다시 희생자 PC에서 ARP 테이블을 확인하면 웹 서버 MAC 주소 가장 뒤가 c4로 바뀐 것을 볼 수 있다. MAC 주소가 변조되었음을 알 수 있다.

 


이제 ARP 스푸핑을 통해 어떠한 공격이 이루어지는지 살펴보겠다. 공격자 PC에서 WireShark를 실행하고 희생자 PC에서 웹 서버에 로그인하겠다. 아래 화면과 같이 아이디는 victim 비밀번호는 asd123이다.

 

 


 

로그인 후 공격자 WireShark에서 로그인 패킷을 찾아낸다. 아래 그림과 같이 /gmshop/login_ok 패킷을 찾아냈다.

 


 

위에서 찾아낸 패킷의 Flow의 TCP Stream에서 pwd를 검색하면 아래 그림과 같이 아이디와 비밀번호를 획득할 수 있다.

 

 

댓글