1. 스푸핑 공격에 대한 이해


스푸핑이란 '속이다'는 의미다. 인터넷이나 로컬에서 존재하는 모든 연결에 스푸핑이 가능하다. 

스푸핑은 정보를 얻어내기 위한 중간 단계의 기술로 사용하는 것 외에 시스템을 마비시키는 데 사용할 수도 있다.



2. ARP 프로토콜


ARP는 IP 주소 값으로 MAC 주소 값을 알아내는 프로토콜이다.

RARP는 MAC 주소 값으로 IP 주소값을 알아내는 프로토콜이다.

동일한 LAN 내에 연결된 컴퓨터의 IP 주소를 얻는다.

목적지 IP에 대한 MAC 주소를 모를 때 발신측 컴퓨터는 목적지 MAC 주소를 브로드캐스트로 설정하고 패킷을 보낸다.

목적지 IP에 대한 MAC 주소를 아는 호스트가 유니캐스트로 탑중을 준다.



3. ARP 캐시 테이블


ARP 캐시는 static type과 dynamic type이 있다.

static type은 고정된 IP, MAC으로 설정한 상태로 유지되지만 재부팅 시 지워진다.

dynamic type은 arp reply로 인해 등록된 IP, MAC으로 부팅하거나 일정시간 후 삭제된다.


'arp -a' 명령은 arp cache table을 볼 수 있는 명령이다.

'arp -d' 명령은 dynamic type cache를 모두 지우는 명령이다.



4. ARP 패킷 헤더

5. ARP 취약점


ARP reply 패킷에 대한 인증을 거치지 않기 때문에 조작된 ARP reply 패킷을 보내 임의로 ARP 캐시 테이블에 Dynamic type의 < IP, MAC > 쌍을 등록할 수 있다.



6. ARP 스푸핑

arpspoof -t [victim ip] [gateway] 의 명령으로 공격할 수 있다.

위 명령을 수행하면 희생자의 ARP 캐시 테이블에 [공격자 MAC : gateway IP]가 추가된다.


- 공격을 수행하기 전( arp -a )

- 공격을 수행하기 전( arp -d 후 arp -a )


- kali에서 ARP 스푸핑 공격 수행

- 공격 당한 상태


희생자는 공격당한 상태에서 인터넷을 접속하려고 하면 접속이 되지 않는다.


그 이유는 게이트웨이의 MAC주소가 공격자의 MAC 주소로 설정됐기 때문에 희생자가 게이트웨이로 패킷을 보내면 실제로는 공격자에게 패킷이 가기 때문이다. 그리고 공격자는 희생자로부터 받은 패킷을 따로 처리하지 않고 기존 게이트웨이에 릴레이 시키지 않으므로 희생자는 인터넷을 이용할 수 없다.


7. ARP 스푸핑 방지


프로토콜단의 취약점이기 때문에 방지가 힘들다.

gateway IP, MAC 주소를 Static type으로 등록한다.

'NCS보안3기 > 네트워크 해킹' 카테고리의 다른 글

[Network Hacking] MITM  (0) 2017.05.01
[Network Hacking] 세션 하이재킹  (0) 2017.05.01
[Network Hacking] 스니핑  (0) 2017.04.30
[Network Hacking] TCP 스캔  (0) 2017.04.30
[Network Hacking] ICMP스캔  (0) 2017.04.30
Posted by Imp3rio