Pastel - stock.adobe.com

hping3: Lücken und offene Ports finden, Firewalls prüfen

Mit hping3 lassen sich im Netzwerk offene Ports und damit verbundene Schwachstellen identifizieren. Dazu kommt auch die Möglichkeit, die Sicherheit von Firewalls zu überprüfen.

Um Schwachstellen im Netzwerk zu finden, können Tools wie hping3, tcpdump und ptunnel eine wertvolle Hilfe sein. In Kombination lassen sich mit diesen Tools auch in großen Netzwerken schnell offene Ports finden und gezielt auf Schwachstellen prüfen. Mit ptunnel lassen sich die Anfragen von hping3 in ICMP-Pakete tunneln und sogar durch Firewalls senden. Wir zeigen einige Möglichkeiten zur Vorgehensweise.

Das Tool hping3 bietet umfangreiche Möglichkeiten zur Netzwerkdiagnose, darunter Firewall-Tests und fortgeschrittene Port-Scans. Durch gezieltes Senden von TCP/IP-Paketen mit unterschiedlichen Flags und Nutzlasten lassen sich Schwachstellen in Firewall-Konfigurationen aufdecken. Um offene Ports zu identifizieren, nutzen Sie den Befehl hping3 -S <Ziel-IP> -p 80 für ein SYN-Scan, in diesem Beispiel auf Port 80 der Ziel-IP-Adresse. Ergänzend können Sie Flags wie -R (RST) oder -F (FIN) nutzen, um zu prüfen, ob die Firewall ungewöhnliche Pakete blockiert. Auch Port-Bereiche lassen scannen, zum Beispiel mit -p 1-65535.

hping3 für gezielte Analyse von Ports nutzen

Der Befehl hping3 -S 10.0.17.1 -p 389 sendet ein SYN-Paket an die Zieladresse 10.0.4.49 auf Port 389. Der SYN-Flag signalisiert den Versuch, eine TCP-Verbindung aufzubauen, ohne dabei eine tatsächliche Datenübertragung durchzuführen. Der Zielport 389 wird standardmäßig für das Lightweight Directory Access Protocol (LDAP) genutzt, das für die Kommunikation mit Verzeichnisdiensten, wie beispielsweise einem Domänencontroller, verwendet wird.

hping3
Abbildung 1: Offene Ports auf Domänencontrollern mit hping3 überprüfen.

Durch diesen Befehl lässt sich überprüfen, ob der Zielhost auf Port 389 erreichbar ist und eine Verbindung akzeptiert. Eine Antwort mit einem SYN/ACK-Paket deutet darauf hin, dass der Port offen ist und ein Dienst auf Anfragen reagiert. Bleibt die Antwort aus, wird der Port als geschlossen oder durch eine Firewall blockiert eingestuft. Dieser Befehl eignet sich besonders in Netzwerken, um zu prüfen, ob LDAP-Dienste verfügbar sind und ob eine Netzwerkverbindung zwischen Client und Server besteht.

Mit hping3 können mehrere Ports in einem einzigen Befehl überprüft werden, indem ein Port-Bereich angegeben wird. Um die bekannten Ports eines Active-Directory-Domänencontrollers zu prüfen, lässt sich der folgende Befehl verwenden:

hping3 -S 10.0.4.49 -p 53,88,389,445,636,3268

Hier wird hping3 angewiesen, SYN-Pakete an die IP-Adresse 10.0.4.49 zu senden und dabei die angegebenen Ports zu überprüfen: 53 (DNS), 88 (Kerberos), 389 (LDAP), 445 (SMB), 636 (LDAPS) und 3268 (Global Catalog). Jeder Port wird dabei nacheinander abgefragt. Der Befehl liefert eine Rückmeldung, welche der Ports erreichbar sind, basierend auf der Antwort des Zielsystems (SYN/ACK für einen offenen Port oder keine Antwort für geschlossene oder blockierte Ports). So lassen sich mehrere wichtige Dienste des Domänencontrollers in einem Schritt überprüfen.

Zusätzlich können Sie spezifische Tests durchführen, etwa mit Fragmentierung von Paketen (-f) oder durch Angabe einer spezifischen Paketgröße (-d), um zu analysieren, wie Systeme mit untypischen Anforderungen umgehen.

