ARP Sniffing & Spoofing [공격기법] 이론 , 실습
이번 포스터에선 ARP Sniffing 과 ARP Spoofing에 대해 써보려고 합니다.
이론
일단 Sniffing은 코를 킁킁거리다 라는 뜻으로 네트워크 상에서 자신을 제외한 남들이 패킷교환하는 것을 훔쳐보는 것을 말합니다.
Snooping은 기웃거리다 라는 뜻으로 네트워크 상에 떠도는 정보를 몰래 가로채는 행위를 말합니다.
하지만 공격방법이 점점 대양해 지면서 Spooping 가로채는 행위를 넘어서 네트워크 상에 거짓된 패킷을 발송하는 행위를 의미합니다.
ARP Redirect(ARP Sniffing)은 공격대상 컴퓨터가 보내는 모든 정보를 공격자 컴퓨터에게 보내게 한다음,
그 정보를 감청하는 것이 가능합니다.
ARP Spoofing은 ARP Redirect한 상태에서 패킷을 감청하는 것에 그치지 않고 패킷의 내용을 수정해 버립니다.
예를 들어 A가 B에게 '안녕'이라는 메시지를 보냈는데, Spoofing을 통해 '잘가'라는 메시지를 보낸 것처럼 속일 수 있습니다.
======================================================================================================
실습1 : 기본 ARP redirect
실습환경 구축하기
VMware로 Kali Linux(공격자), Win10, Ubuntu Linux(공격대상)을 구동했습니다.
VMware network 는 bridge로 연결했습니다
공격시나리오는 다음과 같습니다.
1. Kali Linux가 arpspoof프로그램을 이용해 Window10의 ARP table을 감염시킵니다.
2. Kali 로 Window10에서 Ubuntu로 telnet을 통해 root login 하는 것을 감청하여 Ubuntu의 password를 알아낼 예정입니다.
일단 각 PC의 ARP table을 확인하여 서로를 제대로 인식하는지 알아보겠습니다.
네 잘 인식하고 있습니다.
여기서 공격자인 Kali로 Window10의 ARP table을 조작하겠습니다.
kali linux에 기본적으로 설치되어있는 arpspoof라는 프로그램으로 아주 간단하게 실습할 수 있습니다.
arpspoof -i eth0(인터페이스 이름) -t 192.168.1.106(목적지) 192.168.1.106(속일 IP)를 입력하시면 됩니다.
192.168.1.106(Window10)에 192.168.1.106의 MAC주소는 자기자신(Kali : 192.168.1.105)이라고 속인다는 의미입니다.
이렇게 ARP reply를 계속 보내서 Window10이 192.168.1.106이 누구냐고 ARP request를 보낼 때,
192.168.1.106의 원래 주인컴퓨터의 MAC주소가 아닌 자신의 MAC주소를 보냅니다.
결론적으로 Window10은 192.168.1.106은 원래 Ubuntu지만 Kali로 인식하는 것입니다.
확인해 보겠습니다
보이시나요? ~.103은 Kali이고, ~.106은 Ubuntu였지만, MAC주소는 둘 다 Kali의 MAC주소로 바뀌였습니다!!
이렇게 되면 이 Window10은 .106인 Ubuntu에게 데이터를 보내게 되면, 데이터가 Ubuntu에게로 가지 않고
~.103인 Kali로 보내지게 됩니다. (왜냐하면 IP주소로 통신하는 것이 아니라 MAC주소로 통신하기 때문입니다)