네트워크/네트워크 보안

DHCP Starvation

비니화이팅 2018. 2. 2. 19:53

* DHCP Starvation

-> 개념

- DOS공격 기법 중 하나이다.

- 공격자가 MAC Address를 계속 변경하여 DHCP Server로부터 IP를 할당받아서 DHCP Server가 보유하고 있는 모든 IP 주소를 할당받아 정작 정상적인 호스트가 IP를 할당받지 못하게 하는 방식이다.

- DHCP Server는 클라이언트가 전송하는 DHCP Discover안에 있는 MAC Address만을 보고 다른 장비 임을 구분하기 때문에 공격에 성공할 수 있다.


[실습 1]

- 실습을 진행하기 전 아래와 같은 토폴로지를 구성해준다.

 R1은 DHCP Server로 동작하고 있는 상태이다.

 -> 실습 환경

 - WinXP

 - BT(Attacker)


 -> 실습 도구  

 - dhcpx


- 현재 XP와 BT에서는 아래와 같이 DHCP Server로부터 IP를 정상적으로 할당받은 상태이다.


- 공격자 PC에서  DHCP Server를 찾기 위해 포트 스캐닝을 수행한다.


- 공격을 진행하기 위해 해당 경로로 이동한다.


- dhcpx의 옵션을 확인한다.


- 아래와 같이 공격을 수행한다.


- 그러면 DHCP Server에서 계속해서 IP를 얻어온다.


- 이 때의 패킷은 아래와 같다.


- 이를 R1에서 확인하면 DHCP Pool이 찬 것을 확인할 수 있다.

  공격자는 MAC Address를 바꾸면서 IP를 얻어온 것을 알 수 있다.


- 참고로 DHCP Pool을 비우려면 아래와 같은 명령어를 쓰면 된다.



[실습 2]

- 실습 환경과 토폴로지는 [실습 1]과 같다.

 -> 실습 도구

 - yersinia 


- 공격자 PC에서 yersinia -G를 입력하여 실행한다.

  (Run Application창은 Alt + F2를 눌러 실행할 수 있다.)


을 눌러 인터페이스를 선택하고 OK를 누른다.



을 눌러 공격 유형을 선택하고 OK를 누른다.




- 이때의 패킷을 확인하면 아래와 같다.


- XP에서 DHCP Server의 트래픽이 많아졌기 때문에 정상적으로 IP를 배정받지 못하는 것을 알 수 있다. 



* 대응법

1. L3 Switch 이상에서 port security기능을 사용한다. port security기능을 사용하면 해당 MAC Address에게만 IP를 할당하거나 해당 Port에 최대로 줄 수 있는 IP개수를 제한할 수 있다.