1A-Fakten.de - Home Unterseiten |
ARP-Spoofing - Fälschen des DNS!
Beim ARP-Spoofing wird dem Absender eine falsche Adresszuordnung übermittelt!
Kaum einer nimmt das Netzwerkprotokoll ARP wahr, da es im Normalfall problemlos im Hintergrund seine Dienste verrichtet - Jedoch sind mit diesem Protokoll erhebliche Gefahren verbunden, deren viele sich oft nicht bewusst sind.
Von Vielen
wird das Adress-Resolution-Protokoll (ARP) oft eher ignoriert, obwohl es
einen Grundbaustein eines jeden IP-Netzwerks darstellt. Einer der Gründe
dafür ist sicherlich, dass es im Hintergrund meist problemlos läuft und kaum
der Pflege bedarf.
Dies ist jedoch nur auf den ersten Blick der Fall, denn ARP birgt ein hohes
Gefahrenpotenzial, dessen sich viele oft nicht bewusst sind. Seit vielen
Jahren gehören Man-in-the-Middle-Attacken, die auf den Missbrauch von ARP
zurückzuführen sind, zum festen Repertoire vieler Hacker.
Für die IP-Kommunikation über das Netzwerk ist ARP ein unverzichtbarer
Bestandteil, da die eigentliche Adressierung im Netzwerk anhand der
MAC-Adressen stattfindet.
Eine MAC-Adresse (Medium Access Control) ist eine auf der Netzwerkkarte festgelegte Kennung, die im Normalfall einzigartig und unveränderbar ist. Die MAC-Adresse hat eine Länge von 48 Bit und wird in der Regel hexadezimal geschrieben.
Die ersten
24 Bit dieser Adresse beinhalten die Herstellerkennung der Netzwerkkarte,
die von der IEEE (Institute of Electronic Engineers) vergeben wird.
Zum Beispiel die MAC-Adresse
00-0F-79-XX-XX-XX können Sie somit z.B. als die zugehörige Netzwerkkarte von
Dell identifizieren. Eine Liste aller herstellerbezogenen MAC-Adressen
finden Sie unter:
standards.ieee.org
Vor jedem
Datenaustausch im eigenen Netzwerksegment stellt der Versender-Host einen
ARP-Request, um die MAC-Adresse des Kommunikationspartners in Erfahrung zu
bringen.
Das unterschätzte Risiko
ARP ist ein eher einfaches Protokoll, das keinerlei
Sicherungsmechanismen gegen missbräuchliche Benutzung vorsieht. Im
Normalfall antwortet auf den ARP-Request der potenzielle Empfänger mit einem
an den Versender gerichteten ARP-Reply, das seine MAC- und IP-Adresse
enthält.
Das
Protokoll stellt keine Möglichkeit bereit, zu verifizieren, ob diese
Information stimmt. Aus diesem Grund kann jeder beliebige Host im Netz auf
diese Anfrage antworten und seine eigenen Werte als richtig deklarieren.
Auch wenn der "echte" Host zuerst auf den Rundruf antwortet, überschreiben
später eintreffende Informationen die alten Einträge im ARP-Cache des
Versenders. Das Gleiche geschieht beim Empfang von ARP-Replies, denen kein
ARP-Request vorausgeht.
Ein Angreifer muss mit einem Programm wie Ettercap lediglich entsprechende ARP-Replies an seine Opfer versenden, um die Zuordnungen zu seinen Gunsten zu verändern und den Datenstrom auf einen Rechner seiner Wahl umzuleiten.
ARP-Poisoning: Verseuchter ARP-Cache eines Netzwerkrechners. Auffällig ist die stets gleiche MAC-Adresse hinter der IP-Adresse - In Ausführen eingeben: cmd.exe dann arp -a
Das
vorgestellte Verfahren wird für eine Reihe verschiedener Angriffsmethoden
verwendet, die alle zum Ziel haben, den Datenstrom zwischen kommunizierenden
Hosts mitzulesen.
Klassisches ARP-Spoofing
Beim ARP-Spoofing wird dem Absender eine falsche
Adresszuordnung übermittelt
Ein Anwendungsbeispiel aus der Praxis ist das Fälschen des DNS.
Der Angreifer bekommt dadurch die Möglichkeit zu kontrollieren, welche Adressen wie aufgelöst werden, da er anstelle des eigentlichen Name-Servers diese Auflösung übernimmt. Dadurch ist er in der Lage, Adressen vertrauenswürdiger Seiten auf eigene Server umzuleiten, um beispielsweise eingegebene Passwörter oder PINs in Erfahrung zu bringen.
DNS-Spoofing wird auch zur Zensur im Internet verwendet
Ein anderes Beispiel ist das Spoofen des DHCP-Servers
Da zusätzlich zur IP-Adresse noch diverse andere Daten wie das Gateway oder die Adresse des Nameservices übertragen werden, ist der Angreifer dadurch in der Lage, die Kommunikationswege des Rechners zu manipulieren, um damit eine Man-in-the-Middle-Attacke einzuleiten.
Man in the Middle
Generell ist darunter zu verstehen, dass die Kommunikation zwischen
zwei Verbindungspartnern transparent über einen dritten Host läuft.
Transparent heißt in diesem Zusammenhang, dass weder der Absender noch der
Empfänger bemerken, dass sie eigentlich nicht direkt miteinander verbunden
sind, sondern über einen dritten Host, der ähnlich wie ein Gateway die
Informationen weiterleitet.
Realisiert wird das auf verschiedene Weisen, abhängig davon, welche Verbindung betroffen ist. Befinden sich beide Hosts im gleichen Subnetz, versendet der Angreifer seine eigene MAC-Adresse an beide Hosts mit der IP-Adresse des jeweils anderen. Sowohl Rechner A als auch Rechner B verbinden sich mit Rechner C in dem Glauben, miteinander verbunden zu sein.
Der unsichtbare Dritte: Ein Angreifer übernimmt die Vermittlerrolle zwischen zwei Hosts und versetzt sich dadurch in die Lage, jegliche Kommunikation zwischen den beiden mitzulesen und zu beeinflussen.
Verbindungen zu Hosts außerhalb des eigenen Netzwerksegments werden über das Spoofen des entsprechenden Gateways realisiert. Auf diesem Weg können sämtliche Verbindungen in andere Netzwerke manipuliert und mitgelesen werden - Dies betrifft auch verschlüsselte https-Verbindungen. Der Angreifer übermittelt dem Client zu diesem Zweck ein eigenes, gefälschtes Zertifikat und leitet die Verbindung ähnlich eines Proxies weiter an den eigentlichen Server.
Da es sich
im Regelfall um ein so genanntes "untrustet Certificate" handelt, geben
gängige Browser wie Internet Explorer und Firefox jedoch eine entsprechende
Warnmeldung aus. Die Daten werden in diesem Fall vom Man in the Middle
transparent für die eigentlichen Verbindungspartner entschlüsselt,
mitgelesen und verschlüsselt an den eigentlichen Adressaten weitergeleitet.
Connection Hijacking
Connection Hijacking ist vergleichbar mit einem
Man-in-the-Middle-Angriff.
Der Unterschied ist, dass bestehende Verbindungen übernommen werden. Anwendung findet dies in erster Linie bei unverschlüsselten Protokollen wie Telnet, die eine kontinuierliche Verbindung aufbauen. In die Kommunikation von verschlüsselten Verbindungen kann der Angreifer auf diese Weise nicht mehr eingreifen, da er nicht im Besitz der dafür notwendigen Schlüssel ist.
Schutzmaßnahmen
Weist der ARP-Cache mehrere Einträge mit identischen MAC-Adressen auf,
ist das ein Indiz, dass diese gespooft wurden. Dies muss jedoch nicht
zwingend der Fall sein, da ein Host über mehrere IP-Adressen auf dem
gleichen Netzwerk-Device verfügen kann; in der Regel findet das jedoch nur
bei Servern Anwendung.
Eine effektive Maßnahme, um den Missbrauch von ARP vorzubeugen, ist die
Verwendung von Layer-3-Switches. Das Konzept dieser Switches sieht vor, die
Verbindung nicht nur anhand der MAC-Adresse zu identifizieren, sondern auch
anhand der IP-Adresse - Häufige Änderungen der MAC/IP-Zuordnung (flip-flop)
werden vom Switch bemerkt und gegebenenfalls verhindert. Einziger Haken ist
der im Verhältnis zu herkömmlichen Layer-2-Switches hohe Preis.
Eine
gute Firewall blockt das ARP-Protokoll auch
Speziell für größere Netzwerke wird eine Umrüstung der
Switches deshalb schnell zu einem beachtlichen Kostenfaktor. Managed
Layer-2-Switches sind zwar in der Lage, die Veränderung der MAC-Adresse an
einem überwachten Port wahrzunehmen, nicht jedoch die veränderte Zuordnung
zu IP-Adressen.
Abhilfe schafft auch die richtige Konfiguration der Hosts im Netz, um
zumindest die wichtigsten Angriffsziele wie den Gateway, DNS oder Mailserver
gegen einen Man-in-the-Middle-Angriff zu sichern.
Konfiguration unter Windows
Alle modernen Windows-Versionen bringen von Hause aus das
Kommandozeilen-Programm "arp" mit, über welches der Anwender den ARP-Cache
auslesen und beeinflussen kann.
arp -a Zeigt den ARP-Cache an
arp -s Fügt einen statischen Eintrag hinzu
arp -d Löscht einen Eintrag
ipconfig /renew Eine neue DHCP-Lease wird vom DHCP-Server angefordert ( IP wird erneuert)
arp -d *
Der ARP-Cache wird geleert.
nbstat -R Der NetBIOS-Cache wird neu geladen
nbtstat -RR Die eigenen NetBIOS-Namen werden gesendet und
alle Namen werden neu registriert.
ipconfig /flushdns Der DNS-Cache wird gelöscht.
ipconfig /registerdns Der eigene DNS-Name des Rechners wird
neu registriert.
Der Aufruf des Kommandos (netsh interface ip
delete arpcache), löscht den kompletten ARP-Cache
Als vorbeugende Schutzmaßnahme ist empfehlenswert, wichtige Einträge wie
verwendete Gateways oder Name-Services, die sich im gleichen Netzwerksegment
befinden, statisch in den ARP-Cache einzutragen. Mit einer Batch-Datei, die
beim Systemstart geladen wird, ist das problemlos zu bewerkstelligen.
Erzeugen eines statischen ARP-Caches
Gehen Sie zum Absichern bestimmter Hosts wie folgt vor
Pingen Sie die Hosts an, die Sie statisch eintragen möchten.
Dadurch wird ein Eintrag im ARP-Cache generiert, den Sie wie oben
beschrieben auslesen können.
Erstellen Sie eine Datei "arpstart.bat" und öffnen Sie diese mit dem Texteditor.
Fügen Sie die Adressen, wie folgt, in die Datei ein:
als Beispiel
arp -s 192.168.0.11
00-40-c1-5a-71-76
arp -s 192.168.0.12 00-10-21-0c-66-31
arp -s 192.168.0.13 00-30-21-63-42-09
Legen Sie in der Registry im Verzeichnis
HKEY_LOCAL_MACHINE-SOFTWARE-Microsoft-Windows-CurrentVersion-Run,
einen neuen Eintrag als Zeichenfolge (REG-SZ) an und verweisen Sie damit auf
die erstellte Batch-Datei; zum Beispiel c: arpstart.bat
Damit wird bei jedem Systemstart das Skript geladen und die Einträge fest in den Cache geschrieben.
Untouchable: Ein statischer ARP-Cache hilft, böswillige
Veränderungen an der MAC/IP-Zuordnung zu verhindern
ARP-Tuning über die Windows Registry
Praktisch alle modernen Microsoft-Betriebssysteme versenden
beim Systemstart einen so genannten Gratuitous ARP-Request mit ihrer
eigenen IP-Adresse.
Bekommt das System einen ARP-Reply, der das Vorhandensein der eigenen
IP-Adresse im Netz anzeigt, verweigert Windows mit der Fehlermeldung
(Microsoft Windows konnte sich nicht an das Netzwerk anmelden, da die
IP-Adresse bereits vergeben ist) die Anmeldung im Netzwerk.
Dies funktioniert jedoch nur im homogenen Windows-Netzwerk, da diese
Funktion beispielsweise in Linux-Maschinen nicht implementiert ist.
Entsprechend überprüft Linux weder beim Systemstart das Vorhandensein
anderer Rechner mit derselben IP-Adresse, noch reagiert es auf Anfragen
anderer Rechner diesbezüglich.
Gibt es mich? - Diese Frage stellt ein Windows-Host bei der
Anmeldung in das Netzwerk - Linux weiß keine Antwort darauf
Schwerwiegende Funktions- oder Performance-Einbußen sind bei der Vergabe
von identischen IP-Adressen im gleichen Netzwerksegment vorprogrammiert.
Unter bestimmten Umständen ist es jedoch hilfreich, diesen initialen
Broadcast zu unterdrücken. Windows ab Version NT 4 sieht dafür einen
Registry-Schlüssel vor, der diesen Rundruf beim Systemstart deaktiviert.
Öffnen Sie mit dem Registry-Editor das Register
HKEY_LOCAL_MACHINE-SYSTEM-CurrentControlSet-Services-Tcpip-Parameters
Setzen
Sie den Wert des Eintrags ArpRetryCount auf "0".
Sollte dieser Eintrag (wie etwa bei Windows XP) noch nicht vorhanden
sein, erstellen Sie diesen als DWORD-Wert und verfahren Sie wie oben.
Öffnen Sie mit dem Registry-Editor das Register
HKEY_LOCAL_MACHINE-SYSTEM-CurrentControlSet-Services-Tcpip-Parameters
Erstellen Sie als REG-DWORD den Eintrag ArpCacheLife und geben Sie im
Anschluss die Zeit in Sekunden an, die zukünftig Einträge im Cache
gehalten werden sollen.
Tools für Windows
Als präventive Schutzmaßnahme empfiehlt es sich, in jedem
Netzwerksegment das Tool XArp im Hintergrund mitlaufen zu
lassen. Das Programm protokolliert sämtliche Veränderungen in der
Zuordnung zwischen IP-und MAC-Adresse und stellt diese übersichtlich
dar.
Mac-Adresse ändern mit: MacMakeup,
EtherChange,
Change MAC Address
XArp - Advanced ARP Spoofing Detection
Das Risiko, das von ARP (ARP-Spoofing) ausgeht, ist nicht zu unterschätzen.
Jedoch reichen oft schon einige kleine Änderungen, um sowohl das Netz
sicherer zu machen, als auch solche Attacken aufzuspüren.
Der sicherste, aber auch teuerste Weg ist sicherlich das Verwenden
geeigneter Layer-3-Switches.
Das
Einrichten eines statischen ARP-Caches, der die wichtigsten
Host-Zuordnungen festlegt, reicht jedoch oft schon aus, um zumindest
einen Grundschutz vor ARP-Spoofing zu gewährleisten.
Jedoch hat diese Methode auch ihre Grenzen.
Hosts, deren IP-Adresse sich regelmäßig ändert, sind ebenso wenig zur Erfassung geeignet wie Load-balanced- und Fail-over-Systeme, die mit mehr als einer Maschine nach außen hin auftreten.
Auch als Schutz gegen gespoofte DHCP-Server ist diese Art der Vorbeugung wirkungslos, da der Kontakt zu diesem bereits hergestellt ist, bevor der statische ARP-Cache geladen wird.
Überwachung und Datenspeicherung - Die digitale Welt - Cloud-Gefahren - VoIP-Spionage - DNSSEC - Offizieller Trojaner - Smart Home oder Smart Spion!? - Geliebte Spione - Strahlenbelastungen, Mobilfunk, etc. - Lobbyismus, Korruption, Totalitarismus - Polizeigesetze, Urteile, Abgeordnete - BRD, EU - Diktatur - Stasi-DDR 2.0!?