[모의해킹] EP.03 : ARP Spoofing

2019. 9. 19. 13:00·CERTIFICATE
반응형

1. ARP Spoofing이란?

Spoof란 사전적으로 '속이다'라는 뜻을 갖고 있습니다. arp 스푸핑이란 공격자가 공격 대상이 통신하고자 하는 대상으로 가장하여 패킷을 가로챌 수 있는 방법으로 arp 스푸핑을 이용해 다양한 공격이 가능합니다. 공격 대상이 통신하고자 하는 대상의 IP에 해당하는 MAC 주소를 공격자의 MAC 주소로 알고 있도록 arp reply 패킷을 지속적으로 보내서 공격 대상을 속이는 방법을 사용합니다. 이번 실습에서는 같은 네트워크 내에 있는 두 대상 모두에게 arp 스푸핑 공격을 하여 두 대상의 통신을 중간에 가로채서 스니핑 하도록 합니다.

 

2. 실습 환경

공격 대상 1(사용자) - IP : 192.168.10.189, MAC : BC:5F:F4:34:14:f7

공격 대상 2(웹서버) - IP : 192.168.10.151, MAC : 00:0C:29:79:ㅠ8:54

공격자 - IP : 192.168.10.150, MAC : 00:0 C:29:9 B:94:96

 

 

arp 스푸핑 이후 공격 대상들의 arp 테이블이 바뀌고 공격자를 거쳐서 통신

 

 

3 실습 준비

3.1 공격자 - fake 설치

 

(1) yum 레파지토리에 rpmforge 추가

# rpm -ivh http://apt.sw.be/redhat/el5/en/i386/dag/RPMS/rpmforge-release-0.5.2-2.el5.rf.i386.rpm(32 bits)

# rpm -ivh http://apt.sw.be/redhat/el5/en/x86_64/dag/RPMS/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm(64 bits)

위 명령어를 복사하여 실행하면 레파지토리에 rpmforge가 추가되고 yum을 이용하여 fake 프로그램을 다운로드할 수 있습니다.

레파지토리에 rpmforge 추가

 

 

(2) fake 설치 # yum install -y fake

 

 

(3) 쉘 스크립트를 작성하여 send_arp 실행

# send_arp (공격 대상이 접속하려는 IP) (공격자의 MAC) (공격 대상 IP) (공격 대상 MAC)

 

쉘 스크립트 arpspoof.sh 작성

 

 

4 실습

(1) 공격자 PC에서 fragrouter와 tcpdump 실행

fragrouter를 실행하여 패킷 릴레이

 

tcpdump를 이용해 192.168.10.151의 80번 포트가 주고받는 패킷 캡쳐

 

tcpdump를 이용해 arp 패킷 캡쳐

 

 

(2) 쉘 스크립트를 이용해 arp 스푸핑 공격 시작

쉘 스크립트 파일은 실행할 수 있도록 x권한이 있어야 합니다.

 

쉘 스크립트 실행

 

(3) 스푸핑 공격 확인

스푸핑 공격으로 공격 대상들의 MAC 주소가 모두 공격자의 MAC 주소로 변경된 것을 확인할 수 있습니다.

 

 

 

5 실습 결과 분석

(1) arp 패킷 분석

첫 번째 arp 패킷 캡처

BC 5F F4 34 14 F7 00 0C      29 9B 94 96 08 06 00 01

08 00 06 04 00 02 00 0C      29 9B 94 96 C0 A8 0A 97

BC 5F F4 34 14 F7 C0 A8      0A BD 00 00 00 00 00 00

00 00 00 00 00 00 00 00      00 00 00 00

 

Ethernet header 분석

Destination MAC address

bc:5f:f4:34:14:f7

Source MAC address

00:0c:29:9b:94:96

Type

08 06 (ARP)

 

 

ARP 패킷 분석

Hardware type

Protocol type

00 01 (Ethernet)

08 00 (IP)

H/W addr length

Protocol addr length

Operation code

06 (6 bytes)

04 (4 bytes)

00 02 (ARP reply)

Source MAC address

Source protocol address

00:0c:29:9B:94:96

c0 a8 0a 97 (192.168.10.151)

Destination MAC address

Destination protocol address

bc:5f:f4:34:14:f7

c0 a8 0a bd (192.168.10.189)

 

분석 결과

