Geräte identifizieren und Layer-2 für Netzwerkscans nutzen Mit ARP-Scans Sicherheitslecks im Netzwerk finden

Von Thomas Joos 4 min Lesedauer

Mit dem Scannen über das Address Resolution Protocols auf Layer-2-Ebene des Netzwerks, können Admins einen durchaus interessanten Einblick in ihr Netzwerk erhalten. Die Ergebnisse spielen auch bei Penetrationstests eine wichtige Rolle.

EtherApe zeigt den Datenverkehr im Netzwerk grafisch an.(Bild:  Joos - EtherApe (Riccardo Ghetta, Juan Toledo))
EtherApe zeigt den Datenverkehr im Netzwerk grafisch an.
(Bild: Joos - EtherApe (Riccardo Ghetta, Juan Toledo))

Das Address Resolution Protocol (ARP) ist ein Protokoll, das auf Layer-2-Ebene das Netzwerk durchsuchen kann. Dabei kommen die MAC-Adressen als physikalische Adresse der verbundenen Geräte zum Einsatz. Für die Zustellung von IP-Paketen im Netzwerk spielt die MAC-Adresse eine wichtige Rolle, da diese für die Übertragung parallel zur IP-Adresse des empfangenden Gerätes bekannt sein muss. Bei der Übertragung kommt ein Ethernet-Frame zum Einsatz, wenn die Geräte per Kabel mit dem LAN verbunden sind. Dieser Frame enthält die MAC-Adressen des Senders und des Empfängers des Paketes. Die Aktionen und Tools in diesem Beitrag haben wir auf Ubuntu gestartet.

Die ARP-Tabelle und ihre MAC-Adressen

Sendet ein Host ein Datenpaket zu einem Ziel, muss er die MAC-Adresse des Ziels kennen. Diese ist in vielen Fällen aber nicht automatisch bekannt. Hosts im Netzwerk speichern jedoch normalerweise in der lokalen ARP-Tabelle die bekannten IP-Adressen und deren zugehöriger MAC-Adresse. Hier überprüfen Netzwerkgeräte zuerst, ob zur Ziel-IP-Adresse bereits eine MAC-Adresse hinterlegt ist, die für die Datenübertragung genutzt werden kann.

Bildergalerie
Bildergalerie mit 7 Bildern

Ist die MAC-Adresse eines Ziel-Hosts nicht bekannt, sendet der Quell-Host zunächst ein ARP-Request in das Netzwerk. Dies erfolgt als Broadcast, also an alle Computer und alle anderen Netzwerkgeräte, die mit dem Netzwerk verbunden sind. In dem Request sind die IP-Adresse und MAC-Adresse des Quell-Hosts zu finden sowie die Anfrage, wie die MAC-Adresse des Gerätes mit der Ziel IP-Adresse lautet. Erhält der Ziel-Host den ARP-Request, erstellt er zunächst einen Eintrag mit der IP-Adresse und der dazugehörigen MAC-Adresse des Quell-Hosts. Alle anderen Geräte verwerfen den ARP-Request, da er nicht für sie bestimmt ist.

Im Anschluss sendet der Ziel-Host einen ARP-Reply an den Quell-Host, der den ARP-Request abgeschickt hat. Der ARP-Reply enthält die IP-Adresse und die MAC-Adresse des Ziel-Hosts. Diese Daten trägt der Quell-Host in seine ARP-Tabelle ein. Im Anschluss sendet der Quell-Host den erstellten Ethernet-Frame an den Ziel-Host. Durch diese Vorgehensweise wird schnell klar, dass die ARP-Tabelle auf den verschiedenen Endgeräten zahlreiche IP-Adressen und MAC-Adressen von aktiven Clients im Netzwerk erhält und damit eine ideale Quelle für das Auslesen von Netzwerkinformationen ist.

Informationsbeschaffung im Netzwerk mit ARP und EtherApe

Um das ARP-Protokoll ideal zu nutzen, ist das Open Source-Tool EtherApe ideal. Wir haben das Tool bereits in unserer Tool-Sammlung „Open-Source- und Freeware-Tools zur Netzwerk-Analyse“ vorgestellt.

Hier verwenden wir EtherApe auf einem Ubuntu-Computer. Die Installation erfolgt in diesem Fall mit:

sudo apt install etherape

