'ARP spoofing'에 해당되는 글 1건

  1. 2010.04.15 [Network Security] ARP Spoofing Attack

ARP Protocol의 개요

ARP(Address Resolution Protocol)는 로컬 네트워크 호스트간 통신을 할 경우 사용되는 MAC 주소와 IP 주소 간 변환을 해주는 역할을 한다. 상대방의 MAC 주소를 모를 경우 (ARP Cache Table에 없을 경우) 동일 로컬 네트워크에 ARP Request 메시지를 Broadcast 하게 된다.


⑵ 실습 환경 구성

ARP Spoofing 테스트를 위한 환경은 아래와 같다.

Alice Hacker, Bob은 같은 Local Network에 위치한다. 즉 하나의 스위칭 허브를 통하여 연결되어 있으며 Hacker Alice에게

ARP Spoofing 공격을 통하여 자신의 Bob MAC Address 주소를 자신의 MAC Address 주소로 속인다.

구 분

O S

I P

MAC Address

Alice

Windows XP SP2

172.16.10.100

00:0C:29:EF:09:84

Hacker

Back Track 3(Linux 2.6.21.5)

172.16.10.150

00:0C:29:36:0E:03

Bob

Windows XP SP2

172.16.10.200

00:0C:29:3A:62:4A

 

VMWare를 이용하여 해당 OS Network Adapter Host-only로 추가한 뒤 subnet을 동일한 IP 대역으로 설정한다.

                                                                < VMware의 가상 네트워크 설정 내역 >

이후 GNS를 이용하여 하나의 스위치 허브에 세 개의 호스트가 연결되어 있는 환경을 구성해 준다. IP 주소는 위에서 설정한 동일한 주소를 사용하며 Alice VMnet2 NIC, Hacker VMnet3 NIC, Bob VMnet4 NIC를 사용하도록 설정한 뒤 Fast Ethernet을 이용하여 연결해 주었다.

                                                            < GNS를 이용한 로컬 네트워크 구성 내역 >

이후 ping을 이용하여 정상적으로 네트워크가 연결되었는지 확인한다.

Windows XP의 경우 기본적으로 방화벽이 활성화되어 있기 때문에 수동으로 꺼주지 않으면 ping이 가지 않는다.


ARP Spoofing 공격 실행

이제 Backtrack에서 본격적으로 ARP Spoofing 공격을 해보도록 하자.

Backtrack은 모의침투(Penetration Test)를 위해 만들어진 OS로 http://www.backtrack-linux.org/에서 구할 수 있다.
먼저 Backtrack에서 arpspoof 명령어를 이용하여 Alice에 공격을 해보자. arpspoof 명령어의 형식은 아래와 같다.

Usage : arpspoof [-i interface] [-t target] host

"-t" 옵션으로 공격의 대상을 지정하며 host 부분에 Alice에게 Hacker가 다른 호스트라고 속이려고 하는 대상의 IP를 적어준다.

이번 테스트에서는 Alice에게 Hacker 본인이 Bob이라고 속일 것으므로 아래와 같이 입력한다.

arpspoof -t 172.16.10.100 172.16.10.200

해당 명령을 실행하면 아래와 같이
                                                                        < ARP Spoofing 공격 모습 >

Hacker에서 Alice 172.16.10.200 IP를 가진 호스트의 MAC address 0:c:29:36:e:3(Hacker MAC address)라는 arp reply 킷을 지속적으로 보내준다.

Alice 호스트의 ARP Cache Table을 업데이트하기 위해 Bob 호스트로 ping을 전달후 ARP Cache Table의 내용을 보면 아래와 같다.

Bob 호스트에 대한 MAC address를 보면 Hacker MAC address로 변경되어 있는 것을 볼 수 있다. WireShark를 이용하여  Alice에게 전달되어 지는 패킷을 보면 다음과 같다.

Hacker에서 Alice ARP Cache Table 변조를 위하여 ARP reply 패킷을 지속적으로 보내는 것을 알 수 있다.


현재 설정 사항에서는 Alice에서 Bob으로 ping을 보내더라도 "Request timed out"이 발생하며 전송이 되지 않는다. Alice에서
보낸 패킷이 Hacker로 전송되지만 Hacker에서 응답을 보내지 않거나, Hacker에서 Bob으로 전송 해주지 않아 위와 같은 증상이 나타난다
만약 위와 같은 상태라면 Alice는 네트워크 상태를 점검해 볼 것이고 실력있는 사람이라면 ARP Spoofing 공격을
받고 있다는 것을 알 수 있을 것이다. 따라서 Hacker에서 IP Forwarding 기능을 통하여 자신에게 전송된 패킷의 목적지 주소가 자신이 아니라면 다시 포워딩 해주는 기능을 활성화 하도록 하자.

위와 같이 Backtrack ip_forward 커널 파라미터를 활성화 해준다. 이후 Alice에서 Bob으로 Ping이 정상적으로 전달되어 응답까지 받는 것을 알 수 있다. 마찬가지로 Bob에게 ARP Spoofing 공격을 실행한 후 각각 호스트의 ARP Cache Table을 확인해 보면 다음과 같다.

< Alice ARP Cache Table >

< Bob ARP Cache Table >

  공격 당하고 있는 호스트의 ARP Cache Table을 보면 다른 IP에 같은 MAC Address가 등록되어 있는 것을 볼 수 있다. ARP Spoofing 공격후 데이터의 흐름은 다음과 같다.

< ARP Spoofing 후 데이터의 흐름 >

Alice에서 Bob으로 telnet을 이용하여 접속을 해보면 Hacker에서 Telnet 데이터의 내용을 볼 수 있다.

 

ARP Spoofing 공격 탐지 방법

. 공격당하는 호스트에 ARP reply 패킷이 비슷한 간격으로 지속적으로 나타난다.

    Hacker에서 Alice ARP Cache Table 변조를 위한 ARP reply 패킷이 지속적으로 전송되기 때문에 Alice 쪽에서 지속적으로 전송되어지는 ARP reply 패킷을 볼 수 있다.

. 희생자 쪽에서 패킷을 보면 ARP Redirect 패킷이 발생한다. ARP Redirect 패킷은 ARP 패킷을 올바른 경로로 보내기 위해 경로를 변경했다는 의미로 Hacker에 의해서 ARP 패킷의 경로가 변경된 것을 알 수 있다.

. 로컬 네트워크 내에서는 TTL 값이 줄어들지 않는다. 하지만 ARP 공격을 당하고 있을 경우 중간에 Hacker 호스트를 거치게 되므로 reply 패킷의 TTL 값이 1 줄어든 것을 볼 수 있다.

< ARP request 패킷의 TTL >

<ARP response 패킷의 TTL >

                                                                                                    +---------------------------------+
                                                                                                    | Infinite Flow..                              |
                                                                                                    | mail : geekspark@gmail.com         |
                                                                                                    | Blog : http://sinun.tistory.com       |
                                                                                                    | CISSP                                        |
                                                                                                    +----------------------------------+
저작자 표시 비영리 변경 금지
신고
Posted by By. PHR34K