00:0c:29:9b:94:96(공격자)에서 bc:5f:f4:34:14:f7(공격 대상 사용자)에게 192.168.10.151(웹서버)의 MAC 주소가 00:0c:29:9B:94:96(공격자)이라고 속이고 있습니다.

 

두 번째 arp 패킷 캡처

00 0C 29 79 B8 54 00 0C      29 9B 94 96 08 06 00 01

08 00 06 04 00 02 00 0C      29 9B 94 96 C0 A8 0A BD

00 0C 29 79 B8 54 C0 A8      0A 97 00 00 00 00 00 00

00 00 00 00 00 00 00 00      00 00 00 00

 

Ethernet header 분석

Destination MAC address

00:0c:29:79:b8:54

Source MAC address

00:0c:29:9B:94:96

Type

08 06 (ARP)

 

 

ARP 패킷 분석

Hardware type

Protocol type

00 01 (Ethernet)

08 00 (IP)

H/W addr length

Protocol addr length

Operation code

06 (6 bytes)

04 (4 bytes)

00 02 (ARP reply)

Source MAC address

Source protocol address

00:0c:29:9B:94:96

c0 a8 0a bd (192.168.10.189)

Destination MAC address

Destination protocol address

00:0c:29:79:b8:54

c0 a8 0a 97 (192.168.10.151)

 

분석 결과

00:0c:29:9b:94:96(공격자)에서 00:0c:29:79:b8:54(공격 대상 웹서버)에게 192.168.10.189(사용자)의 MAC 주소가 00:0c:29:9B:94:96(공격자)이라고 속이고 있습니다.

 

(2) http 패킷 분석

첫 번째 http 패킷 캡처

00 0C 29 9B 94 96 BC 5F      F4 34 14 F7 08 00 45 00

00 34 53 DA 40 00 80 06      10 45 C0 A8 0A BD C0 A8

0A 97 E9 30 00 50 66 3C      6B 58 00 00 00 00 80 02

20 00 FD 5B 00 00 02 04      05 B4 01 03 03 02 01 01

04 02

 

Ethernet header 분석

Destination MAC address

00:0c:29:9B:94:96

Source MAC address

bc:5f:f4:34:14:f7

Type

08 00 (IP)

 

IP header 분석

Version

Header len TOS

Total length

0100 (IPv4)

0101 (5words) 00000000(사용안함)

0000000000110100 (52 bytes)

Identification

Flag

Fragment offset

0101001111011010

010(분할되지 않음)

00000 00000000

TTL

Protocol type

header checksum

10000000 (128)

00000110(6:TCP)

0001000001000101

Source IP address

11000000 10101000 00001010 10111101 (192.168.10.189)

Destination IP address

11000000 10101000 00001010 10010111 (192.168.10.151)

 

분석 결과

192.168.10.189(공격 대상 사용자)에서 192.168.10.151(공격 대상 서버)로 패킷을 보내고 있지만 실제 패킷은 bc:5f:f4:34:14:f7(공격 대상 사용자)에서 00:0c:29:9B:94:96(공격자)으로 전송되고 있습니다.

 

두 번째 http 패킷 캡처

00 0C 29 79 D8 54 00 0C      29 9B 94 96 08 00 45 00

00 34 53 DA 40 00 80 06      10 45 C0 A8 0A BD C0 A8

0A 97 E9 30 00 50 66 3C      6B 58 00 00 00 00 80 02

20 00 FD 5B 00 00 02 04      05 B4 01 03 03 02 01 01

04 02

 

Ethernet header 분석

Destination MAC address

00:0c:29:79:d8:54

Source MAC address

00:0c:29:9B:94:96

Type

08 00 (IP)

 

IP header 분석

Version

Header len TOS

Total length

0100 (IPv4)

0101 (5words) 00000000(사용안함)

0000000000110100 (52bytes)

Identification

Flag

Fragment offset

0101001111011010

010(분할되지 않음)

00000 00000000

TTL

Protocol type

header checksum

10000000 (128)

00000110(6:TCP)

0001000001000101

Source IP address

11000000 10101000 00001010 10111101 (192.168.10.189)

Destination IP address

11000000 10101000 00001010 10010111 (192.168.10.151)

 

분석 결과

첫 번째 패킷을 00:0c:29:9B:94:96(공격자)에서 받아 00:0c:29:79:d8:54(공격 대상 웹서버)로 전송하는 패킷으로 datagram은 첫 번째 패킷과 동일합니다.

 

 

