Penetrationstest: Unterschied zwischen den Versionen

Aus Foxwiki
Subpages:
Weiterleitung auf Kategorie:Penetrationstest entfernt
Markierung: Weiterleitung entfernt
K Textersetzung - „Man-Pages“ durch „Man-Page“
 
(15 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 2: Zeile 2:


== Beschreibung ==
== Beschreibung ==
'''Penetrationstest''', kurz '''Pentest(ing)''', ist der fachsprachliche Ausdruck für einen umfassenden Sicherheitstest einzelner [[Computer|Rechner]] oder [[Rechnernetz|Netzwerke]] jeglicher Größe. Ein Penetrationstest prüft die [[Informationssicherheit|Sicherheit]] von Systembestandteilen und Anwendungen eines Netzwerks oder Softwaresystems mit Mitteln und Methoden, die tauglich sind, um unautorisiert in das System einzudringen (Penetration). Penetrationstests können [[Sicherheitslücke]]n aufdecken, aber nicht ausschließen. Werkzeuge bilden bei Penetrationstests Angriffsmuster nach, die sich aus zahlreichen bekannten Angriffsmethoden ableiten lassen.
'''Penetrationstest''', kurz '''Pentest(ing)''', ist der fachsprachliche Ausdruck für einen umfassenden Sicherheitstest einzelner [[Computer|Rechner]] oder [[Rechnernetz|Netzwerke]] jeglicher Größe.  
* Ein Penetrationstest prüft die [[Informationssicherheit|Sicherheit]] von Systembestandteilen und Anwendungen eines Netzwerks oder Softwaresystems mit Mitteln und Methoden, die tauglich sind, um unautorisiert in das System einzudringen (Penetration).  
* Penetrationstests können [[Sicherheitslücke]]n aufdecken, aber nicht ausschließen.  
* Werkzeuge bilden bei Penetrationstests Angriffsmuster nach, die sich aus zahlreichen bekannten Angriffsmethoden ableiten lassen.


Die Art der Sicherheitstests orientiert sich am Gefahrenpotential eines gefährdeten Systems, Netzwerks oder einer Anwendung, das heißt, dass beispielsweise ein Webserver eine höhere Gefahrenpriorität als eine einfache Textverarbeitung hat. Entsprechend zahlreich sind die Hilfswerkzeuge für Penetrationstests und entsprechend sollten derart umfassende Sicherheitstests lediglich erfahrene Sicherheitsforscher oder Systemadministratoren durchführen, die wissen, was sie machen, welche Ereignisse sie damit verursachen und welche Ergebnisse sie damit erzielen möchten.
Die Art der Sicherheitstests orientiert sich am Gefahrenpotential eines gefährdeten Systems, Netzwerks oder einer Anwendung, das heißt, dass beispielsweise ein Webserver eine höhere Gefahrenpriorität als eine einfache Textverarbeitung hat.  
* Entsprechend zahlreich sind die Hilfswerkzeuge für Penetrationstests und entsprechend sollten derart umfassende Sicherheitstests lediglich erfahrene Sicherheitsforscher oder Systemadministratoren durchführen, die wissen, was sie machen, welche Ereignisse sie damit verursachen und welche Ergebnisse sie damit erzielen möchten.


Der Begriff Penetrationstest wird gelegentlich auch fälschlich für einen automatischen [[Vulnerability Scan]] (''vulnerability'' engl. und fachsprachlich für ''Schwachstelle'') verwendet. Während dieser weitgehend automatisch abläuft, bedarf es bei einem echten Penetrationstest manueller Vorbereitung in Form von Sichtung des Prüflings, Planung der Testverfahren und Ziele, Auswahl der notwendigen Werkzeuge und schließlich die Durchführung. Der [[Security Scan]] wiederum unterscheidet sich vom Schwachstellenscan durch die manuelle Verifikation der Testergebnisse. Die Verwendung der jeweiligen Begriffe erfolgt im [[Semi-Professionalität|semi-professionellen]] Bereich jedoch oft uneinheitlich, während in der professionellen Welt der Sicherheitsforscher und Fachunternehmen Standards zur Durchführung von Penetrationstests akzeptiert und weltweit anerkannt werden.
Der Begriff Penetrationstest wird gelegentlich auch fälschlich für einen automatischen [[Vulnerability Scan]] (''vulnerability'' engl.  
* und fachsprachlich für ''Schwachstelle'') verwendet.  
* Während dieser weitgehend automatisch abläuft, bedarf es bei einem echten Penetrationstest manueller Vorbereitung in Form von Sichtung des Prüflings, Planung der Testverfahren und Ziele, Auswahl der notwendigen Werkzeuge und schließlich die Durchführung.  
* Der [[Security Scan]] wiederum unterscheidet sich vom Schwachstellenscan durch die manuelle Verifikation der Testergebnisse.  
* Die Verwendung der jeweiligen Begriffe erfolgt im [[Semi-Professionalität|semi-professionellen]] Bereich jedoch oft uneinheitlich, während in der professionellen Welt der Sicherheitsforscher und Fachunternehmen Standards zur Durchführung von Penetrationstests akzeptiert und weltweit anerkannt werden.


Der Penetrationstest wird oft als [[Empirie|empirischer]] Teil einer allgemeineren [[Sicherheitsanalyse]] durchgeführt.
Der Penetrationstest wird oft als [[Empirie|empirischer]] Teil einer allgemeineren [[Sicherheitsanalyse]] durchgeführt.


== Zielsetzung ==
== Zielsetzung ==
Ziele eines Penetrationstests sind:
Ziele eines Penetrationstests sind:
* die Identifikation von Schwachstellen
* die Identifikation von Schwachstellen
Zeile 17: Zeile 24:
* die Erhöhung der Sicherheit auf technischer und organisatorischer Ebene und
* die Erhöhung der Sicherheit auf technischer und organisatorischer Ebene und
* die Bestätigung der IT-Sicherheit durch einen externen Dritten.
* die Bestätigung der IT-Sicherheit durch einen externen Dritten.
Durch die ständige Änderung der Bedrohungsbilder und sicherheitsrelevanten Faktoren in der Informationstechnik ist ein Penetrationstest allerdings eher als Momentaufnahme zu begreifen. Im Extremfall kann ein System unmittelbar nach dem Beheben der durch den Test aufgedeckten Schwachstellen durch eine neue Sicherheitslücke wieder verwundbar sein. Allerdings deckt ein Test in der Regel auch die Ursachen auf, welche zu den festgestellten Problemen führen (z. B. Personalmangel). Jedoch ist die Behebung der Ursachen in der Regel Sache des Betreibers der getesteten Systeme und Anwendungen. Die Behebungsmaßnahmen reichen von besserer Betreuung der Systeme und Anwendungen bis hin zur Abschaltung oder Verkauf.
Durch die ständige Änderung der Bedrohungsbilder und sicherheitsrelevanten Faktoren in der Informationstechnik ist ein Penetrationstest allerdings eher als Momentaufnahme zu begreifen.  
 
* Im Extremfall kann ein System unmittelbar nach dem Beheben der durch den Test aufgedeckten Schwachstellen durch eine neue Sicherheitslücke wieder verwundbar sein.  
=== Social-Engineering-Penetrationstest ===
* Allerdings deckt ein Test in der Regel auch die Ursachen auf, welche zu den festgestellten Problemen führen (z. B. 
* Personalmangel).  
* Jedoch ist die Behebung der Ursachen in der Regel Sache des Betreibers der getesteten Systeme und Anwendungen.  
* Die Behebungsmaßnahmen reichen von besserer Betreuung der Systeme und Anwendungen bis hin zur Abschaltung oder Verkauf.


Da potentielle Angreifer die Rechner und Datenbanken von Unternehmen nicht ausschließlich von außen über das Netzwerk angreifen, sondern auch versuchen, durch [[Social Engineering (Sicherheit)|Social Engineering]] über die Mitarbeiter an Informationen und Zugänge zu kommen, gibt es spezielle Penetrationstests, die sich mit diesem Thema beschäftigen. Diese Tests sind darauf ausgelegt, in Unternehmen Schwachstellen zu finden und im Nachgang durch Schulungen und Aufklärungen ernsthafte Angriffe zu erschweren.
; Social-Engineering-Penetrationstest
Da potentielle Angreifer die Rechner und Datenbanken von Unternehmen nicht ausschließlich von außen über das Netzwerk angreifen, sondern auch versuchen, durch [[Social Engineering (Sicherheit)|Social Engineering]] über die Mitarbeiter an Informationen und Zugänge zu kommen, gibt es spezielle Penetrationstests, die sich mit diesem Thema beschäftigen.  
* Diese Tests sind darauf ausgelegt, in Unternehmen Schwachstellen zu finden und im Nachgang durch Schulungen und Aufklärungen ernsthafte Angriffe zu erschweren.


== Testaufbau und Durchführung ==
== Testaufbau und Durchführung ==
Das deutsche [[Bundesamt für Sicherheit in der Informationstechnik]] (BSI) hat ein Klassifikationsschema entwickelt, anhand dessen sich ein Test beschreiben lässt. Im Wesentlichen werden sechs verschiedene Kriterien betrachtet:
Das deutsche [[Bundesamt für Sicherheit in der Informationstechnik]] (BSI) hat ein Klassifikationsschema entwickelt, anhand dessen sich ein Test beschreiben lässt.  
* Im Wesentlichen werden sechs verschiedene Kriterien betrachtet:
* Informationsbasis
* Informationsbasis
* Aggressivität
* Aggressivität
Zeile 32: Zeile 45:
* Ausgangspunkt
* Ausgangspunkt


Anhand dieser Kriterien wird dann zusammen mit dem Kunden ein individueller Test zusammengestellt. In der Praxis werden meist mehrstufige Tests durchgeführt, bei denen mehrere Kriterien nacheinander zur Anwendung kommen. Beispielsweise wird zuerst ein [[Blackbox-Test]] und danach ein [[Whitebox-Test]] durchgeführt.
Anhand dieser Kriterien wird dann zusammen mit dem Kunden ein individueller Test zusammengestellt.  
Im Test selbst werden einzelne Testmodule ausgeführt. Bei den Testmodulen werden I- und E-Module unterschieden. I-Module bezeichnen Testschritte, die zur reinen Informationsbeschaffung dienen, E-Module bezeichnen aktive Eindringversuche. Einem E-Modul geht meist ein entsprechendes I-Modul voraus.
* In der Praxis werden meist mehrstufige Tests durchgeführt, bei denen mehrere Kriterien nacheinander zur Anwendung kommen.  
 
* Beispielsweise wird zuerst ein [[Blackbox-Test]] und danach ein [[Whitebox-Test]] durchgeführt.
=== Rechtslage ===
Im Test selbst werden einzelne Testmodule ausgeführt.  
Penetrationstests werden nach verschiedenen Rechtsquellen verlangt. Beispielsweise fordert {{§|2|ITSiV-PV|buzer}} Abs. 6 der [[IT-Sicherheitsverordnung Portalverbund]], dass insbesondere IT-Komponenten, die über eine technische Schnittstelle unmittelbar mit dem Internet verbunden sind, erst einem Penetrationstest und einem Webcheck nach den Vorgaben des BSI zu unterziehen seien. Nach {{§|7|DiGAV|buzer}} Abs. 3 der [[Digitale Gesundheitsanwendungen-Verordnung]] kann das [[Bundesinstitut für Arzneimittel und Medizinprodukte]] zum Nachweis der Erfüllung der Anforderungen an die Informationssicherheit die Vorlage von Berichten über die Durchführung von Penetrationstests verlangen. Dabei berufen sich die Basisanforderungen<ref>[https://www.buzer.de/Anlage_1_DiGAV.htm Anlage 1 Fragebogen gemäß § 4 Absatz 6] der Digitale Gesundheitsanwendungen-Verordnung, Themenfeld Datensicherheit Nr. 32a</ref> auf das vom BSI empfohlene Durchführungskonzept für Penetrationstests.<ref> Bundesamt für Sicherheit in der Informationstechnik: Studie [https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Publikationen/Studien/Penetrationstest/penetrationstest.pdf?__blob=publicationFile&v=3 Durchführungskonzept für Penetrationstests] (PDF; 1,2 MB)</ref>
* Bei den Testmodulen werden I- und E-Module unterschieden.  
* I-Module bezeichnen Testschritte, die zur reinen Informationsbeschaffung dienen, E-Module bezeichnen aktive Eindringversuche.  
* Einem E-Modul geht meist ein entsprechendes I-Modul voraus.


Artikel 2 des [[Übereinkommen über Computerkriminalität|Übereinkommens über Computerkriminalität]] verlangt von ihren Unterzeichnern, „den unbefugten Zugang zu einem Computersystem“ als Straftat zu umschreiben. Entsprechende strafrechtliche Regelungen finden sich in Deutschland, Österreich und der Schweiz (sowie anderen Ländern). Eine Befugnis zu Penetrationstests kann sich z. B. durch gesetzliche Regelung oder durch vertragliche Vereinbarung zwischen der zu testenden und der den Test durchführenden Organisation ergeben. Zur Umsetzung des Übereinkommens hat der deutsche Gesetzgeber den unbefugten Zugang zu Daten als [[Ausspähen von Daten]] unter Strafe gestellt. Dieses Ausspähen ist ein [[Antragsdelikt]], der Versuch bleibt straffrei.
== Rechtslage ==
 
[[Penetrationstest/Rechtslage]]
Die beauftragende Organisation kann Penetrationstests nur für Objekte in Auftrag geben, die sich unter ihrer Hoheit befinden. Konkret heißt dies, dass eine Organisation ohne eigene Befugnis nicht Dritte beauftragen darf, fremde Netze zu penetrieren.


== Prozessbeschreibung ==
== Prozessbeschreibung ==
Das BSI empfiehlt beim Durchführen eines Penetrationstests einen fünfstufigen Prozess.
Das BSI empfiehlt beim Durchführen eines Penetrationstests einen fünfstufigen Prozess.
Die ''Vorbereitungsphase'' dient zur gemeinsamen Zielsetzung und dem Testaufbau mit dem Kunden. In der ''Informationsbeschaffungsphase'' versucht der Sicherheitsanalyst möglichst viele Informationen über das zu testende System zu erhalten. Die gewonnenen Informationen werden anschließend einer ''Bewertung'' unterzogen. Erst danach werden aktive ''Eindringversuche'' unternommen. Anschließend werden die Ergebnisse gesammelt und in Form eines ''Berichts'' gebündelt. Dieser Bericht enthält auch Empfehlungen, wie mit eventuellen Sicherheitsproblemen umgegangen werden soll. Begleitend zu allen fünf Phasen ist eine akribische Dokumentation der einzelnen Arbeitsschritte notwendig.
Die ''Vorbereitungsphase'' dient zur gemeinsamen Zielsetzung und dem Testaufbau mit dem Kunden.  
* In der ''Informationsbeschaffungsphase'' versucht der Sicherheitsanalyst möglichst viele Informationen über das zu testende System zu erhalten.  
* Die gewonnenen Informationen werden anschließend einer ''Bewertung'' unterzogen.  
* Erst danach werden aktive ''Eindringversuche'' unternommen.  
* Anschließend werden die Ergebnisse gesammelt und in Form eines ''Berichts'' gebündelt.  
* Dieser Bericht enthält auch Empfehlungen, wie mit eventuellen Sicherheitsproblemen umgegangen werden soll.  
* Begleitend zu allen fünf Phasen ist eine akribische Dokumentation der einzelnen Arbeitsschritte notwendig.


== Risiken ==
== Risiken ==
Bei der Testdurchführung kann es zu Störungen des normalen IT-Betriebs kommen. Beispielsweise zielen [[Denial of Service|DoS-Attacken]] darauf ab, den Zugriff auf einzelne Services, Rechner oder Netzsegmente zu unterbinden. Werden DoS-Attacken im Rahmen eines Moduls simuliert, sollte das außerhalb der Nutzungszeiten des Systems erfolgen.
Bei der Testdurchführung kann es zu Störungen des normalen IT-Betriebs kommen.  
* Beispielsweise zielen [[Denial of Service|DoS-Attacken]] darauf ab, den Zugriff auf einzelne Services, Rechner oder Netzsegmente zu unterbinden.  
* Werden DoS-Attacken im Rahmen eines Moduls simuliert, sollte das außerhalb der Nutzungszeiten des Systems erfolgen.


Auch bei gewöhnlichen I- oder E-Modulen kann es unter Umständen zum Absturz einzelner Systeme kommen. In der Vorbereitungsphase muss auch eine Übereinkunft zwischen Auftraggeber und Kunden getroffen werden, wie mit den erhaltenen Erkenntnissen umgegangen wird. So könnten die Tester im Rahmen des Tests an unternehmenskritische Informationen gelangen.
Auch bei gewöhnlichen I- oder E-Modulen kann es unter Umständen zum Absturz einzelner Systeme kommen.  
* In der Vorbereitungsphase muss auch eine Übereinkunft zwischen Auftraggeber und Kunden getroffen werden, wie mit den erhaltenen Erkenntnissen umgegangen wird.  
* So könnten die Tester im Rahmen des Tests an unternehmenskritische Informationen gelangen.


== Software ==
== Software ==
Die Durchführung von Penetrationstests kann durch verschiedene Softwareprodukte unterstützt werden. Dazu zählen etwa [[Portscanner]] wie [[Nmap]], [[Vulnerability Scanner]] wie [[Nessus (Software)|Nessus]], [[Sniffer]] wie [[Wireshark]], Paketgeneratoren wie [[Hping|HPing 2/3]] oder [[Mausezahn]] und Passwortcracker wie [[John the Ripper]]. Zudem stehen zunehmend mehr Werkzeuge zur Verfügung, die speziell für Sicherheitstests entwickelt wurden, häufig aufgrund der Überprüfbarkeit des Quellcodes aus dem Open-Source-Bereich stammen und auf sehr spezielle Testbereiche zugeschnitten sind.
Die Durchführung von Penetrationstests kann durch verschiedene Softwareprodukte unterstützt werden.  
* Dazu zählen etwa [[Portscanner]] wie [[Nmap]], [[Vulnerability Scanner]] wie [[Nessus (Software)|Nessus]], [[Sniffer]] wie [[Wireshark]], Paketgeneratoren wie [[Hping|HPing 2/3]] oder [[Mausezahn]] und Passwortcracker wie [[John the Ripper]].  
* Zudem stehen zunehmend mehr Werkzeuge zur Verfügung, die speziell für Sicherheitstests entwickelt wurden, häufig aufgrund der Überprüfbarkeit des Quellcodes aus dem Open-Source-Bereich stammen und auf sehr spezielle Testbereiche zugeschnitten sind.


'''ARP0c''' ist beispielsweise ein Verbindungsinterceptor, der mit einem [[ARP-Spoofing]]- und Bridging-Modul arbeitet. ARP-Anfragen von beliebigen Quellen in einem Netzwerkverbund werden mit gefälschten ARP-Anfragen versehen, um den Host zu erreichen, der ARP0c-Pakete sendet. Pakete von diesem Host werden weitergeleitet zu einem internen Modul, und die normale Adresse wird weitergeleitet mit dem Ziel, eine normale Netzverbindung aufrechtzuerhalten. Mit Hilfe des Tools ist entsprechend ein [[Man-in-the-Middle-Angriff|Man in the Middle]]-Monitoring möglich. Ziel des Einsatzes ist die Austestung von Firewall-Regeln, die auf einer [[Stateful Packet Inspection|Stateful-Packet-Inspection]]-Basis beruhen und ARP-Pakete mit fremden IP-Adressen verwerfen sollten.
'''ARP0c''' ist beispielsweise ein Verbindungsinterceptor, der mit einem [[ARP-Spoofing]]- und Bridging-Modul arbeitet.  
* ARP-Anfragen von beliebigen Quellen in einem Netzwerkverbund werden mit gefälschten ARP-Anfragen versehen, um den Host zu erreichen, der ARP0c-Pakete sendet.  
* Pakete von diesem Host werden weitergeleitet zu einem internen Modul, und die normale Adresse wird weitergeleitet mit dem Ziel, eine normale Netzverbindung aufrechtzuerhalten.  
* Mit Hilfe des Tools ist entsprechend ein [[Man-in-the-Middle-Angriff|Man in the Middle]]-Monitoring möglich.  
* Ziel des Einsatzes ist die Austestung von Firewall-Regeln, die auf einer [[Stateful Packet Inspection|Stateful-Packet-Inspection]]-Basis beruhen und ARP-Pakete mit fremden IP-Adressen verwerfen sollten.


Ein weiteres Beispiel eines solchen Spezialwerkzeugs ist '''Egressor'''. Egressor ist ein von [[Mitre Corporation|MITRE]] entwickeltes freies Tool zur Überprüfung der Konfiguration von Internet-Punkt-zu-Punkt-Routern. Egressor hilft Unternehmen dabei, Router unempfindlich gegen [[Denial of Service|Denial-of-Service-Attacken]] (DoS) zu konfigurieren. Das Egress-Filtersystem reduziert die Gefahr, ein Netzwerk zum Teil von verteilten Denial-of-Service-Attacken (DDoS) werden zu lassen.
Ein weiteres Beispiel eines solchen Spezialwerkzeugs ist '''Egressor'''.  
* Egressor ist ein von [[Mitre Corporation|MITRE]] entwickeltes freies Tool zur Überprüfung der Konfiguration von Internet-Punkt-zu-Punkt-Routern.  
* Egressor hilft Unternehmen dabei, Router unempfindlich gegen [[Denial of Service|Denial-of-Service-Attacken]] (DoS) zu konfigurieren.  
* Das Egress-Filtersystem reduziert die Gefahr, ein Netzwerk zum Teil von verteilten Denial-of-Service-Attacken (DDoS) werden zu lassen.


Zunehmend häufiger werden auch umfassende Werkzeugsammlungen für Penetrationstests angeboten, die in der Regel von erfahrenen Sicherheitsfachkräften zusammengestellt wurden und auf Basis einer stabilen Linux-Distribution arbeiten, die als Live-CD angeboten wird. Der Vorteil solcher Penetrationstest-Distributionen ist der, sämtliche relevanten Werkzeuge unter einer gemeinsamen Oberfläche zur Verfügung zu haben. Zudem sind sie meist vorkonfiguriert und fertig zur Anwendung. Ein gutes Beispiel für solche Live-CDs ist die [[Kali Linux|Kali-Linux]]-Distribution, die aus zwei unabhängigen Projekten verschmolzen wurde und aktuell das Maß aller Dinge darstellt, weil sie wirklich komplett ist und alle Werkzeuge beinhaltet, die für ausgedehnte Sicherheitstests benötigt werden.
Zunehmend häufiger werden auch umfassende Werkzeugsammlungen für Penetrationstests angeboten, die in der Regel von erfahrenen Sicherheitsfachkräften zusammengestellt wurden und auf Basis einer stabilen Linux-Distribution arbeiten, die als Live-CD angeboten wird.  
* Der Vorteil solcher Penetrationstest-Distributionen ist der, sämtliche relevanten Werkzeuge unter einer gemeinsamen Oberfläche zur Verfügung zu haben.  
* Zudem sind sie meist vorkonfiguriert und fertig zur Anwendung.  
* Ein gutes Beispiel für solche Live-CDs ist die [[Kali Linux|Kali-Linux]]-Distribution, die aus zwei unabhängigen Projekten verschmolzen wurde und aktuell das Maß aller Dinge darstellt, weil sie wirklich komplett ist und alle Werkzeuge beinhaltet, die für ausgedehnte Sicherheitstests benötigt werden.


Die zahlreichen Werkzeuge, die für Penetrationstests herangezogen werden können, lassen sich in folgende Kategorien einteilen:
Die zahlreichen Werkzeuge, die für Penetrationstests herangezogen werden können, lassen sich in folgende Kategorien einteilen:


* Viele Werkzeuge überprüfen nur eine einzelne Schwachstelle.
* Viele Werkzeuge überprüfen nur eine einzelne Schwachstelle.
* [[Vulnerability Scanner]] überprüfen oft automatisiert eine Reihe von applikations- oder protokollbasierten Schwachstellen. Einige lassen sich durch eigene [[Skriptsprache]]n erweitern.
* [[Vulnerability Scanner]] überprüfen oft automatisiert eine Reihe von applikations- oder protokollbasierten Schwachstellen.  
* Einige Programme dienen ursprünglich oder zusätzlich zu ihrer Funktion in Penetrationstests auch dem allgemeinen [[Netzwerkmanagement]], darunter z.&nbsp;B. einige [[Portscanner|Scanner]] und [[Sniffer]].
* Einige lassen sich durch eigene [[Skriptsprache]]n erweitern.
* Einige Programme dienen ursprünglich oder zusätzlich zu ihrer Funktion in Penetrationstests auch dem allgemeinen [[Netzwerkmanagement]], darunter z.&nbsp;B.&nbsp;
* einige [[Portscanner|Scanner]] und [[Sniffer]].
* Auch normale Programme, die beim [[Betriebssystem]] mitgeliefert werden, können einem Penetrationstester bei einer Untersuchung dienen.
* Auch normale Programme, die beim [[Betriebssystem]] mitgeliefert werden, können einem Penetrationstester bei einer Untersuchung dienen.


Das BSI stellt eine Sammlung solcher Tools unter dem Namen [[BSI OSS Security Suite]] kostenlos zur Verfügung. Spezialisierte [[Linux]] [[Livecd|Live-CDs]] wie [[PHLAK]], [[Pentoo]], [[S-t-d]] oder [[Kali Linux]] (ehem. [[BackTrack]], davor Auditor-LiveCD und WHAX Linux) enthalten eine Vielzahl zweckdienlicher Werkzeuge.
Das BSI stellt eine Sammlung solcher Tools unter dem Namen [[BSI OSS Security Suite]] kostenlos zur Verfügung.  
* Spezialisierte [[Linux]] [[Livecd|Live-CDs]] wie [[PHLAK]], [[Pentoo]], [[S-t-d]] oder [[Kali Linux]] (ehem. [[BackTrack]], davor Auditor-LiveCD und WHAX Linux) enthalten eine Vielzahl zweckdienlicher Werkzeuge.
Weitere bekannte Tools für Penetrationstests sind [[Attack Tool Kit]] (ATK) oder [[Metasploit]].
Weitere bekannte Tools für Penetrationstests sind [[Attack Tool Kit]] (ATK) oder [[Metasploit]].


Zeile 74: Zeile 113:
== Anhang ==
== Anhang ==
=== Siehe auch ===
=== Siehe auch ===
==
{{Special:PrefixIndex/{{BASEPAGENAME}}}}
{{Special:PrefixIndex/{{BASEPAGENAME}}}}
==== Sicherheit ====
==== Sicherheit ====
Zeile 81: Zeile 119:


===== RFC =====
===== RFC =====
===== Man-Pages =====
===== Man-Page =====
===== Info-Pages =====
===== Info-Pages =====
==== Links ====
==== Links ====
===== Einzelnachweise =====
<references />
===== Projekt =====
===== Projekt =====
===== Weblinks =====
===== Weblinks =====
Zeile 94: Zeile 129:
# [http://www.securityfocus.com/pen-test/ Security Focus Pen-Test Mailingliste] (nicht mehr aktiv)
# [http://www.securityfocus.com/pen-test/ Security Focus Pen-Test Mailingliste] (nicht mehr aktiv)
# [https://www.mgm-sp.com/penetration-test-faq/ Die große Application Security Penetration Test FAQ für Auftraggeber]
# [https://www.mgm-sp.com/penetration-test-faq/ Die große Application Security Penetration Test FAQ für Auftraggeber]
<noinclude>


=== Testfragen ===
[[Kategorie:Penetrationstest]]
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 1''
<div class="mw-collapsible-content">'''Antwort1'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 2''
<div class="mw-collapsible-content">'''Antwort2'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 3''
<div class="mw-collapsible-content">'''Antwort3'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 4''
<div class="mw-collapsible-content">'''Antwort4'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 5''
<div class="mw-collapsible-content">'''Antwort5'''</div>
</div>


[[Kategorie:Sicherheit/Assessment]]
[[Kategorie:Penetrationstest]]
</noinclude>
</noinclude>

Aktuelle Version vom 6. November 2024, 12:52 Uhr

topic - Kurzbeschreibung

Beschreibung

Penetrationstest, kurz Pentest(ing), ist der fachsprachliche Ausdruck für einen umfassenden Sicherheitstest einzelner Rechner oder Netzwerke jeglicher Größe.

  • Ein Penetrationstest prüft die Sicherheit von Systembestandteilen und Anwendungen eines Netzwerks oder Softwaresystems mit Mitteln und Methoden, die tauglich sind, um unautorisiert in das System einzudringen (Penetration).
  • Penetrationstests können Sicherheitslücken aufdecken, aber nicht ausschließen.
  • Werkzeuge bilden bei Penetrationstests Angriffsmuster nach, die sich aus zahlreichen bekannten Angriffsmethoden ableiten lassen.

Die Art der Sicherheitstests orientiert sich am Gefahrenpotential eines gefährdeten Systems, Netzwerks oder einer Anwendung, das heißt, dass beispielsweise ein Webserver eine höhere Gefahrenpriorität als eine einfache Textverarbeitung hat.

  • Entsprechend zahlreich sind die Hilfswerkzeuge für Penetrationstests und entsprechend sollten derart umfassende Sicherheitstests lediglich erfahrene Sicherheitsforscher oder Systemadministratoren durchführen, die wissen, was sie machen, welche Ereignisse sie damit verursachen und welche Ergebnisse sie damit erzielen möchten.

Der Begriff Penetrationstest wird gelegentlich auch fälschlich für einen automatischen Vulnerability Scan (vulnerability engl.

  • und fachsprachlich für Schwachstelle) verwendet.
  • Während dieser weitgehend automatisch abläuft, bedarf es bei einem echten Penetrationstest manueller Vorbereitung in Form von Sichtung des Prüflings, Planung der Testverfahren und Ziele, Auswahl der notwendigen Werkzeuge und schließlich die Durchführung.
  • Der Security Scan wiederum unterscheidet sich vom Schwachstellenscan durch die manuelle Verifikation der Testergebnisse.
  • Die Verwendung der jeweiligen Begriffe erfolgt im semi-professionellen Bereich jedoch oft uneinheitlich, während in der professionellen Welt der Sicherheitsforscher und Fachunternehmen Standards zur Durchführung von Penetrationstests akzeptiert und weltweit anerkannt werden.

Der Penetrationstest wird oft als empirischer Teil einer allgemeineren Sicherheitsanalyse durchgeführt.

Zielsetzung

Ziele eines Penetrationstests sind:

  • die Identifikation von Schwachstellen
  • das Aufdecken potentieller Fehler, die sich aus der (fehlerhaften) Bedienung ergeben
  • die Erhöhung der Sicherheit auf technischer und organisatorischer Ebene und
  • die Bestätigung der IT-Sicherheit durch einen externen Dritten.

Durch die ständige Änderung der Bedrohungsbilder und sicherheitsrelevanten Faktoren in der Informationstechnik ist ein Penetrationstest allerdings eher als Momentaufnahme zu begreifen.

  • Im Extremfall kann ein System unmittelbar nach dem Beheben der durch den Test aufgedeckten Schwachstellen durch eine neue Sicherheitslücke wieder verwundbar sein.
  • Allerdings deckt ein Test in der Regel auch die Ursachen auf, welche zu den festgestellten Problemen führen (z. B. 
  • Personalmangel).
  • Jedoch ist die Behebung der Ursachen in der Regel Sache des Betreibers der getesteten Systeme und Anwendungen.
  • Die Behebungsmaßnahmen reichen von besserer Betreuung der Systeme und Anwendungen bis hin zur Abschaltung oder Verkauf.
Social-Engineering-Penetrationstest

Da potentielle Angreifer die Rechner und Datenbanken von Unternehmen nicht ausschließlich von außen über das Netzwerk angreifen, sondern auch versuchen, durch Social Engineering über die Mitarbeiter an Informationen und Zugänge zu kommen, gibt es spezielle Penetrationstests, die sich mit diesem Thema beschäftigen.

  • Diese Tests sind darauf ausgelegt, in Unternehmen Schwachstellen zu finden und im Nachgang durch Schulungen und Aufklärungen ernsthafte Angriffe zu erschweren.

Testaufbau und Durchführung

Das deutsche Bundesamt für Sicherheit in der Informationstechnik (BSI) hat ein Klassifikationsschema entwickelt, anhand dessen sich ein Test beschreiben lässt.

  • Im Wesentlichen werden sechs verschiedene Kriterien betrachtet:
  • Informationsbasis
  • Aggressivität
  • Umfang
  • Vorgehensweise
  • Technik
  • Ausgangspunkt

Anhand dieser Kriterien wird dann zusammen mit dem Kunden ein individueller Test zusammengestellt.

  • In der Praxis werden meist mehrstufige Tests durchgeführt, bei denen mehrere Kriterien nacheinander zur Anwendung kommen.
  • Beispielsweise wird zuerst ein Blackbox-Test und danach ein Whitebox-Test durchgeführt.

Im Test selbst werden einzelne Testmodule ausgeführt.

  • Bei den Testmodulen werden I- und E-Module unterschieden.
  • I-Module bezeichnen Testschritte, die zur reinen Informationsbeschaffung dienen, E-Module bezeichnen aktive Eindringversuche.
  • Einem E-Modul geht meist ein entsprechendes I-Modul voraus.

Rechtslage

Penetrationstest/Rechtslage

Prozessbeschreibung

Das BSI empfiehlt beim Durchführen eines Penetrationstests einen fünfstufigen Prozess. Die Vorbereitungsphase dient zur gemeinsamen Zielsetzung und dem Testaufbau mit dem Kunden.

  • In der Informationsbeschaffungsphase versucht der Sicherheitsanalyst möglichst viele Informationen über das zu testende System zu erhalten.
  • Die gewonnenen Informationen werden anschließend einer Bewertung unterzogen.
  • Erst danach werden aktive Eindringversuche unternommen.
  • Anschließend werden die Ergebnisse gesammelt und in Form eines Berichts gebündelt.
  • Dieser Bericht enthält auch Empfehlungen, wie mit eventuellen Sicherheitsproblemen umgegangen werden soll.
  • Begleitend zu allen fünf Phasen ist eine akribische Dokumentation der einzelnen Arbeitsschritte notwendig.

Risiken

Bei der Testdurchführung kann es zu Störungen des normalen IT-Betriebs kommen.

  • Beispielsweise zielen DoS-Attacken darauf ab, den Zugriff auf einzelne Services, Rechner oder Netzsegmente zu unterbinden.
  • Werden DoS-Attacken im Rahmen eines Moduls simuliert, sollte das außerhalb der Nutzungszeiten des Systems erfolgen.

Auch bei gewöhnlichen I- oder E-Modulen kann es unter Umständen zum Absturz einzelner Systeme kommen.

  • In der Vorbereitungsphase muss auch eine Übereinkunft zwischen Auftraggeber und Kunden getroffen werden, wie mit den erhaltenen Erkenntnissen umgegangen wird.
  • So könnten die Tester im Rahmen des Tests an unternehmenskritische Informationen gelangen.

Software

Die Durchführung von Penetrationstests kann durch verschiedene Softwareprodukte unterstützt werden.

ARP0c ist beispielsweise ein Verbindungsinterceptor, der mit einem ARP-Spoofing- und Bridging-Modul arbeitet.

  • ARP-Anfragen von beliebigen Quellen in einem Netzwerkverbund werden mit gefälschten ARP-Anfragen versehen, um den Host zu erreichen, der ARP0c-Pakete sendet.
  • Pakete von diesem Host werden weitergeleitet zu einem internen Modul, und die normale Adresse wird weitergeleitet mit dem Ziel, eine normale Netzverbindung aufrechtzuerhalten.
  • Mit Hilfe des Tools ist entsprechend ein Man in the Middle-Monitoring möglich.
  • Ziel des Einsatzes ist die Austestung von Firewall-Regeln, die auf einer Stateful-Packet-Inspection-Basis beruhen und ARP-Pakete mit fremden IP-Adressen verwerfen sollten.

Ein weiteres Beispiel eines solchen Spezialwerkzeugs ist Egressor.

  • Egressor ist ein von MITRE entwickeltes freies Tool zur Überprüfung der Konfiguration von Internet-Punkt-zu-Punkt-Routern.
  • Egressor hilft Unternehmen dabei, Router unempfindlich gegen Denial-of-Service-Attacken (DoS) zu konfigurieren.
  • Das Egress-Filtersystem reduziert die Gefahr, ein Netzwerk zum Teil von verteilten Denial-of-Service-Attacken (DDoS) werden zu lassen.

Zunehmend häufiger werden auch umfassende Werkzeugsammlungen für Penetrationstests angeboten, die in der Regel von erfahrenen Sicherheitsfachkräften zusammengestellt wurden und auf Basis einer stabilen Linux-Distribution arbeiten, die als Live-CD angeboten wird.

  • Der Vorteil solcher Penetrationstest-Distributionen ist der, sämtliche relevanten Werkzeuge unter einer gemeinsamen Oberfläche zur Verfügung zu haben.
  • Zudem sind sie meist vorkonfiguriert und fertig zur Anwendung.
  • Ein gutes Beispiel für solche Live-CDs ist die Kali-Linux-Distribution, die aus zwei unabhängigen Projekten verschmolzen wurde und aktuell das Maß aller Dinge darstellt, weil sie wirklich komplett ist und alle Werkzeuge beinhaltet, die für ausgedehnte Sicherheitstests benötigt werden.

Die zahlreichen Werkzeuge, die für Penetrationstests herangezogen werden können, lassen sich in folgende Kategorien einteilen:

  • Viele Werkzeuge überprüfen nur eine einzelne Schwachstelle.
  • Vulnerability Scanner überprüfen oft automatisiert eine Reihe von applikations- oder protokollbasierten Schwachstellen.
  • Einige lassen sich durch eigene Skriptsprachen erweitern.
  • Einige Programme dienen ursprünglich oder zusätzlich zu ihrer Funktion in Penetrationstests auch dem allgemeinen Netzwerkmanagement, darunter z. B. 
  • einige Scanner und Sniffer.
  • Auch normale Programme, die beim Betriebssystem mitgeliefert werden, können einem Penetrationstester bei einer Untersuchung dienen.

Das BSI stellt eine Sammlung solcher Tools unter dem Namen BSI OSS Security Suite kostenlos zur Verfügung.

Weitere bekannte Tools für Penetrationstests sind Attack Tool Kit (ATK) oder Metasploit.

Qualität und Aussagekraft eines Penetrationstests lassen sich aber kaum an den eingesetzten Werkzeugen festmachen; sie sind in erster Linie von der Genauigkeit der getroffenen Annahmen („Szenario“) und der strukturierten Durchführung abhängig.

Anhang

Siehe auch

Sicherheit

Dokumentation

  1. https://www.brain-media.de/collections/penetration-testing/products/hacking-kompakt-die-kunst-des-penetration-testing
RFC
Man-Page
Info-Pages

Links

Projekt
Weblinks
  1. Bundesamt für Sicherheit in der Informationstechnologie, Praxis-Leitfaden: IT-Sicherheits-Penetrationstest
  2. SecurityFocus Penetration Testing Listenarchiv
  3. Kali Linux Projektseite
  4. Security Focus Pen-Test Mailingliste (nicht mehr aktiv)
  5. Die große Application Security Penetration Test FAQ für Auftraggeber