DHCP Starvation Attack

Einleitung zu DHCP Angriffen

In diesem Artikel erklären wir DHCP Angriffe und stellen sie detailliert da. Die grundsätzliche Funktionsweise des DHCP Protokolls erklären wir in unseren Artikel Wie funktioniert DHCP?

Was ist eine DHCP Starvation Attack?

Bei DHCP-Starvation-Angriffen überflutet ein Angreifer den DHCP-Server mit DHCP-Anfragen, um alle verfügbaren IP-Adressen zu verbrauchen, die der DHCP-Server vergeben kann. Nachdem diese IP-Adressen vergeben wurden, kann der Server keine weiteren Adressen mehr vergeben und diese Situation führt zu einem Denial-of-Service-Angriff (DoS), da neue Clients keinen Netzwerkzugang erhalten können.

Der Angreifer sendet eine Reihe an DHCP DISCOVER Requests. Um mit jedem DISCOVER eine neue IP-Adresse vom DHCP Server zu bekommen, wird bei jedem Request die MAC-Adresse und die Transaktion ID verändert. Wenn der Server auf diese Requests mit einem DHCP OFFER antwortet wird kurzzeitig eine IP für den Client reserviert. Hierfür muss vom anfragenden Client noch kein DHCP REQUEST erfolgen. Ein anderer Client kann somit diese IP-Adresse nicht mehr bekommen. Die Reservierung der IP-Adresse nach einem DHCP OFFER bleibt jedoch nur kurzzeitig bestehen. Das DHCP Lease wird erst komplett reserviert wenn der DHCP Handshake vollständig durchgeführt wird.

Diese Methode der DHCP Angriffe, bedarf aber einem kontinuierlichen Versenden von DHCP DISCOVERS. Es besteht auch die Möglichkeit den DHCP Handshake für jeden Lease abzuschließen. Damit wären die IP Adressen für einen ganzen Leasezeitraum reserviert. Die Umsetzung dieser Attacke bedarf aber mehr Aufwand als der einfache „Spam“ von DHCP DISCOVER Paketen.

Der Denial-of-Service-Angriff auf einen DHCP Server wird meist genutzt um einen eigenen Rouge-DHCP Server im Netzwerk nutzen zu können, da hier das Prinzip „First-Come-First-Serve“ greift.

Verhindere einen Hackerangriff auf
Dein IT-System!
Teste jetzt deine IT durch einen professionellen Penetrationstest!
Zum Penetrationstest

Wie führe ich eine DHCP Starvation Attack durch?

Eine erfolgreiche DHCP Starvation Attack ist abhängig von der DHCP-Pool Größe. Je nach Größe ist es möglich alle möglichen Adressen des DHCP Servers kurzzeitig zu „reservieren“.

Je nachdem wieviele Zeit zwischen DHCP DISCOVER Paketen liegt, kann es sein, dass ein DHCP Server nicht alle DISCOVER Pakete beantworten wird. Hier empfiehlt es sich mit einem Delay zwischen den gesendeten Paketen zu experimentieren.

Yersinia das Tool für DHCP Angriffe

Yersinia ist besonders gut geeignet für DHCP Server welche eine hohe Lastfähigkeit haben und auch auf besonders schnell gesendet Anfragen antworten. Allerdings hat man hier keine Möglichkeit die Geschwindigkeit anzupassen und muss manuell via Wireshark testen ob der DHCP Server noch mit DHCP OFFER’s antwortet.  

1. yersinia -G 

2. „Launch attack“ clicken

3. „DHCP“ clicken

4. Haken bei „sending DISCOVER packet“ setzten

5. „OK“ clicken

6. -> „Exit“ clicken um die Attacke zu Stoppen

DHCP Angriffe Yersinia

Wie verhindert man eine DHCP Starvation Angriff?

Zum Schutz vor DHCP-Starvation-Attacks kann man die Port-Security auf SwitchPorts aktivieren. Diese Ermöglichen es jedem Port eine oder eine definierte Anzahl an MAC-Adressen zu erlauben. Somit verhindert man, dass sich ein Client mehrere MAC-Adressen zuweist um gefälschte DHCP-DISCOVER Anfragen zu Senden.

