모의해킹

ARP Spoofing 실습

박연준 2023. 7. 2. 14:40

ARP 스푸핑 공격 실습

  • 환경 구성
    • 공격자: Kali 리눅스, 피해자 서버: CentOS 7.6, 피해자 클라이언트 : CentOS 6.9
  • 공격 방법
    • 아래와 같이 피해자 서버 PC의 IP와 피해자 클라이언트 IP에게 ARP Reply 공격을 수행
      • 피해자 클라이언트를 대상으로 공격 ( 상태 유지 및 새 창에서 작업)
      • # arpspoof -i eth0 -t [TARGET_IP2] [TARGET_IP]
      • 피해자를 대상으로 공격 (상태 유지 및 새 창에서 작업)
      • #arpspoof -i eth0 -t [TARGET_IP] [TARGET_IP2]
    • 네트워크 연결을 위해 포워딩을 해주는 명령 실행 (편의에 맞게 둘 중 하나의 설정 값 선택)
      • fragrouter를 이용한 IP 포워딩
      • #fragrouter -B1 fragrouter: base-1: normal IP forwarding
  • 실습 과정

과정다음과 같이 arpspoof 명령어를 이용해 arp reply 공격을 피해자 서버와 피해자 클라이언트에게 수행한 모습이다.

 

네트워크 연결을 해주기 위해서 fragrouter -B1 명령을 수행해준다.

 

 

다음으로 피해자 서버와 피해자 클라이언트의 터미널 창에서 arp -a 명령어를 입력해주면 IP는 다르지만 MAC 주소가 동일한 것이 2개가 있는 것을 확인하였다.

이렇게 MAC주소만 변조시켰다고 하면 arp poisoning이라고 한다. forwarding을 해주는 행위까지 한다면 arp spoofing이라고 할 수 있다.

 

다음으로 nc를 이용해 네트워크를 연결해준다.

 

nc 명령어를 입력하고 엔터를 누르게 되면 칼리 리눅스의 fragrouter 부분이 아래와 같이 확인된다.

 

피해자 서버나 클라이언트 아무 곳에서 hi, hello, hello world를 입력하면 똑같이 네트워크를 연결한 피해자 서버에서 동일하게 출력되는 것을 확인할 수 있다. 또한 입력할 때마다 칼리 리눅스의 fragrouter에서 데이터를 확인할 수 있다.

 

Wireshark를 이용해 패킷을 잡아보면 다음과 같이 ARP 프로토콜이 많이 있는 것을 볼 수 있는데 이것은 칼리 리눅스가 피해자 서버와 클라이언트에게 계속해서 피해자들끼리 직접 연결을 방지하기 위해서 더 빠르게 ARP 패킷을 보내는 것으로 중간자 공격을 성공할 수 있는 것이다.

 

다음과 같이 패킷을 눌러 확인해보면 hi와 hello가 평문으로 노출되고 있는 것을 확인으로 감청하고 있다고 할 수 있다.

 

 

대응방안

  • 시스템 내 대응방안
    • 정적인 ARP table 관리
      • 재부팅 시에도 항상 정적인 ARP table이 관리될 수 있도록 설정
    • 보안 수준 강화
      • 공격자가 설치한 프로그램으로 수행될 수 있으므로, 서버 내의 보안 수준 강화
    • 중요 패킷 암호화
      • 네트워크를 통해 중요한 데이터가 송/수신 될 경우 유출 및 변조되지 않도록 조치
  • 네트워크 장비 내 대응방안
    • 정적인 MAC 주소 관리
    • 사설 VLAN 활용
    • 보안 스위치 활용

'모의해킹' 카테고리의 다른 글

파일 다운로드 취약점 실습(1)  (0) 2023.07.01
파일 업로드 취약점 실습(3)  (0) 2023.07.01
파일 업로드 취약점 실습(2)  (0) 2023.07.01
파일 업로드 취약점 실습(1)  (0) 2023.07.01
SQL Injection 실습(1)  (0) 2023.07.01