Das Tool muss mit Root-Rechten gestartet werden, um alle Informationen auszulesen und anzeigen zu können. Bereits kurz nach dem Start beginnt das Tool das Netzwerk nach IP-Adressen und Hosts zu scannen und diese anzuzeigen. Dabei zeigt es auch die Netzwerkprotokolle an, die aktuell im Einsatz sind und nutzt die Layer-3-Informationen um den IP-Datenverkehr zu erfassen.

Netzwerk mit EtherApe und arp-scan auf Layer-2-Ebene scannen

Um das Netzwerk auf Layer-2-Ebene zu scannen, wird in EtherApe der Scanvorgang zunächst gestoppt. Danach kann mit „Erfassung -> Modus -> Sicherungsschicht“ (auf englischen Computern Link Layer) die Scanebene auf Layer 2 gesetzt werden. Jetzt zeigt das Tool die aktiven MAC-Adressen und deren Datenverkehr im Netzwerk an.

Im Fenster sind im Anschluss alle Aktionen im Netzwerk zu sehen. Weitere Daten lassen sich im Terminal mit „arp -a“ anzeigen. Das funktioniert auch in Windows auf dem gleichen Weg. Wenn am Beispiel von Ubuntu arp noch nicht installiert ist, lässt sich das mit dem folgenden Befehl nachholen:

sudo apt install net-tools

Um die ARP-Tabelle weiter zu füllen, kann ein aktiver ARP-Scan gestartet werden, der das Subnetz nach aktiven Geräten durchsucht und die Daten in der Tabelle einträgt. Das lässt sich zum Beispiel mit folgendem Befehl abwickeln:

sudo arp-scan 10.0.0.0/16

Wenn der ARP-Scan nicht vorhanden ist, lässt sich auch dieses Tool über die Paketverwaltung installieren, und zwar mit:

sudo apt install arp-scan

ARP-Scan muss mit erhöhten Rechten gestartet werden. Im Fenster sind danach die aktiven IP-Adressen, deren MAC-Adressen und in den meisten Fällen auch die Hersteller der Netzwerkadapter zu finden. Der Datenverkehr, den ARP-Scan durchführt ist in EtherApe zu sehen; auch Tools wie WireShark zeigt den Datenverkehr an. Dabei führt das Gerät eine Verbindung zu allen erreichbaren Netzwerkgeräten durch. Dies verursacht eine Menge Datenverkehr.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zur IT-Sicherheit

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

arp-fingerprint sucht noch mehr Informationen

Noch mehr Informationen lassen sich mit dem Befehl „sudo arp-fingerprint -l -v“ per ARP auslesen. Hier verschickt das Tool verschiedene Flags, um an mehr Informationen der Ziele zu gelangen. Durch diese umfangreichen ARP-Anfragen kann arp-fingerprint umfassende Informationen aufzeichnen, die Netzwerkgeräte per ARP verraten. Dazu gehören zum Beispiel auch das installierte Betriebssystem und andere Daten.

Dieser Vorgang dauert jedoch sehr viel länger und zeigt in EtherApe sowie in WireShark den massiven Datenverkehr an, den der Client auslöst. Wenn EtherApe oder WireShark solche Aktionen anzeigen, ohne dass man selbst eine solche Aktion gestartet hat, deutet das darauf hin, dass aktuell ein Angriff im Netzwerk stattfindet und ein Akteur versucht an Informationen zu gelangen. Dabei kommen weiterhin die Layer-2-Ebene und ARP zum Einsatz.

Passiver oder Aggressiver ARP-Scan mit Netdiscover

Arp-Fingerprint und ARP-Scan gehen sehr aggressiv vor, wenn es darum geht Daten anzuzeigen. Das Tool Netdiscover ist hier deutlich diskreter und lauscht im Netzwerk nach ARP-Verkehr, ohne selbst ARP-Requests zu versenden. Daher ist diese Untersuchung von Netzwerken sehr unauffällig. Der Befehl dazu lautet:

sudo netdiscover -p

Durch den Parameter „-p“ arbeitet Netdiscover passiv. Mit dem Parameter „-r“ scannt Netdiscover aber ebenfalls sehr aggressiv im Netzwerk und sammelt Informationen. Seine Daten listet Netdiscover tabellarisch auf. Hier sind dann auch die IP-Adressen der Geräte zu finden.

sudo netdiscover -r 10.0.0.0/16

(ID:49834928)