Cloud SecurityJan Kahmen12 min Lesezeit

Wie läuft ein Firewall-Pentest ab?

Ein Firewall-Pentest ist essentiell für die IT-Infrastruktur, da diese die erste Verteidigungslinie zur Verhinderung von Cyberangriffen darstellt.

Inhaltsverzeichnis

Eine Firewall ist die erste Verteidigungslinie zur Verhinderung von Cyberangriffen auf die IT-Infrastruktur. Diese IT-Sicherheitskomponente muss es Bedrohungsakteuren nahezu unmöglich machen, Exploits auszuführen, die die Sicherheit eines Netzwerks gefährden würden.

Die Pentests für eine Firewall bestehen aus 13 Schritten, darunter die Lokalisierung der Firewall, die Durchführung der Traceroute, das Scannen von Ports, das Grabben von Bannern, die Aufzählung der Zugriffskontrollen, die Identifizierung der Firewall-Architektur, das Testen der Firewall-Richtlinie, Firewalking, die Umleitung von Ports, interne und externe Tests, das Testen auf verdeckte Kanäle, HTTP-Tunneling und das Identifizieren firewallspezifischer Schwachstellen.

Was ist eine Firewall?

Eine Firewall ist Software, die den ein- und ausgehenden Datenverkehr in einem Netzwerk überprüft. Auf der Grundlage eines vorher festgelegten Satzes von Richtlinien und Regeln oder einer Zugriffskontrollliste (ACL) filtert und beschränkt die Firewall alle Verbindungen, die sich nicht an diese Regeln halten. Der Hauptzweck einer Firewall besteht darin, vertrauenswürdige Netzwerke vom externen Netzwerk oder dem Internet zu trennen.

Um dies zu erreichen, wird eine Firewall normalerweise in der DMZ (entmilitarisierte Zone) platziert. Zusätzliche Firewalls können vor dem internen Netzwerk oder Intranet eines Unternehmens platziert werden. Oder vor Aufsichtskontroll- und Datenerfassungssystemen (SCADA), die Systeme unterstützen, die industrielle Organisationen wie z.B. Kernkraftwerke betreiben.

Was ist eine Next Generation Firewall (NGFW)

Es gibt viele Arten von Firewalls, und jedes Modell hat unterschiedliche Funktionalitäten. Der wichtigste Fortschritt, der im Hinblick auf die Fähigkeiten von Firewalls erzielt wurde, ist die Einführung von Firewalls der nächsten Generation (NGFW).

Herkömmliche Firewalls konnten keine zustandsbehaftete Paketprüfung durchführen, sondern analysierten den Netzwerkverkehr lediglich auf der Grundlage der IP-Adresse und Portnummer der Pakete, ohne den vorherigen Verkehr zu berücksichtigen, der die Firewall passiert hat.

Mit der Einführung von NGFW wurde die dynamische Paketfilterung Realität und ermöglichte es, alle aktiven Verbindungen zusammen mit dem Zustand der Verbindungen zu überwachen. Diese zusätzlichen Informationen werden als Hilfsmittel bei der Bestimmung des Zugriffs verwendet.

Firewall-Richtlinien

Beim Einsatz einer Firewall muss ein bestimmter Satz von Richtlinien und Regeln konfiguriert werden, um die Sicherheit des Netzwerks-Perimeters angemessen zu gewährleisten. Richtlinien und Regeln ermöglichen es, bestimmte Arten von Netzwerkverkehr zu blockieren oder zuzulassen.

Diese Richtlinien können auch später auf verschiedene Firewalls im gesamten Netzwerk angewendet werden. Zusätzlich könnte die Integration einer rollenbasierten Zugriffskontrolle mit Active Directory durchgesetzt werden, die jede Benutzerrolle und ihre Berechtigungen in der Firewall umfasst.

Schritte zum Durchführen eines Firewall-Pentests

Beim Firewall-Penetrationstest wird eine bestimmte Firewall ausfindig gemacht, untersucht und durchdrungen, um das interne vertrauenswürdige Netzwerk eines bestimmten Systems zu erreichen. Meistens wird das Testen von Firewalls als ein wichtiger Teil der externen Infrastruktur-Pentest angesehen. Das Testen von Firewalls ist eine der wichtigsten Arten von Netzwerktests, die durchgeführt werden können, da Firewalls die erste Verteidigungslinie gegen Eindringlinge von außen darstellen.

Im Folgenden finden Sie Schritte, die ein umfassender Firewall-Penetrationstest in die Testmethodik einbeziehen sollte.

Schritt 1. Lokalisierung der Firewall

Jeder Firewalldurchdringungstest beginnt mit der Lokalisierung der Firewall. Mithilfe einer beliebigen Packet-Crafting-Software erstellt der Tester spezifische IP-Pakete, die UDP-, TCP- oder ICMP-Nutzlasten enthalten.

