본문 바로가기
Security

arpspoof 과 해결책

 

WAN LAN 과

흔히들 일상적인 네트워크 구간을 크게 구간과 WAN LAN 구간으로 나눈다 흔히 이러한 과 구간을 나누는 장비로는 게이트웨이 역할을 하는 라우터가 담당하는데 혹시 라우터라는 장비를 보신 분들도 있을지 모르겠지만 라우터라는 장비를 보면 적게는 두 개에서 많게는 몇 십개까지의 많은 인터페이스 (랜카드) 로 이루어져 있는 것을 볼 수 있을 것이다. 이 인터페이스들은 담당하는 역할에 따라 구간을 담당하는 시리얼 인터페이스와 구간을 담당하는 이더넷 WAN (Serial) LAN(Ethernet) . WAN , LAN 인터페이스로 나눌 수 있다 따라서 흔히들 구간을 시리얼 구간
구간을 이더넷 구간이라 부르기도 한다 구간에서는 라우터와 라우터간에 서로 약속 . WAN한 라우팅 프로토콜을 이용해 통신을 하게 되는데 이를테면 전세계적으로 간에 연동시에는 라는 프로토콜을 이용하여 연동한다 이에 대해서는 홈페이지등 라우팅 BGP . CISCO 관련 서적을 참고하기 바란다 그렇다면 구간에서는 어떤 프로토콜을 이용하여 서로  LAN통신하게 될까 ?그렇다 바로 이다 ? . ARP 이다.

ARP

ARP Address Resolution Protocol DNS IP 는 의 약자로서 마치 가 도메인 주소를 주소로 바꾸어주는 것처럼 주소를 주소로 변환해 주는 프로토콜이다 그렇다면 주소는 또 무엇인가 주소는 각 이더넷 카드마다 유일한 하드
웨어 주소로서 이 정보는 리눅스의 경우 로 윈도우즈의 경우 로 확 ifconfig , ipconfig /all인할 수 있다.
ARP는 일반 유저들에게는 그리 친숙하지 않은 단어이지만 이 프로토콜은 로컬 네트워크의매우 중요한 규약이며 를 이해하여야만이 네트워크의 보안을 설명할 수 있을 정도로 ARP반드시 숙지하여야 할 중요한 프로토콜이다.

환경 구성

gateway                                172.16.10.1                 00-18-7d-20-5d-52
Attacker      (Backtrack 5)      172.16.10.133 (bt5)    08-00-27-ce-ed-a0
Victim          (windows xp)     172.16.10.19               08-00-27-09-41-4c


victim 의 arp 캐쉬 테이블을 확인 한다.
다음과 같이 기본 게이트 웨이로 나가는 arp케쉬 테이블은 다음과 이 정상 적으로  
mac주소가 저장 되어 있다.

arp -a  (캐쉬 테이블 print )
arp -s  (캐쉬 테이블 static 지정)
arp -d (캐쉬 테이블 삭제)

 

공격자 (bt5) 에서는 victim 에서 게이트웨이로 가는 mac , 그리고 반대로 게이트웨이에서
victim 으로 가는 mac을 변조 해야지 foward 가 정상적으로 된다.
위에 와 같이 패킷을 중간에 가로 채는 공격을 man in the middle attack(mitm) 이라고 한다.

arpspoof -t 172.16.10.19 172.16.10.1    <- victim 의 mac 변조
arpspoof -t 172.16.10.1 172.16.10.19    <- gw의 mac 변조

victim 의 arp 캐쉬 테이블을 확인 하게 되면 다음과 같이 attacker 의 mac주소로 변조 되는 것을 확인 할 수 있다.

하지만 attacker 는 패킷이 forward 되어 있지 않기 때문에,
외부로 패킷이 전달 되지 않는다.
attacker 에서 패킷이 포워드 되도록 다음 의 값을 확인한다.

/proc/sys/net/ipv4/ip_forward 의 값이 0이면 forward가 되지 않지 때문에 1로 수정 한다.(0 = false, 1=ture)

다음과 같이 다이렉션으로 1로 변경 한다.

victim 에서 정상적으로 외부로 통신 이 되는 것을 확인 한다. 하지만 지금 attacker 에 패킷이 포워드 되고 있기 때문에
man in the middle attack 이 정상적으로 성공 한 것을 확인 할 수 있다

 //참고 arp 케쉬 테이블의 MAC aging-time 은 300초(5분) 이 default 로 되어 있다.


위 환경의 해결책은 arp 캐쉬 테이블을 static 으로 변경하면 공격 당하지 않는다.


>>>>arp -s <ip address> <mac address>
>>>>arp -s 172.16.10.1 00-18-7d-20-5d-52

tcpdump로 정상적으로 패킷을 덤프 뜰 수 있다.

root@bt:~# tcpdump src 172.16.10.19 and port 80

 

참조 사이트


http://sis.or.kr/

http://packetstorm.com
http://sectools.org/

반응형