Erweiterte Tests mit hping3

Ein weiteres Beispiel für die Untersuchung eines Webservers ist ein Test der Ports 80 (HTTP) und 443 (HTTPS) mit zufälligen Quellports und einem angepassten TTL-Wert sein:

hping3 -S <Ziel-IP> -p 80 -p 443 --rand-source --ttl 64

In diesem Fall werden SYN-Pakete an die Ports 80 und 443 gesendet, während die Option --rand-source dafür sorgt, dass die Quell-IP-Adresse bei jedem Paket zufällig generiert wird. Der TTL-Wert (Time to Live) wird auf 64 gesetzt, um die maximale Anzahl an Hops zu beschränken. Dies hilft, den Pfad zwischen Sender und Ziel zu analysieren und Firewall-Regeln zu testen, die auf die Quell-IP-Adresse reagieren. Ein weiteres Beispiel zeigt, wie eine MySQL-Datenbank auf Port 3306 auf ihre Fähigkeit geprüft wird, fragmentierte Pakete zu verarbeiten:

hping3 -S <Ziel-IP> -p 3306 -f -d 1000

Hier aktiviert der Parameter -f die Fragmentierung der Pakete, während -d 1000 die Nutzlastgröße auf 1000 Bytes setzt. Dies simuliert untypische Netzwerkbedingungen, um die Stabilität und Sicherheitsmechanismen der MySQL-Instanz zu überprüfen. Solche Tests können aufzeigen, ob Systeme effizient mit fragmentierten Daten umgehen und ob Firewalls fragmentierte Pakete korrekt blockieren. Zur Untersuchung eines PostgreSQL-Servers auf Port 5432 lässt sich die Antwortzeit des Servers messen:

hping3 -S <Ziel-IP> -p 5432 --icmp-ts

Die Option --icmp-ts aktiviert den ICMP-Timestamp-Modus, wodurch die Round-Trip-Time (RTT) der Pakete gemessen wird. Dies gibt Aufschluss über die Netzwerkleistung zwischen Client und Server sowie über mögliche Latenzprobleme.

Flooding-Test auf Ressourcenerschöpfung

Ein gezielter SYN-Flood auf den SQL-Port prüft, wie der Server mit hohen Anfragen umgeht:

hping3 -S <Ziel-IP> -p 1433 --flood

Dieser Befehl sendet eine Flut von SYN-Paketen an Port 1433, um die Belastbarkeit des Servers zu testen. Diese Methode zeigt Schwächen auf, etwa wenn der Server überlastet wird und legitime Anfragen nicht mehr bearbeiten kann. Solche Tests sollten jedoch nur in einer autorisierten Testumgebung durchgeführt werden. Mit gefälschten Quelladressen lassen sich Firewall- und ACL-Regeln testen:

hping3 -S <Ziel-IP> -p 1433 -a <gefälschte-IP>

Die Option -a erlaubt es, eine falsche Quell-IP zu verwenden. So lässt sich herausfinden, ob die Firewall Anfragen aus bestimmten Netzwerken fälschlicherweise erlaubt oder blockiert. Eine Manipulation der Paketgröße und Flags kann verwendet werden, um zu testen, wie der Server auf untypische Datenpakete reagiert:

hping3 -S <Ziel-IP> -p 80 -d 500 --tcp-timestamp

Hier sendet der Befehl SYN-Pakete mit einer Nutzlast von 500 Bytes an einen Webserver auf Port 80. Die Option --tcp-timestamp fügt TCP-Timestamps hinzu, um mögliche Latenzprobleme oder Paketverluste zu analysieren. Diese Technik deckt Schwächen in der Verarbeitung großer oder speziell formatierter Pakete auf.

Erweiterte Netzwerkanalyse mit Nmap und hping3: Synergien für Pentester

Die Kombination von Nmap und hping3 ermöglicht eine präzise Netzwerkanalyse, die weit über einen einfachen Port-Scan hinausgeht. Während Nmap sich ideal für die schnelle Identifikation von offenen Ports und Betriebssystemen eignet, kann hping3 für detaillierte Analysen und gezielte Tests verwendet werden. Auf die Möglichkeiten von Nmap sind wir bereits in einem eigenen Beitrag eingegangen.