Die gebräuchlichsten Firewall-Pentesttools sind Hping und Nmap. Beide Tools haben eine ähnliche Funktionalität mit einem kleinen Unterschied. Im Vergleich zu Nmap, das einen Bereich von IP-Adressen scannen kann, kann Hping im Vergleich zu Nmap, das einen Bereich von IP-Adressen scannen kann, immer nur 1 IP-Adresse gleichzeitig scannen.

Je nach dem Grad der Aggressivität des Scans, den man durchführen möchte, ist Hping die bessere Wahl, um zu verhindern, dass eine anormale Aktivität entdeckt wird. Durch Wiederholung des Scan-Vorgangs kann man die Liste der erlaubten Dienste in der Firewall abbilden.

Schritt 2. Durchführen von Traceroute

Die Netzwerkreichweite kann ermittelt werden, indem ein Tracert-Befehl gegen die im vorherigen Schritt befindliche Firewall ausgeführt wird. Dieser Schritt liefert auch Informationen über den Weg, den die Pakete zwischen den Systemen nehmen, und ermittelt alle Router und Geräte, die am Verbindungsaufbau beteiligt sind.

Zusätzlich können auch bestimmte Informationen bezüglich der Geräte, die den Verkehr filtern, und der verwendeten Protokolle abgerufen werden.

Schritt 3. Port-Scannen

Der dritte Schritt in der Methodik der Firewall-Pentest ist das Port-Scannen. Das am häufigsten verwendete Tools ist Nmap aufgrund der Möglichkeit einer breiten Anpassung der Scans, die man durchführen möchte.

In diesem Schritt werden Sie nicht nur offene Ports auf der Firewall identifizieren, sondern auch die entsprechenden Dienste, die auf diesen offenen Ports laufen. Mit Nmap kann man einen Scan erstellen, der den gewünschten Scan-Typ, die Optionen für diesen speziellen Scan-Typ, den Zeitpunkt des Scans und vieles mehr umfasst. Ein Online-Portscanner wird von heise bereitgestellt.

Schritt 4. Banner-Grabbing

Durch die Durchführung von Banner-Grabbing auf der Firewall erhalten Sie Informationen über die jeweilige Version der Firewall. Diese Informationen können später dazu verwendet werden, verfügbare Exploits zu finden, die die Firewall potenziell gefährden können.

Mit Netcat erstellt der Penetrationstester eine Verbindungsanfrage, die dem Tester die richtigen Informationen liefert.

Schritt 5. Aufzählung der Zugriffskontrolle

Jede Firewall verwendet Zugriffskontrolllisten, um zu bestimmen, welcher Datenverkehr aus dem internen Netzwerk zugelassen oder verweigert werden soll. Der einzige Indikator, den ein Pentester bei der Aufzählung der Zugriffskontrollliste beobachten kann, ist der Zustand der Ports auf der Firewall.

Schritt 6. Identifizieren der Firewall-Architektur

Um auf dem vorherigen Schritt aufzubauen, wird durch das Senden von gestalteten Paketen an bereits identifizierte Firewall-Ports ein Pentester mit einer vollständigen Liste des Portstatus versorgt. Durch das Auslösen von Antworten von der Firewall auf bestimmte Ports kann der Tester die Reaktion der Firewall ermitteln und bei der Zuordnung offener Ports helfen. Darüber hinaus wird der Tester durch die Antworten der Firewall darüber informiert, ob die Verbindung abgelehnt, unterbrochen oder blockiert wurde.

Schritt 7. Testen der Firewall-Richtlinie

Das Testen von Firewall-Richtlinien kann auf zwei Arten erfolgen, die manchmal als Teil des internen Infrastruktur-Pentests angesehen werden.

Der Penetrationstester vergleicht entweder Hardcopys der extrahierten Firewall-Richtlinienkonfiguration mit der erwarteten Konfiguration, um potenzielle Lücken zu identifizieren, oder
Der Tester führt Aktionen an der Firewall durch, um die erwartete Konfiguration zu bestätigen.

Schritt 8. Firewalking

Firewalking ist eine Methode zur Abbildung der Netzwerkgeräte, die sich hinter der Firewall befinden. Das Netzwerk-Auditing-Tool Firewalk analysiert die von der Firewall zurückgegebenen Pakete Mithilfe von Traceroute-Techniken. Es ermittelt offene Ports auf der Firewall, indem es Geräte hinter der Firewall überprüft und so ermittelt, welcher Verkehr die Firewall passieren kann. Ein gutes Tool für diese Kategorie findet sich auf kali.org.

Schritt 9. Port Redirection

