네트워크/네트워크 보안

ICMP Redirect

비니화이팅 2018. 1. 22. 20:18

* ICMP Redirect

-> 원리

- 라우터가 송신 측 호스트에 적합하지 않은 경로로 되어 있으면 해당 호스트에 대한 최적 경로를 다시 지정해주는 ICMP Type이다.

- 이를 악용하면 패킷을 가로채는 것이 가능하다.



[실습]

 - 실습 환경 : Victim    -> WindowsXP            ( IP : 10.10.10.10)

 - 실습 환경   Attacker -> BackTrack              ( IP : 10.10.10.30)

- 실습을 진행하기 전에 아래와 GNS3을 이용하여 아래와 같이 토폴로지를 구성한다.


- 다음과 같은 명령어를 이용하여 icmpush를 다운받는다.

wget http://security.ubuntu.com/ubuntu/pool/universe/i/icmpush/icmpush_2.2-6.1_i386.deb


- 설치를 진행한다.


- 옵션을 확인하는 명령어는 다음과 같다.


- 본격적으로 공격을 진행하기에 앞서 Victim의 라우팅 테이블을 확인한다.


- 이제 공격을 진행한다.

  100.100.100.0대역으로 가는 패킷은 Attacker을 거쳐서 가도록 한다.

- 옵션은 아래와 같다.

 icmpush -vv -red -sp [GW] -gw [redi-GW] -dest [Destination] -c host [Victim]

-vv

자세히 보기

-red

icmp redirect attack

-sp

원래 GW

-gw

재지정할 GW

-dest

라우팅 테이블에 등록할 목적지 주소   

-c

code(host : 특정 호스트 지정, net : 특정 네트워크 지정)

host

패킷을 받을 host의 주소


- 이때 패킷을 확인해본다.

  (ICMP 헤더 분석은 http://itlearner.tistory.com/236<-을 참고한다.)



- Src IP를 진짜 GW의 주소로 바꾸어서 Redirect 메세지를 보낸 것을 확인할 수 있다.


- 다시 라우팅 테이블을 확인하면 100.100.100.0대역으로 가는 Gateway주소가 10.10.10.30(Attacker의 IP)주소로 변경된 것을 확인할 수 있다.

- 이제 100.100.100.0대역으로 가는 패킷은 Attacker을 거쳐 갈 것이다.