Ein typischer Ansatz beginnt mit Nmap, um eine Übersicht über das Zielsystem zu erhalten. Ein SYN-Scan auf einem Zielhost wie 192.168.1.3 liefert schnell Informationen über offene Ports im Bereich von 1 bis 1024. Mit dem Parameter -A lässt sich die Erkennung von Betriebssystemen und laufenden Diensten aktivieren. Sobald offene Ports identifiziert wurden, können diese gezielt mit hping3 überprüft werden. Angenommen, Nmap zeigt Port 80 und Port 443 als offen an, lässt sich mit hping3 ein präziser SYN-Scan durchführen, um die Antwortzeit und mögliche Firewall-Regeln zu analysieren. Der Befehl hping3 -S 192.168.1.3 -p 80 --count 5 sendet beispielsweise fünf SYN-Pakete an Port 80, um den Status zu überprüfen.

Auch die Umgehung von Firewalls lässt sich durch die Zusammenarbeit der beiden Tools effektiv testen. Nmap identifiziert anhand von TCP-ACK-Scans, ob eine Firewall Pakete filtert, während hping3 durch manipulierte Pakete weitere Details liefert. Mit hping3 -A 192.168.1.3 -p 443 senden Sie beispielsweise ein ACK-Paket an Port 443, um zu prüfen, ob die Firewall das Paket durchlässt. Sollte eine Firewall ICMP-Pakete blockieren, lässt sich dies mit nmap -Pn umgehen, das auf den Ping-Check verzichtet, während hping3 parallel dazu fragmentierte Pakete sendet, um Filterregeln weiter zu analysieren.

Ein weiterer Anwendungsfall ist das Testen von Intrusion-Detection- (IDS) oder Intrusion-Prevention-Systemen (IPS). Mit Nmap können Sie durch Skripte wie --script=http-enum Sicherheitslücken in Webservern identifizieren. Mit hping3 lässt sich dann durch gezielte Manipulation der Pakete, etwa durch das Setzen eines URG-Flags mit -U, die Reaktion des Intrusion Detection Systems untersuchen. Die Kombination erlaubt somit sowohl die Breitenanalyse mit nmap als auch die Tiefeinsicht durch hping3.

Beachten Sie bitte unsere Artikel zur rechtlichen Lage bei Penetrationstests und zum Hackerparagrafen.

Tiefgehende Netzwerkanalyse mit tcpdump und hping3: Präzision im Pentest

Das Tool tcpdump ist ein weiteres Werkzeug für Pentests, da es den Netzwerkverkehr in Echtzeit mitschneiden und analysieren kann. In Kombination mit hping3 lässt sich nicht nur das Verhalten eines Netzwerks testen, sondern auch die Auswirkungen spezifischer Pakete auf Server, Firewalls und Sicherheitsmechanismen im Detail untersuchen. Diese beiden Tools ergänzen sich hervorragend, indem hping3 gezielt Pakete sendet und tcpdump diese auf der anderen Seite überwacht.

Ein erster Anwendungsfall ist die Analyse der Paketantworten bei einem SYN-Scan. Mit

hping3 -S <Ziel-IP> -p 80 --count 5

werden SYN-Pakete an Port 80 eines Servers geschickt, während tcpdump den eingehenden Verkehr aufzeichnet:

tcpdump -i eth0 host <Ziel-IP> and port 80

Die Ausgabe von tcpdump zeigt, ob SYN/ACK-Pakete als Antwort gesendet werden oder ob die Firewall den Verkehr blockiert. Diese Methode ist besonders nützlich, um Sicherheitsregeln auf Netzwerkebene zu überprüfen. Ein weiterer Einsatz ist die Analyse fragmentierter Pakete. Mit

hping3 -S <Ziel-IP> -p 443 -f -d 1000

lassen sich fragmentierte SYN-Pakete an Port 443 eines Zielsystems senden. Parallel dazu überwacht tcpdump die Fragmente und deren Wiederzusammenführung:

tcpdump -i eth0 -vvv 'ip[6:2] & 0x1fff != 0'