Das Testen für die Hafenumleitung ist ein wichtiger Schritt, der eine weitere Kompromittierung eines bestimmten Netzwerks ermöglichen kann. Wenn ein gewünschter Port nicht direkt zugänglich ist, können Port-Umleitungstechniken verwendet werden, um die Zugangsverweigerung zu umgehen.

Gelingt es dem Tester, ein Zielsystem zu kompromittieren und die Firewall zu umgehen, kann er ein Portumleitungs-Tool wie Fpipe oder Datapipe installieren und bestimmte Portnummern abhören.

Schritt 10. Externe und interne Prüfung

Die Durchführung externer und interner Penetrationstests ist beim Testen der Firewall nicht immer erforderlich, bietet jedoch einen realistischeren Ansatz, wie ein böswilliger Akteur Ihre Systeme angreifen könnte.

Schritt 11. Test für verdeckte Kanäle

Ein verdeckter Kanal ist eine verborgene Kommunikationsverbindung, die es Hackern ermöglicht, sich zu verstecken. Meistens zum Verbergen von Aktivitäten und zum Extrahieren wertvoller oder sensibler Daten aus einem Unternehmen verwendet, werden verdeckte Kanäle durch die Installation einer Hintertür auf einem kompromittierten Rechner innerhalb des Netzwerks geschaffen.

Einmal installiert, kann eine Reverse Shell erstellt werden, um eine Verbindung mit dem externen Rechner des Hackers herzustellen. Eine Möglichkeit dazu ist die Verwendung der beliebten Hacking-Plattform Metasploit.

Um zu testen, ob die Einrichtung eines verdeckten Kanals machbar ist, wird der Penetrationstester eingesetzt:

Mithilfe von Firewalk die Firewall-Regeln identifizieren.
Versuchen, Systeme hinter der Firewall zu erreichen.
Die Antwort der ankommenden Pakete untersuchen.

Schritt 12. HTTP-Tunnelung

Die HTTP-Tunneling-Methode besteht in der Einkapselung des Datenverkehrs mit dem HTTP-Protokoll und wird häufig verwendet, wenn der Zugriff auf ein Gerät eingeschränkt ist, das sich hinter einer Firewall oder einem Proxy befindet.

In diesem Szenario kann das HTTPort-Tool verwendet werden, um POST-Anforderungen durch Angabe von Hostname, Port-Nummer und Pfad an den HTTP-Server zu senden. Da die Art der Funktionalität von HTTPort die Fähigkeit besitzt, HTTP-Proxys zu umgehen, ist das einzige Hindernis, das übrig bleibt, die aktivierten Verbindungsmethoden auf dem Proxy selbst.

Schritt 13. Identifizieren Sie firewallspezifische Schwachstellen

Wenn Sie sich gefragt haben, wie Sie sicherstellen können, dass in Ihrer Firewall keine Schwachstellen vorhanden sind, lautet die Antwort: Stellen Sie sicher, dass keine Fehlkonfigurationen vorhanden sind. Da dies der Hauptgrund dafür ist, dass es Hackern gelingt, in das Netzwerk einzudringen, ist die richtige Konfiguration Ihrer Firewall der wichtigste Schritt, den Sie unternehmen können.

In einigen Fällen werden Druck- oder Dateifreigabedienste an bestimmten offenen Ports aktiviert gelassen und ermöglichen es Hackern, die Firewall durch diesen Vektor zu umgehen. Die Deaktivierung nicht benötigter Dienste und die Überprüfung der Firewall-Konfiguration ist die einzige Möglichkeit, die Sicherheit zu gewährleisten.

Fazit

Der Hauptzweck der Durchführung von Firewall-Pentests besteht darin, den unbefugten Zugriff auf das interne Netzwerk aus dem Internet zu verhindern. Je nach Art der Firewall handelt es sich bei den meisten um eine traditionelle zustandslose Firewall oder um eine Firewall der nächsten Generation, die sich den Zustand aller Verbindungen merkt.

Der Erfolg eines jeden Firewall-Pentests hängt von mehreren Faktoren ab. Wenn man sicherstellt, dass Firewall-Richtlinien und -Regeln richtig konfiguriert sind, wird der Angriffserfolg stark reduziert und die meisten unautorisierten Verbindungsversuche verhindert.

Durch den Einsatz von Hacker-Tools wie Nmap, Hping und Netcat zur Aufzählung liefert die Firewall verschiedene Informationen über die Zugriffskontrollen und den Zustand der Ports. Die meisten Entscheidungen und Aktionen, die ein Pentester treffen wird, hängen von diesen Firewall-Reaktionen ab.

Kontakt

Neugierig? Überzeugt? Interessiert?

Vereinbaren Sie ein unverbindliches Erstgespräch mit einem unserer Vertriebsmitarbeiter. Nutzen Sie den folgenden Link, um einen Termin auszuwählen: