SFIO CRACHO - stock.adobe.com

Pentest: Arp-Scan, Nmap und Metasploit effektiv kombinieren

Mit Arp-Scans können Admins über Layer 2 im Netzwerk sehr effektiv und einfach Fehler identifizieren, Schwachstellen finden und Infos auslesen. Der Beitrag zeigt, wie das geht.

Das Address Resolution Protocol (ARP) agiert auf Layer 2 im Netzwerk und kann Informationen auslesen, die für das Absichern des Netzwerks nahezu unverzichtbar sind. Zusammen mit Nmap und Metasploit ergibt sich eine Kombination von Sicherheitstools, mit der Admins nahezu alle relevanten Lücken in einem Netzwerk identifizieren und einen Überblick erhalten, der für die Schwachstellen-Analyse extrem sinnvoll ist.

In Kali Linux sind alle Tools bereits integriert und lassen sich unkompliziert nutzen. Auf anderen Linux-Distributionen ist die Installation aber ebenfalls nicht sehr kompliziert. Die Befehle, die in diesem Beitrag ausgeführt werden, benötigen fast immer erhöhte Rechte, wir starten sie daher auf Kali-Linux in einer Root-Shell. Zum Einsatz kommen neben arp-scan, arp-fingerprint, arping auch EtherApe, netdisover, nmap und Metasploit

So funktioniert ARP

Bei der Verwendung von ARP kommt die MAC-Adresse der Netzwerkadapter zum Einsatz. Sendet ein Netzwerkgerät ein Datenpaket zu einem anderen Gerät, muss es dessen MAC-Adresse kennen. Diese ist normalerweise in der lokalen ARP-Tabelle gespeichert. Ist das nicht der Fall, sendet das Gerät einen ARP-Request zum Client, und zwar als Broadcast in das ganze Netzwerk. Der Request enthält IP-Adresse und Mac-Adresse des Quell-Hosts.

Der Ziel-Host erkennt die Anfrage und antwortet mit einem ARP-Reply, das ebenfalls IP-Adresse und Mac enthält. Auf Quell- und Ziel-Hosts erfolgt dadurch eine Aktualisierung der ARP-Tabelle, die so immer mehr Informationen enthält. Tools wie EtherApe können in diesem Fall hilfreich sein, da sie den Datenverkehr visualisieren. Das Tool ist standardmäßig nicht installiert, das lässt sich aus den Datenquellen aber schnell nachholen, zum Beispiel mit apt install etherape.

EtherApe ist ein wertvolles Zusatztool, um den Datenverkehr beim Einsatz von Arp-Scan, Nmap und Metasploit grafisch zu visualisieren.
Abbildung 1: EtherApe ist ein wertvolles Zusatztool, um den Datenverkehr beim Einsatz von Arp-Scan, Nmap und Metasploit grafisch zu visualisieren.

Damit sich EtherApe auf Layer 2 konzentriert erfolgt im Tool die Umstellung über Erfassung/Modus/Sicherungsschicht oder Capture/Mode/Link Layer. Dadurch sind die MAC-Adressen der beteiligten Geräte zu sehen.

Mit ARP im Netzwerk scannen: arp-scan, arp-fingerprint und netdiscover

Um mit ARP im Netzwerk zu scannen, kommt das Tool arp-scan zum Einsatz. Die Installation erfolgt mit apt install net-tools, bei Kali Linux ist auch dieses Tool bereits installiert. Mit arp-scan 10.0.0.0/16 scannt das Tool mit ARP das komplette Netzwerk und listet in wenigen Sekunden alle aktuellen IP-Adressen, die dazugehörigen MAC-Adressen und den Hersteller der Geräte.

Ein ARP-Scan offenbart bereits wichtige Informationen zu allen Netzwerkgeräten.
Abbildung 2: Ein ARP-Scan offenbart bereits wichtige Informationen zu allen Netzwerkgeräten.

Diese Daten sind bereits wertvoll. Es geht aber noch weiter: Mit arp-fingerprint -l -v sendet Kali Linux mit ARP noch verschiedene Flags in das Netzwerk, um umfassende Informationen von allen Clients auszulesen, auch Betriebssystem und andere Daten. Das alles erfolgt weiterhin über Layer 2. Diese Befehle lassen sich in verschiedenen Terminals parallel ausführen und EtherApe zeigt an, wie der Datenverkehr stark ansteigt.

Parallel dazu kann netdiscover -r 10.0.0.0/16 im Netzwerk weitere Daten auslesen und tabellarisch auflisten. Das Tool ist in Kali Linux bereits installiert. Dadurch ergibt sich ein umfassendes Bild, welche Geräte im Netzwerk aktuell aktiv sind, wie deren IP-Adresse und MAC-Adressen lauten, die installierten Betriebssysteme, die verwendeten Protokolle, die Hersteller und sehr viel mehr.

Netdiscover identifiziert aktive Geräte, deren IP-Adresse, MAC-Adresse und den Hersteller.
Abbildung 3: Netdiscover identifiziert aktive Geräte, deren IP-Adresse, MAC-Adresse und den Hersteller.