Diese Filterregel zeigt ausschließlich fragmentierte Pakete an, wodurch Schwachstellen in der Fragmentierungsverarbeitung von Firewalls oder Servern aufgedeckt werden können. Die Kombination der Tools ermöglicht auch die Überprüfung von Firewalls auf das Verhalten bei ungewöhnlichen Flags. Während hping3 -F <Ziel-IP> -p 22 ein Paket mit einem FIN-Flag sendet, protokolliert tcpdump die Reaktion der Firewall. Erkennt tcpdump, dass die Firewall ein RESET-Paket zurücksendet, deutet dies darauf hin, dass der Port geschlossen, aber ansprechbar ist.

Für die Simulation von DDoS-Angriffen kann hping3 im Flood-Modus (--flood) verwendet werden, um massenhaft Pakete zu senden. Mit tcpdump lässt sich dann die Überlastung des Zielsystems beobachten. Ein Befehl wie tcpdump -nn -i eth0 host <Ziel-IP> zeigt, wie viele Pakete pro Sekunde verarbeitet werden müssen, und gibt Aufschluss über die Belastbarkeit des Systems.

Verdeckte Kommunikation mit ptunnel, hping3 und tcpdump: Tunneling im Pentest

Für die Untersuchung von Firewall-Umgehungstechniken bietet sich die Kombination von ICMP-Tunneling mit ptunnel und gezielten Testpaketen sowie detaillierten Netzwerküberwachungen an. Ein Client kann so konfiguriert werden, dass TCP-Daten durch ICMP-Pakete über eine Firewall geschleust werden. Mit dem Befehl

ptunnel -p <Ziel-IP> -lp 8000 -da <Ziel-Domain> -dp 22

wird eine Weiterleitung vom lokalen Port 8000 über ICMP an Port 22 des Zielservers eingerichtet, wodurch SSH-Daten unbemerkt übertragen werden können.

Währenddessen zeichnet tcpdump den ICMP-Verkehr auf, um den Datenfluss zu analysieren und festzustellen, ob die Firewall ungewöhnliche ICMP-Nutzlasten erkennt oder blockiert. Ein Filter wie

tcpdump -i eth0 icmp

gibt eine Übersicht über den gesamten ICMP-Verkehr, während

tcpdump -X -i eth0 icmp

den detaillierten Paketinhalt zeigt, um mögliche Muster oder Schwächen im Filtermechanismus zu identifizieren.

Zur Unterstützung von Firewall-Tests sendet hping3 zeitgleich ICMP-Pakete mit modifizierten Flags oder Nutzlasten, etwa mit

hping3 -1 <Ziel-IP> -d 100

um die Reaktion der Firewall auf verschiedene ICMP-Formate zu testen. Diese gezielte Kombination deckt Schwachstellen auf, die es Angreifern ermöglichen könnten, Tunneling durch ICMP in einem Produktionsnetzwerk zu nutzen.

Effiziente Kombination von Tools für tiefgehende Pentests

Die gezielte Kombination von Tools wie hping3, tcpdump, ptunnel und nmap ermöglicht umfassende und präzise Netzwerkanalysen im Rahmen von Pentests. Während nmap eine schnelle Übersicht über offene Ports und Dienste liefert, erweitern hping3 und tcpdump diese Analysen durch detaillierte Tests und Echtzeitüberwachung des Datenverkehrs. Durch die Einbindung von ptunnel können zudem komplexe Szenarien wie das Umgehen von Firewalls und das Tunneln von Daten getestet werden.

Jedes Tool bringt spezifische Stärken in den Pentest-Prozess ein, sei es durch die Erstellung und Manipulation von Paketen, die Analyse des Netzwerkverhaltens oder die Simulation verdeckter Kommunikationswege. Die vorgestellten Beispiele verdeutlichen, wie diese Werkzeuge zusammenarbeiten, um Schwachstellen aufzudecken und die Sicherheit von Netzwerken nachhaltig zu bewerten. Der Einsatz solcher Tools erfordert jedoch ein hohes Maß an Verantwortung und darf ausschließlich in autorisierten Umgebungen erfolgen.

Erfahren Sie mehr über Netzwerksicherheit