본문 바로가기

IT Security/HACKABLE

[Two Greedy] ARP Spoofing

가상으로 구축된 환경 외에 시도하는 것은 엄연히 불법입니다. 모든 책임은 개개인에게 있으니 조심해주세요

안녕하세요 Retain0입니다. 전 시간에 ARP Spoofing 을 통해 DNS Spoofing 연계하는 것까지 배워봤었는데요 오늘은 CLI ( Command Line Interfaces) 기반으로 ARP Spoofing 을 해서 상대방 pc를 훔쳐보는 것만 간단하게 해보도록 하겠습니다. 원리는 같지만 그래도 GUI 기반과 CLI 기반 모두 해보는 것을 공유해드리기 위함입니다.

설명은 전 포스팅 읽어보시면서 참고해주시면 감사하겠습니다. 바로 들어가겠습니다.

① ARP Spoofing Attack

ARP Spoofing 구성도
사진 1 사용자의 mac 주소

ipconfig -all

사진 2 공격자의 mac 주소

ip link show eth0

(사진 1) 과 (사진 2)를 보면 서로 간의 MAC 주소가 틀린 것을 확인할수 있습니다.

사진 3 netdiscover 시작

(사진 3) netdiscover 치면 바로 LAN 구간 대 스캔을 시작

사진 4 " 스캔 된 호스트 목록 "

조금 기다리다 보면 스캔 된 호스트들 목록이 나올 것이다. 위에서부터 게이트웨이 주소, 공격자 주소, 사용자 주소 3개가 출력된 것을 확인할 수 있습니다.

사진 5 포워딩 설정 및 사용자 대상으로 공격

echo 1 > /proc/sys/net/ipv4/ip_forward

(사진 5) 우선 ip 포워딩을 위해 echo 1 > /proc/sys/net/ipv4/ip_forward를 입력해야 함 또는 밑에 사진처럼 " fragrouter -B1 "이라고 입력해도 됨 IP 포워딩 이랑 --> 라우팅 하겠다는 걸 의미합니다.

사진 5 fragrouter를 이용한 ip 포워딩

 fragrouter -B1

(사진 5) fragrouter를 이용한 ip 포워딩

사진 6 반대로 게이트웨이를 대상으로 공격

arpspoof -i eth0 -t 192.168.0.1 192.168.0.158
-i interface 지정
-t  타겟 지정

사용자를 대상으로 공격 실시하고 반대로 게이트웨이를 대상으로도 공격을 해야 함

※ 사용자 대상으로 공격을 실시하는 창은 꼭 유지시키는 상태에서 새 창을 띄워서 수행하셔야 합니다. 팁을 드리자면 ctrl + shift + t 누르시면 옆에 새 탭으로 창이 생깁니다.

사용자와 게이트웨이 주소에 arp reply를 연속적으로 던지면서 table에는 공격자가 원하는 mac 주소로 변경이 되어 있을 겁니다.

사진 7 변경된 mac 주소

(사진 7) 사용자 pc에서 " arp -a " 를 통해 mac 주소를 확인해본 결과 게이트웨이 주소 --> 공격자의 주소로 변경되어 있는 것을 확인할수 있습니다, 사용자는 이러한 공격을 받았는지는 직감적으로 알 수 없다. 하지만 보안에 대해 좀 눈이 뜬 자라면 ping 을 던져보거나 netstat 또는 arp 확인을 통해 원인을 알아낼 것입니다. mac 주소의 충돌로 인해 사용자 pc는 인터넷이 안되는 상황일 테니말이죠

사진 8 arp 이후 연계 공격

urlsnarf -i eth0
-i interface 지정

(사진 8) ARP Spoofing 이 되 상태에서는 사용자가 무엇을 하든지 공격자를 통하게 됩니다, 공격자는 " urlsnarf " 을 사용해 http를 훔쳐서 사용자가 어떤 사이트 주소를 보고 있는지 url 을 출력해줍니다.

사진 9 arp 이후 연계 공격

tcpdump src 192.168.0.158 and port 80

(사진 9) 전 시간에 해봤지만 마찬가지로 tcpdump를 통해 패킷을 갈취해올 수도 있음

사진 10 arp 이후 연계 공격

driftnet -i eth0
-i interface 지정

(사진 10) " driftnet " 을 통해 사용자가 어떤 화면을 보고 있는지도 알 수가 있습니다, 단 섬세하게 출력이 되진 않고 사진 위주로 어느 페이지 인지 유추가 가능할 정도

사진 11 driftnet의 화면

우측이 사용자 pc인 windows7이며 좌측이 공격자 pc의 화면입니다. 이처럼 사용자의 화면을 실시간으로 염탐할 수 있는 기능을 가지고 확인할수가 있습니다.


오늘은 여기까지만 해보도록 하겠습니다. ARP Spoofing의 경우 굉장히 간단한 만큼 위험할 수 있는 공격이니 이러한 위협에 대해서는 잘 숙직하고 계시는 것이 좋습니다. 전 시간에 대응방은을 기재해 두었지만 다시 한번 말씀드리자면 이러한 공격을 방지하기 위해선 " arp table " 을 dynamic(동적) 이 아닌 static(정적)으로 설정해줌으로써 고유한 MAC 주소가 변경되는 것을 방지하셔야 됩니다.

다음 시간에는 다른 종류의 실습을 해보도록 하겠습니다. 감사합니다