네트워크 구성
- Client(10.1.10.200 / Window7)
- Attacker(10.1.10.10 / Kali Linux)
- 2개의 PC는 ASW 스위치에 물려있고 DSW1,2가 HSRP로 이중화 구성되어 있다.
- 패킷들은 CE라우터를 통해 빠져 나가고 외부망과 연결되어 있다.
라우터 및 스위치 설정 명령어 다운로드 (GNS3로 구성)
- Dynamic Routing Protocol의 경우 대부분의 라우팅 관련 트래픽들은 멀티캐스트 방식으로 전송된다.
Ripv2: 224.0.0.9
EIGRP: 224.0.0.10
OSPF 224.0.0.5, 224.0.0.6
- Dynamic Routing Protocol이 ASW 스위치로 전송되면 ASW 스위치는 해당 패킷을 Flooding 한다.
(IGMP Snooping 기능이 활성화되어 있는 경우 해당 멀티캐스트 트래픽을 요청한 포트로만 전송이 가능하다.)
1. Attacker PC(Kali Linux) 패킷 확인
- ASW 스위치에서 멀티캐스트 패킷을 Flooding 함으로 Attacker PC에도 Ripv2 패킷이 오는 것을 확인할 수 있다.
2. Attacker PC(Kali Linux)에서 loki.py 실행
- 어떤 네트워크 인터페이스에 공격을 실시할지 체크하기 위해서 실행 후 톱니바퀴 버튼을 클릭한 후 eth0번을 선택하고 OK 버튼을 클릭한다.
3. 공격전 Client PC 확인
- 공격전 Client PC에서 외부로 정상적으로 Ping이 나가는 것을 확인할 수 있다. (정상 동작)
4. routing Injection 공격 실행
- ROUTING 메뉴에서 rip을 클릭한 후 162.126.0.0 IP 대역을 10.1.10.10(Attacker PC)으로 가도록 설정한다.
- 해당 작성 내용을 DSW1, 2 라우터의 라우팅 테이블에 등록하는 것이다.
5. DSW 스위치 패킷 확인
- ASW 스위치에서 DSW 스위치로 가는 패킷을 살펴본다.
- loki에서 설정한 Attacker PC(10.1.10.10)의 Ripv2 패킷이 가는 것을 확인할 수 있다.
6. DSW 스위치 확인
- show ip route명령어로 확인할 경우 Attacker PC에서 설정한 168.126.0.0 대역이 10.1.10.10으로 이동하도록 Routing이 설정된 것을 확인할 수 있다.
7. Client PC 확인
- 8.0.0.0 대역도 Routing 공격을 수행하면 라우팅 테이블에 의해서 Client PC에서는 8.8.8.8(외부)로 통신을 할 수 없게 된다.
- 8.8.8.8. icmp 패킷이 DSW1,2로 이동한 후 라우팅 테이블 정보에 따라서 10.1.10.10으로 ICMP 패킷이 이동하게 된다.
Routing Injection 방어
1. RIP Routing Injection 방어
- RIP의 경우 기본적으로 약 30초마다 주기적으로 멀티캐스트(224.0.0.9) 방식으로 업데이트를 한다,
- 공격자가 공격 툴을 사용하여 가짜 Routing 정보를 Routing Table에 등록하는 것을 방지하기 위해서는 Routing Protocol 구성시 Authentication(인증) 설정을 구성해야 한다.
RIP의 Authentication 방법
1. Key-Chain을 생성한다.
2. 특정 Interface에 해당 Key-chain을 적용한다.
DSW Switch 설정
- 멀티캐스트로 패킷을 보낼 때 인증키도 함께 보낸다.
- 스위치 전부 인증 정보가 일치해야 하기 때문에 DSW1, 2 Switch 전부 설정한다.
ip rip authentication key-chain RIP_AUTH: Interface에 RIP_AUTH Key-chain을 적용한다.
conf t key chain RIP_AUTH key 1 key-string cisco321 ! int vlan 10 ip rip authentication key-chain RIP_AUTH ip rip authentication mode md5 ! |
- show run int vlan 10 명령어로 key-chain이 정상적으로 적용되었는지 확인한다.
RIP Routing Injection 방어 확인
1. 스위치로 가는 패킷 분석
- 정상적인 RIP 패킷(10.1.10.252)을 살펴보면 인증 필드가 생성된 것을 확인할 수 있다.
- 인증키는 MD5에 의해서 해쉬값으로 암호화되었다.
- 정상적이지 않은 Rip 패킷(10.1.10.10)에는 인증 필드가 생성되어있지 않다.
2. DSW Switch 확인
- debug ip rip 명령어를 사용하여 10.1.10.10 IP주소가 인증 오류로 정상적인 접근이 허용되지 않는 것을 확인할 수 있다.
- show ip route명령어를 입력하면 비정상적인 라우팅 정보들이 사라진 것을 확인할 수 있다.
- Attacker PC에서 보낸 정보는 DSW1,2 스위치에서 사용하는 인증정보가 아니기 때문에 라우팅 테이블에 정보가 등록이 되지 않는다.
종단장치(End Device)로 가는 Routing Packet 차단
- 관리자는 RIP 정보의 업데이트 방식을 멀티캐스트가 아닌 유니캐스트 방식으로 변경하는 것이 가능하다.
- Passive-interface 명령어가 멀티캐스트 업데이트를 중지하라는 명령어이다.
- Neighbor 명령어는 Unicast Update를 수행하도록 하는 명령어이다.
- 아래와 같이 명령어를 입력하면 L3 장비들은 RIP 정보를 불필요하게 종단 장치에 전달하지 않고 유니캐스트 업데이트를 수행한다.
conf t router rip passive-interface vlan 10 neighbor 10.1.10.253 (DSW 2일 경우 10.1.10.252) !
- 또는 -
conf t router rip no passive-interface e 0/2 neighbor 10.1.10.253 (DSW 2일 경우 10.1.10.252) !
|
- Rip 패킷을 유니캐스트 방식으로 전송하는 것을 확인할 수 있다.
- 패킷을 전송할 경우 스위치에서 해당 IP에 대한 MAC 주소 정보를 모를 경우 Flooding 하고 Mac-Address-Table에 등록될 경우 Flooding 하지 않는다.
'Hacking & Security > Kali Linux' 카테고리의 다른 글
[Kali Linux] Route Injection 공격 (OSPF) (0) | 2019.11.13 |
---|---|
[Kali Linux] Route Injection 공격 (EIGRP) (0) | 2019.11.13 |
[Kali Linux] HSRP 공격 및 방어 (0) | 2019.11.12 |
[Kali Linux] CDP(Cisco Device Protocol) 공격 및 방어 (0) | 2019.11.12 |
[Kali Linux] NMAP 사용법 (0) | 2019.11.11 |
공부&일상 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요! 질문은 언제나 환영입니다😊