본문 바로가기

해킹-보안

ARP spoofing 공격 실습

반응형

ி ARP Spoofing 개요


ARP Spoofing을 수행하면 피해자의 ARP Cache Table을 조작하여
공격자를 게이트웨이로 인식하게 만든다.
공격자는 피해자와 게이트웨이간 통신을 도청하거나 조작할 수 있으며
이를 중간자 공격이라고도 한다.



ி ARP Spoofing 공격



실습 환경


공격자는 ARP 스푸핑으로 피해자(윈도우 사용자)가 톰캣 홈페이지에 계정을 로그인하는
정보를 탈취한다.




정상적인 통신 절차라면 피해자와 웹 서버는 게이트웨이를 거쳐 통신하는데
이때 공격자가 피해자한테 자신이 게이트웨이라고 거짓 ARP reply를 보낸다.
그러면 아래처럼 피해자 라우팅 테이블의 게이트웨이 MAC 주소가
공격자의 MAC 주소로 설정된다.

공격 후의 패킷 흐름을 살펴보자면 아래와 같다.
Window[피해자] -> Kali[공격자] -> Gateway

피해자는 자신도 모르게 공격자를 통해서 통신이 이루어지면서 데이터를 도청당하게 된다.

실습을 위해 공격자인 칼리와 피해자인 윈도우 그리고 웹 서버를 준비한다.

칼리리눅스에서 ARP 스푸핑을 위한 프로그램을 설치한다.
# apt-get install dsniff
# apt-get install fragrouter

피해자의 라우팅 테이블 G/W 맥주소를
공격자인 칼리의 맥주소로 업데이트하기 위해 아래 명령을 수행한다.
# arpspoof -i 인터페이스 –t [희생자ip] [게이트웨이ip]
# arpspoof -i eth0 -t 192.168.111.10 192.168.111.2

arpspoof 명령을 내리면 피해자에게 주기적으로 arp reply 패킷을 전송한다.
아래 패킷을 통해서 확인할 수 있다.


공격자의 arp reply로 인해 윈도우 라우팅 테이블은 공격자의 MAC으로 변조 됐으며
공격 전 MAC 주소는 좌측 화면, 공격 후 바뀐 MAC은 우측 화면에 있다.


앞서 진행한 내용은 요청 패킷에 대한 arpspoof 명령만 해준 것이다.
응답 패킷에 대한 arpspoof를 설정하지 않으면
응답 내용이 그대로 피해자에게만 전달되니
공격자는 아래 명령으로 게이트웨이도 arpspoof를 해야한다.
# arpspoof -i 인터페이스 –t [게이트웨이ip] [희생자ip]
# arpspoof -i eth0 -t 192.168.111.2 192.168.111.10


공격자는 이제 요청/응답을 받을 수 있는 상태가 됐지만
현재 피해자 측에서는 외부와 통신이 되지 않는다.

공격자가 데이터를 받기만 하고 외부로 전달하지 않아서 그런 것이므로
받은 데이터를 그대로 외부에 전달해주면 된다.

타겟 시스템에서 패킷이 발생하면 해당 패킷은 공격자에게 전송되고
공격자는 해당 패킷을 게이트웨이로 포워딩해야 하는데 이때 사용하는 명령은 아래와 같다.

# fragrouter –B1 


이제 피해자가 활동한 패킷들을 모두 볼 수 있게 되었다.
타겟 시스템에서 톰캣에 로그인 했을 때 공격자에서 계정 정보 등이 확인 가능하다.








반응형