Wenn ICMP-Pings blockiert sind, hilft arping

In vielen Netzwerke ist ICMP blockiert, so dass herkömmliche Ping-Befehle oft keine Antworten erhalten, obwohl das entsprechende Gerät online ist. Das lässt sich mit ARP-Ping umgehen. Denn hier pingt das Tool nicht die IP-Adresse an, sondern auf Layer 2 die Mac-Adresse. Der Befehl lässt sich aber dennoch mit der IP-Adresse absetzen. Reagiert der Computer mit der IP-Adresse 10.0.1.245 zum Beispiel nicht auf ein ICMP-Ping, kann ein Test mit arping 10.0.1.245 erfolgen. Auch dieses Tool ist Bestandteil von Kali Linux. Der Befehl nutzt kein ICMP, sondern verfolgt die Laufzeit der Pakete zur mit dieser IP-Adresse verbundenen MAC-Adresse und zeigt das Ergebnis an.

Mit arping lassen sich die Laufzeiten von Netzwerkpaketen nachverfolgen und dadurch Pings simulieren, ohne auf ICMP zu setzen.
Abbildung 4: Mit arping lassen sich die Laufzeiten von Netzwerkpaketen nachverfolgen und dadurch Pings simulieren, ohne auf ICMP zu setzen.

Mit Nmap, Skripten und Metasploit diese Daten nutzen und nach Lücken suchen

Die hier gewonnenen Daten lassen sich unter anderem dadurch nutzen, indem auf allen Geräten oder auf bestimmten Geräten nach Sicherheitslücken gesucht wird. So kann man zum Beispiel mit den beiden folgenden Befehlen für alle Geräte im Netzwerk, die auch über ARP ausgelesen wurden, die offenen Ports ermitteln sowie das installierte Betriebssystem:

nmap -sS 10.0.0.0/16

nmap -O 10.0.0.0/16

Neben der Möglichkeit ganze Subnetze oder einzelne IP-Adressen zu scannen, ist es auch möglich, die über ARP gewonnen Daten und IP-Adressen in eine Textdatei zu schreiben, in der in jeder Zeile die zu untersuchenden IP-Adressen enthalten sind. Die Untersuchung erfolgt dann mit:

nmap -O -iL ipliste.txt

Wenn die Betriebssysteme der Geräte bekannt sind, kann mit Nmap-Skripten gezielt nach Schwachstellen auf den gefundenen Geräten gesucht werden. Das geht mit einzelnen IP-Adressen oder mit einer Textdatei, in der die IP-Adressen aufgelistet sind:

sudo nmap --script vuln -iL ipliste.txt

Nmap findet mit Skripten gezielt Schwachstellen auf identifizierten Geräten.
Abbildung 5: Nmap findet mit Skripten gezielt Schwachstellen auf identifizierten Geräten.

Unter de Punkt Host script results: ist zu sehen, welche Sicherheitslücken auf den Endgeräten vorhanden sein könnten. Diese Daten lassen sich wiederum mit Metasploit weiterverwenden. Innerhalb von Metasploit lässt sich mit der msfconsole in Erfahrung bringen, ob diese Lücken auch Bestandteil von Metassploit sind, zum Beispiel mit search ms17, wenn Nmap die SMB-Lücke „smb-vuln-ms17-010“ gefunden hat.

Hat Metasploit die Lücke in der Suche gefunden, lässt sich das Auxiliary-Modul in Metasploit mit use 3 in diesem Beispiel nutzen, wenn die Lücke mit search gefunden wird. Nach der Eingabe von options erfolgt dann mit set rhost <IP-Adresse> die IP-Adresse, die auf diese Lücke untersucht werden soll. Mit run startet der Test und zeigt an, ob das Gerät tatsächlich anfällig für diese Lücke ist.

In Metasploit nach Sicherheitslücken suchen, die Nmap auf Netzwerkgeräten vermutet.
Abbildung 6: In Metasploit nach Sicherheitslücken suchen, die Nmap auf Netzwerkgeräten vermutet.

Durch eine andere Auswahl bei search, zum Beispiel eines gefundenen Exploits, lässt sich diese Lücke aktiv und aggressiv testen, indem wieder mit set rhost <IP-Adresse> die Adresse des Clients angegeben wird. Anschließend wird mit exploit getestet, ob such die Lücke ausnutzen lässt.

Rechtlicher Hinweis

Die hier vorgestellten Programme sind sogenannte Dual-use-Tools. Sie können einerseits von befugten Administratoren für ihre legitimen Aufgaben genutzt werden, andererseits helfen sie aber auch Angreifern für die Vorbereitung und Durchführung von Straftaten. Lesen Sie dazu auch unseren Artikel Die aktuelle Rechtslage bei Penetrationstests sowie den Hinweis im Beitrag Pentest mit Nmap: So hacken Sie Ihr eigenes Netzwerk.

Erfahren Sie mehr über Netzwerksoftware