- 공격자가 자신의 IP 주소를 다른 주소로 변조하여 공격을 수행한다.
- 이번 포스팅에서는 외부에서 내부로 공격하는 IP Spoofing 공격 및 방어에 대해 정리하였다.
1. 역추적을 피하기 위한 목적으로 IP 주소 변조
- Dos(Denial of Service)/DDos 공격을 수행할 경우 공격자는 자신의 IP 주소가 아닌 다른 IP 주소를 사용해야 역추적을 피할 수 있다.
- 좀 더 효과적으로 공격하기 위해서 실제 인터넷 망에 존재할 수 없는 IP 주소를 사용하여 공격을 진행한다.
- 실제 인터넷 망에 존재할 수 없는 IP 주소 사설 IP 주소 / Class D, E / 예약된 주소를 Bogon-Prefix 라고 부른다.
네트워크 구성
IP구성
- Attacker PC(2.2.2.1 / Kali Linux)
- Client(10.1.10.4 / Window 7)
- Target Server(10.1.250.3 / Window Server) 이다.
네트워크 설명
- Attacker 와 Target Server는 다른 네트워크에 위치하고 있다.
- Target PC는 웹 서버이고 같은 네트워크 내에 DNS 서버(10.1.250.1), 클라이언트(10.1.10.4)가 있다.
- Attacker PC(Kali Linux) 가 Web 서버를(Window Server) 마비시키기 위해서 IP를 변조해서 SYN Flooding을 수행하려고 한다.
- 패킷 이동 순서는 빨간선 - 파란선 - 초록선 순서로 진행된다.
- 이 공격을 간단히 표현하면 아래 그림과 같다.
1. Attacker PC(Kali Linux)에서 hping3 명령어를 사용하여 SYN Flooding 공격을 실행한다.
- hping3 -a 10.1.10.4 www.ictsec.com -p 80 -S 명령어를 사용한다.
-a [수정해서 보낼 IP] IP번호를 변환해서 보낸다.
-p [포트번호] 공격할 포트번호(목적지 포트) 지정
-S SYN Flooding 공격한다.
[추가 옵션]
-- flood 가능한 많은 메시지를 보낸다
--rand -source 랜덤한 출발지 IP
-1 ICMP 패킷을 보낸다
-2 UDP 패킷을 보낸다.
2. Client 에서 패킷 확인
- Client에서 SYN, ACK, RST 패킷을 확인하기 위해 Window 방화벽을 잠시 꺼둔다.
- Wireshack로 패킷을 확인하면 SYN, ACK, RST 패킷이 정상적으로 가는것을 확인할 수 있다.
- Bogon-Prefix IP 로 SYN Flooding을 수행하면 RST 메시지가 돌아오지 않아 서버에 패킷이 쌓이게 된다.
IP Spoofing 방어
- 외부에서 내부로 방어할수 있는 방법들을 정리 하였습니다.
Bogon-Prefix Filtering
- 일반적으로 Client 망에 경계 장비(Firewall 등)에서 구성 (현재 망에서는 CE Router 에서 구성)
- 다음과 같이 예약되어 있거나 혹은 실제 할당되지 않은 공인 IP 대역이 출발지인 패킷들을 Access-list를 사용하여 차단해야 한다.
- 하지만 랜덤한 IP로 공격이 오게 되면 모든 패킷을 막을 수 없다. (hping3 --rand-source)
uRPF(unicast Reverse Path Forwarding)
- 일반적으로 ISP 망 경계 장비에서 구성한다. (Service Provider에서 구성한다. / ISP Router 에서 구성)
- L3 장비는 Unicast 패킷을 전송하는 경우 기본적으로 PRF(Reverse Path Fowarding)을 수행하지 않는다.
- 출발지 IP 주소에 대한 도달성을 확인하지 않기 때문에 IP Spoofing 공격이 가능하다.
- 고객 망 내부의 경게 장비에서 Bogon-Prefix에 대한 필터링 정책을 구성한 경우에도 다른 장비에게 할당된 공인 IP 주소를 사용하는 IP Spoofing공격은 차단이 불가능 하다.
- 이러한 경우 ISP의 경계 장비에서 uRPF를 구성하면 ISP의 경계 라우터가 패킷을 수신할때마다 출발지 IP주소에 대한 도달성을 확인하고 도달성이 확인되지 않는 패킷들은 차단하게 된다.
- Cisco 라우터에서 uRPF를 구성하기 위해서는 반드시 해당 라우터에 IP CEF(Cisco Express Forwarding)기능이 활성화되어 있어야 한다. (오늘날에는 기본적으로 IP CEF가 활성화 되어있다.)
- uRPF가 설정된 라우터는 자신이 수신한 패킷의 출발지 IP 주소와 자신의 CEF Table 정보를 비교하여 역방향 체크를 수행한다.
ISP Router 설정
conf t ip cef int fa 1/0 ip verify unicast reverse-path
- verify - sh ip int fa 1/0 sh ip traffic → 차단된 패킷 확인 가능
|
'Hacking & Security > Kali Linux' 카테고리의 다른 글
[Kali Linux] Dos(Denial of Service) 공격 및 방어 (0) | 2019.11.11 |
---|---|
[Kali Linux] IP Spoofing 공격과 방어(2/2) (0) | 2019.11.11 |
[Kali Linux] DHCP(Dynamic Host Configuration Protocol) 공격과 방어(2/2) (0) | 2019.11.07 |
[Kali Linux] DHCP(Dynamic Host Configuration Protocol) 공격과 방어(1/2) (0) | 2019.11.07 |
[Kali Linux] ARP(Address Resolution Protocol) Spoofing 공격과 방어(2/2) (0) | 2019.11.06 |
공부&일상 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요! 질문은 언제나 환영입니다😊