You cannot see this page without javascript.

메뉴 건너뛰기

WHKorea

Smurf Attack / Land Attack / Ping of Death

 

 

1. Smurf Attack

떼지어(broadcast) 다니는 개구장이 스머프(smurf)처럼, icmp broadcast 패킷을 이용하는 방법

같은 네트워크 상의 사용자 들에거 송신지를 Target IP로 속인뒤 ICMP echo Request 메시지를 Broadcast로 날린다.

그러면 메시지를 받은 호스트들은 Traget IP로 ICMP echo Reply 메시지를 보내게 되는데

(공격자는 수신지 ip 를 network id 로 하거나 broadcast 주소로해서 보낸다) 이과정을 여러 번 반복하여

공격 대상의 서비스를 다운시키는 공격으로 단일로 사용할때 보다 다른 개념들과 복합적으로 사용될때 그 효과가 증폭된다.

막기위한 벙법으로 라우터 단에서 Direct Broadcast를 차단하는방법

 

-스머프(smurf) 공격은 출발지(Source) IP를 희생자(Target) IP로 위조(IP Spoofing)한후 증폭 네트워크로 ICMP Echo Request를

브로드캐스트(Broadcast)함으로써, 다수의 ICMP Echo Reply 가 희생자에게 전달되어 서비스 거부를 유발 시키는 공격기법이다.

- Directed Broadcast : IP 주소의 호스트 ID 비트를 모두 1로 설정하여 broadcast하는 방식을 Directed Broadcast라고 한다

원격지 네트워크에 Broadcast를 해야 할 경우에 원격지 주소의 호스트 ID 비트를 1로 설정하여 전송을 하게 된다. 이 때

원격지 라우터의 Directed Broadcast 가 활성화 되어야 가능한데 일반적으로 보안상의 문제로 허용하지 않는다.

- Amplifier(Bounce) Network(증폭 네트워크) : ICMP Echo Request 브로드캐스트 메시지를 받아서 희생자(Target)에게 다수의

증폭된 ICMP Echo Reply 를 전송하는 네트워크를 말한다.

 

- 대응책 : 스머프 공격의 특성상 공격이 시작되면 단시간에 다수의 ICMP Eco Reply 패킷을 희생자(Target)에게 전송한다. 따라서

동일한 ICMP Echo Reply 패킷이 다량으로 발생한다면 해당 패킷들을 침입차단시스템을 통해 모두 차단(Drop)시킨다.

증폭 네트워크로 사용되는 것을 막기 위해 다른 네트워크로 부터 자신의 네트워크로 들어오는 Directed Broadcast 패킷을

허용하지 않도록 라우터 설정을 한다. 예) (config-if)# no ip directed-broadcast

브로드캐스트 주소로 전송된 ICMP Echo Request 메시지에 대한 응답하지 않도록 시스템 설정을 한다.

 

hping3 [전체 (브로드케스트 ip) ] -a [희생자 ip ] --icmp --flood

 

2. Land Attack (Local Area Network Denial Attack)

인위적으로 송신지 IP주소및 포트를 목적지(대상서버) IP주소및 포트와 동일하게 설정하여 트래픽을 전송 - source IP spoofing

공격자는 공격대상 시스템의 IP주소로 출발지주소를 변경한 TCP SYN 패킷을 보냅니다. 이 패킷을 받은 시스템은

TCP SYN-ACK을 자신에게 보내게 되고 유휴시간제한까지 빈 연결 만들게 됩니다. 이과정을 반복하게 되면

시스템에는 빈 연결이 계속해서 쌓여 시스템 버퍼가 범람하게 되고 결과적으로 서비스거부 상태가 됩니다.

IPS 장비에서 소스와 목적지 IP가 동일한 패킷 차단

 

- land는 착륙하다, 나쁜 상태에 빠지게 한다는 의미가 있다. 따라서 해당 시스템을 나쁜 상태에 빠지게 하는 공격기법이라고

생각하면 된다.

- 출발지(source) IP와 목적지(destination) IP가 같은 패킷을 만들어 보냄으로써 수신자가 자기 자신에게 응답을 보내게 하여 시스템의

가용성을 침해하는 공격이다.

 

- 대응책 : 대부분의 OS 는 Land Attack에 대한 면역성을 가지고 있다. Source 와 Destination IP 주소가 동일한 패킷의 경우 모두 Drop 시키기

때문에 현재는 이론상으로만 존재하는 공격기법이다. 방화벽에서는 출발지와 목적지가 같으면 무조건 Drop 시킨다.

 

hping2 [희생자 ip] -a [희생자 ip] -s [보내는 포트번호] -p [받는 포트 번호] -S -c 100

-S : SYN

-c : count

hping2 192.168.0.8 -a 192.168.0.8 -p 80 -S -i ul

-i : wait

 

 

3. Ping of Death

Ping 을 이용하여 icmp 패킷을 정상적은 크기 (64K)보다 아주 크게 하여 전송을 하면 단편화와 재조합이 발생되고

비정상적인 패킷으로 버퍼 오버플로우가 발생하여 시스템에 치명적은 오류 발생되게 하는 공격

 

- ICMP 패킷 (Ping)을 정상적인 크기보다 아주 크게 만들어 전송하면 MTU(Maximum Transmission Unit)에 의해 다수의

IP 단편화(fragment)가 발생하게 한다

- MTU는 물리적인 네트워크 프로토콜(Network Interface 계층)의 데이터부(Payload)의 최대 크기를 의미한다.

- Ethernet의 경우 1500 Bytes, 즉 IP 패킷의 최대 크기가 1500 bytes 이기 때문에 IP 헤더부(기본 20bytes)를 제외하면

ICMP 패킷은 최대 1480 bytes의 크기로 생성된다.

- 수신측에서는 단편화된 패킷을 처리(reassembling,재조함) 하는 과정에서 많은 부하가 발생하거나, 재조합 버퍼의

오버플로우가 발생하여 정상적인 서비스를 하지 모하도록 한다.

 

- 대응책 : Ping of Death 공격의 핵심은 Ping 패킷의 데이터 크기를 매우 크게 하여 패킷을 몇 개만 보내도

수십 개로 분할하여 목적지로 송신되는 것이다. 보통의 ICMP패킷은 분할하지 않으므로 패킷 중 분할이 일어난 패킷을

공격으로 의심하여 탐지하는 방식을 사용한다. 현재 대부분의 시스템은 Ping of Death 공격을 받을 때 반복적으로 들어오는

일정 수 이상의 ICMP 패킷을 무시하게 설정되어 있다. 만약 여전히 취약점을 가지고 있다고 패치가 필요하다.

 

hping2 -1 192.168.0.89 -d 80000

으로 공격테스트를 해보면 패킷들이 1500Byte 씩 쪼개져서 전달이 된다. 원래 공격은 Ping Packet의 크기가 65535bytes를

넘게 되면 OS 오류를 발생시켜야 하지만 이미 패치된 공격이므로 아무일도 일어나지 않는다.

 

 

 

 

위로