본문 바로가기

Computer/0x00 정보보안

스니핑(Sniffing) 과 ICMP Redirect 공격

스니핑(Sniffing) 과 ICMP Redirect 공격 




- 니핑(sniffing) 이란, 단어 뜻 그대로 '코를 킁킁 거리다' 라는 의미 입니다.

Sniffing 공격은 막기도 어렵고 탐지도 쉽지 않기 때문에 주의가 필요 합니다.


보통 Sniff 공격을 수동적(Passive) 공격 이라고도 말하는데, 그것은 공격시 툴을 설치해

놓은 상태로 충분하기 때문 입니다.


- LAN 에서 Sniffing 은 프러미스큐어스(Promiscuous) 모드에서 작동 합니다.


- 랜 카드는 설정된 IP주소 값과 고유한 MAC (Media Address Control ) 주소 값을 가지고

있으며 자신의 랜 카드에 들어오는 프로토콜 형식에 따른 전기적 신호의 헤더 부분,

주소값을 인식하고 자신의 버퍼에 저장할지를 결정하지만 Sniffing 은 자신이 가지지 말아야 

할 정보까지도 모두 받아 들이는 것을 의미 합니다.





* Promiscuous Mode 란?


- 통신을 하며 IP 주소와 MAC 주소를 이용하여 통신을 하게 됩니다. 각 호스트가

통신을 할때에는 케이블의 전기 신호를 이용하여 통신을 하는데 이 신호를 받아서 MAC 주소를 

확인 하는 것이 랜카드 입니다.


랜카드는 자신의 주소로 온 패킷일 경우에는 상위 계층으로 올려주지만, 자신의 주소로

오지 않는 패킷을 폐기 합니다.


랜 카드가 프러미스큐어스 모드라는 말은, 주소 갑을 무시하고 모든 패킷을 받아 들이는 상태를

말합니다.


스니핑은 쉽게 이해하기 위해서 '엿보기' 또는 '엿듣기' 라고 이해 할 수 있습니다.


NIC는 두가지 모드로 동작 합니다.


(1) Normal mode(노멀모드): 자신에게 들어오는 목적지 MAC 주소로 올릴것인지? 버릴것인지? 를

판단하는 모드 입니다.

(2) Promiscuous mode: 랜카드가 자신에게 들어오는 모든 패킷을 목적지 MAC 주소와 상관없이

모두 올려 버리는 모드 입니다.


리눅스에서 promisc 모드로 전환하기 위해서는 #ifconfig eth0 promisc  라고 입력 합니다.





ICMP 리다이렉트 공격

( ICMP 리다이렉트 동작 원리 )



- 보통의 네트워크는 라우터나 게이트웨이가 하나이지만 하나의 라우터로 이를 감당

할 수 없을 때는 라우터나 게이트웨이를 두 개 이상 운영해서 로드밸런싱을 구현해서 사용 합니다.


- 로드밸런싱을 하는 방법은 시스템의 라우팅 테이블에 라우팅 엔트리를 하나 더 넣어주는 방법도 있

고, ICMP 리다이렉트를 사용하기도 합니다.


- ICMP 공격은 이러한 경우를 강제적으로 만들어서 공격을 하는 방법 입니다.


- 공격자가 네트워크에 존재하는 또다른 라우터임을 각 호스트에게 알립니다.

ARP Spoofing와 다른 점은 ARP Spoofing 은 모든 트래픽에 대한 리다이렉트를 가능하게 하는 반면에

ICMP 라다이렉트는 특정한 목적지 주소를 가진 패킷만을 리다이렉트 하게 됩니다.



[ ICMP Redirect 의 작동원리 ]


a) Host A가 외부 웹 서버 접속을 요청하기 위해서 라우팅 테이블을 확인한후에 라우터 1에 패킷을

전송 합니다.


b) 라우터1은 외부 웹 서버 접속에 대한 패킷을 확인 한후에 효율적인 처리를 위해서 라우터2에게

패킷을 전송하도록  Host A에게 ICMP 리다이렉트 패킷을 전송하고 Host A는 ICMP 리다이렉트 패킷을

수신 한후에 라우팅 테이블의 내용을 추가 또는 변경을 합니다.


c) 호스트 A는 라우팅 테이블에 외부 웹서버에 해당하는 라우팅 테이블 엔트리를 확인한후에 해킷을

전송 합니다.




[ ICMP 리다이렉트를 이용한 스니핑 ]






: ICMP 리다이렉트를 이용하여 목적지가 168.126.63.1 에 해당하는 요청은 실제 라우터가 아닌 해커 컴퓨터

로 패킷이 전송 되도록 합니다.




a) ICMP 리다이렉트 공격도구를 컴파일

# gcc -o icmp_redirect icmp_redir.c


b) ICMP 공격

: ./icmp_redirect [게이트웨이 주소] [공격대상주소] [목적지주소] [공격자 주소]



타겟의 라우팅 테이블에 ICMP Redirect로 인한 내용이 추가 됩니다.

( cmd - netstat -nr 로 확인가능)



- 와이어샤크로 icmp 필터링 후에 헤더를 분석해 보면 'Type 5'(리다이렉트) 출발지 IP가 200.200.200.254,

목적지가 타겟, 게이트웨이 주소를 공격자 주소로 해서 ICMP REDIRECT를 전송 하는 것을 확인 할 수 있습니다.