6 ARP spoofing 대응 방안

6.1 고정 ARP 사용

6.1.1 Linux에서 고정 ARP

- # arp -s [IP주소] [MAC 주소]

-s 옵션을 주고 뒤에 IP주소와 그에 해당하는 MAC 주소를 입력하면 고정 ARP를 등록할 수 있습니다.

 

6.1.2 Windows에서 고정 ARP

> arp -s [IP주소] [MAC 주소]

리눅스와 명령어가 같습니다. 192.168.10.1 주소가 동적으로만 등록되어 있다가 고정 arp 명령어 이후 정적으로 등록되었습니다.

 

 

6.1.3 Windows 7 이상에서의 arp 고정 방법

> netsh -c "interface ipv4" set neighbors "(인터페이스)" "(고정시킬 IP 주소)" "(고정시킬 MAC 주소)"

windows 7 이전 버전과 달리 netsh라는 프로그램을 이용해 고정 arp를 등록합니다.

 

6.2 arpwatch 프로그램 사용

arpwatch는 네트워크 상의 IP와 MAC 주소 변경을 감시하는 프로그램으로 arp 스푸핑을 감지하기 위해 사용하기도 합니다. 네트워크상에 IP나 MAC 주소 변경이 있으면 arpwatch가 감지하여 사용자에게 메일로 전송해줍니다.

 

6.2.1 arpwatch 설치 및 사용

# yum install arpwatch 명령어를 사용하여 arpwatch를 설치합니다.

 

arpwatch 데몬을 실행시켜 줍니다.

 

arp 스푸핑 공격을 하자 다음과 같은 메일이 전송됩니다.

new station : 처음 arp 정보가 등록된 경우

flip flop : MAC 주소가 중복된 경우

changed ethernet address : 기존 정보가 변경된 경우

 

 

 

 

반응형

'CERTIFICATE' 카테고리의 다른 글

[모의해킹] EP.06 : 터널링(Tunneling)  (0) 2019.10.01
[모의해킹] EP.05 : DNS Spoofing  (0) 2019.09.24
[모의해킹] EP.04 ICMP Redirect  (0) 2019.09.23
[모의해킹] EP.02 : ARP Redirect  (1) 2019.09.18
[모의해킹] EP.01 : 스니핑- telnet  (1) 2019.09.17
'CERTIFICATE' 카테고리의 다른 글
  • [모의해킹] EP.05 : DNS Spoofing
  • [모의해킹] EP.04 ICMP Redirect
  • [모의해킹] EP.02 : ARP Redirect
  • [모의해킹] EP.01 : 스니핑- telnet
루트
루트
정보보안과 IT를 연구하는 루트 연구소
    반응형
  • 루트
    루트 티스토리
    루트
  • 전체
    오늘
    어제
    • 분류 전체보기 (83)
      • STUDY (4)
        • DB (1)
        • Cloud (2)
        • Network (1)
      • 비트코인 (0)
        • 암호화폐 (2)
      • CERTIFICATE (39)
        • 정보보안기사 (5)
        • 정보관리기술사 (13)
        • CPPG (1)
        • AWS (2)
        • 프로그래밍 (0)
      • INFORMATION (32)
        • IT 제품 리뷰 (2)
        • SW 사용 리뷰 (2)
        • 면접 리뷰 (3)
      • STORY (8)
        • 일상 (8)
  • 블로그 메뉴

    • Brunch
    • Youtube
    • 관리자
  • 링크

  • 공지사항

    • 카테고리 리뉴얼 진행중
    • 20.10.11 정보관리기술사 ~ ing
  • 인기 글

  • 태그

    작가
    자격증
    it
    30살에 시작하는 퇴사준비
    블록체인
    유튜브
    꿀팁
    매거진
    정보보안기사
    칼퇴
    KISA
    브런치
    해커
    보안전문가
    누구나쉽고재밌게아이티알려주는남자
    정보보안전문가
    컴퓨터
    클라우드
    정보관리기술사
    공부
    해킹
    취약점
    비트코인
    모의해킹
    보안
    정보보안
    잇츠밍
    컴퓨터보안
    아이티
    직장인
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
루트
[모의해킹] EP.03 : ARP Spoofing
상단으로

티스토리툴바