Was ist DHCP Spoofing?

Bei DHCP-Spoofing-Angriffen konfiguriert ein Angreifer einen gefälschten DHCP-Server im Netzwerk, um DHCP-Adressen an Clients zu vergeben. Der normale Grund für diesen Angriff ist, die Clients zu zwingen, falsche Domain Name System (DNS)- oder Windows Internet Naming Service (WINS)-Server zu verwenden und die Clients dazu zu bringen, den Angreifer oder einen Rechner unter der Kontrolle des Angreifers als Standard-Gateway zu verwenden. 

DHCP-Starvation-Attacken werden oft vor einem DHCP-Spoofing-Angriff durchgeführt, um den legitimen DHCP-Server außer Gefecht zu setzten, was es einfacher macht, einen Rogue DHCP-Server in das Netzwerk einzuschleusen.

Wie setzte ich einen Rogue DHCP Server auf?

Metasploit

Metasploit hat standardmäßig ein Modul zum Aufsetzten eines DHCP Servers. Über dieses kann man unter anderem eine Reihe an Parametern an Clients weitergeben, welche zu einem Man in the Middle Angriff genutzt werden können. Die effektivsten Wege sind hierbei dem Client sich selbst als Gateway auszugeben somit kann sämtlicher Netzwerk Traffic mitgeschnitten werden.

1. ifconfig eth0:1

2. echo 1 > /proc/sys/net/ipv4/ip_forward

3. ifconfig eth0:1 192.168.1.11 netmask 255.255.255.0

4. route add default gw 192.168.137.1 eth0:1 (kontrollieren via ‚route -n’)

5. msfconsole -q -x ‘use auxiliary/server/dhcp’ 

6. Config nach belieben Anpassen (siehe options)

7. BspConfig

    > set srvhost 192.168.13.37 ( IP Adresse des DHCP Servers ) 

    > set netmask 255.255.255.0 ( Subnetz Maske ) 

    > set router 192.168.13.1 ( Standard Gateway des DHCP Leases ) 

    > set dnsserver 1.1.1.1 ( DNS Server des DHCP Leases )

Wie verhindert man DHCP Spoofing?

Eine der wirksamsten Lösungen zur Verhinderung von DHCP-Spoofing ist DHCP Snooping. Es ist eine Sicherheitsfunktion auf der zweiten Ebene des OSI-Modells. Die Funktion kann in den Switch implementiert sein, welcher die Clients mit den DHCP-Servern verbindet. Einfach ausgedrückt handelt es sich um ein Protokoll, dass zunächst alle DHCP-Informationen prüft, die den Switch durchlaufen und nur zugelassene Pakete von vertrauenswürdigen Servern werden zu den Clients durchgelassen. 

Ein nützlicher Nebeneffekt von DHCP Snooping ist nicht nur, dass ein Angreifer mit einem Rouge DHCP Server keinen Erfolg mehr hat, sondern auch, dass man jegliche andere Geräte die die Funktionalität eines DHCP Servers  erfüllen „aussperrt“. Ein Fremder Router, der durch einen Mitarbeiter ins Netzwerk gebracht wird, kann somit keine IP-Adressen mehr vergeben.

DHCP Angriffe DHCP-Snooping
Erhöhe jetzt das Sicherheitslevel
Deines IT-Systems!
Eine ausführliche Beratung erhältst Du nur von uns!
Jetzt kontaktieren
ANDERE BEITRÄGE
Teams Guest Enumeration
Teams Guest Enumeration

Azure Active Directory Enumeration durch Gäste in Microsoft Teams Was bedeutet das Finding Teams Guest Enumeration? Microsoft Teams bietet standardmäßig

Mehr lesen »

Inhaltsverzeichnis

Willst Du Teil unseres Teams werden?

Wir verwenden Cookies, um Ihnen die bestmögliche Erfahrung zu bieten. Wenn Sie unsere Website weiterhin besuchen, stimmen Sie der Verwendung von Cookies zu, wie in unserer Datenschutzerklärung beschrieben.