1967 arbeiteten die Computersicherheitsexperten der Rand Corporation, Willis Ware, Rein Turn, Harold Petersen und Benard Peters, nach einer gemeinsamen Computerkonferenz an einem Bericht, in dem sie erklärten, die Kommunikationsmedien zwischen Computern seien leicht zu durchdringen.

Das erste Eindringen in die Computersicherheit war geboren. Und damit entwickelte James P. Anderson ein schrittweises Vorgehen, das die Grundlage für Penetrationstests bildete.

Die Struktur war einfach: Sicherheitsteams durchliefen mehrere Stufen, von der Entdeckung einer Schwachstelle bis zur Entwicklung von Gegenmaßnahmen. Hier ein kurzer Überblick über die Geschichte der Penetrationstests.

Die Sicherheit eines Unternehmens auszunutzen ist nicht einfach und erfordert Geschick und Zeit. Aber mit der heutigen Technologie ist es für Angreifer ein Leichtes, die Schwachstellen in Ihrem Unternehmen zu finden. Penetrationen zielen auf die im Internet sichtbaren Vermögenswerte eines Unternehmens ab (z. B. eine Webanwendung, die Website, Domain Name Server (DNS) und E-Mails), um sich Zugang zu verschaffen und wertvolle Daten abzugreifen.

Mithilfe von Penetrationstests kann Ihr Unternehmen die mögliche Angriffsfläche identifizieren und verstärken, bevor sie ausgenutzt wird. Die Forschung bestätigt dies: 73% der erfolgreichen Angriffe erfolgten durch das Eindringen in Webanwendungen über deren Sicherheitslücken.

Aber mehr denn je müssen Unternehmen die Sicherheit ihrer Anwendungen, Systeme und Netzwerke überprüfen. Die Durchführung von simulierten Tests ist ein effektiver Weg, um die Sicherheitsstärke und die Kontrollmaßnahmen eines Systems zu überprüfen. Es handelt sich dabei nicht um eine einmalige, sondern um eine regelmäßige Aktivität. Die Häufigkeit der Tests richtet sich nach der Organisationsstruktur Ihres Unternehmens und den Risiken, die sich aus den Bewertungen ergeben.

Zum Glück sind Penetrationstests nicht kompliziert. Wenn Sie Ihre IT-Teams mit den notwendigen Fähigkeiten ausstatten, kann Ihr Unternehmen die Sicherheit konsequent umsetzen, insbesondere bei wichtigen Infrastruktur-Updates oder der Einführung neuer digitaler Dienste und Assets.

Und alles beginnt damit, zu verstehen, worum es bei diesem Prozess geht.

Was sind Penetrationstests?

YouTube video

Bevor wir uns mit dem Wie beschäftigen, sollten wir zunächst das Was und Warum klären. Penetrationstests (oft abgekürzt als Pen-Tests) sind ein offiziell anerkannter Cyberangriff, der auf Unternehmen in einer sicheren und kontrollierten Umgebung abzielt.

Pen-Tests sind Teil von Sicherheitsaudits und zielen darauf ab, Schwachstellen in einer kontrollierten Unternehmensumgebung aufzudecken. Taktisch gehen die Tests ähnlich vor, wie ein Hacker es tut. Einige Hauptgründe, warum Ihr Unternehmen Pen-Tests benötigt, sind:

  • Aufdecken von versteckten Schwachstellen vor Angreifern.
  • Stärkung der Sicherheitsprozesse und -strategien.
  • Senkung der Behebungskosten und Verkürzung der Verweildauer.
  • Einhaltung gesetzlicher Vorschriften im Bereich Sicherheit/Datenschutz.
  • Bewahren Sie den Ruf Ihrer Marke und erhalten Sie die Loyalität Ihrer Kunden.

Pen-Tests prüfen den Gesundheitszustand Ihres Unternehmens (Widerstandsfähigkeit gegen Angriffe) und zeigen, wie leicht es für Hacker ist, in Ihre Systeme einzudringen. Darüber hinaus können die gewonnenen Erkenntnisse bei der Hierarchisierung von Cybersicherheitsinvestitionen, der Einhaltung von Industriestandards und der Verbesserung von Verteidigungsstrategien zum Schutz Ihres Unternehmens vor wahrscheinlichen Bedrohungen hilfreich sein. Das alles ist möglich durch automatisierte Test-Tools, die Penetrationstools.

Was sind Pen-Test-Tools?

YouTube video

Ein ethischer Hacker verwendet Pen-Test-Tools, um die Widerstandsfähigkeit der Computerinfrastruktur durch Simulation weltweiter Angriffe zu bewerten. Durch den Einsatz dieser Tools können Sicherheitsteams sich wiederholende Testarbeiten eliminieren, Testberichte schneller erstellen und die Kosten für mehrere Scanner reduzieren.

Wie Sie vielleicht schon erraten haben, gibt es zahlreiche Arten: Open Source, Web-App, Netzwerk, mobile App, Cloud, manuell, automatisiert und Penetrationstests als Service. So zahlreich sie auch sind, achten Sie am besten auf Schlüsselfunktionen wie umsetzbare Berichte, CI/CD-Integration, Unterstützung bei der Fehlerbehebung und Pen-Test-Zertifikate (nur wenige bieten öffentlich zugängliche Pen-Test-Zertifikate an).

Auf dieser Grundlage können wir nun den Prozess der Penetrationstests aufschlüsseln.

Phasen der Penetrationstests

Bei einem typischen Penetrationstest gibt es mehrere Phasen. Auch wenn verschiedene Ressourcen den Prozess in verschiedenen Stufen anbieten, ändert sich die Gesamtstruktur nicht. Der Prozess umfasst die Erkundung, das Scannen, die Bewertung von Schwachstellen, das Ausnutzen und die Berichterstattung.

Auch hier machen sich die besten Tester mit vielen Tools vertraut, um in jeder Testphase das richtige Werkzeug zu verwenden. Jeder Meilenstein des Prozesses kann wie folgt wahrgenommen werden.

Sammeln von Informationen

Information-Gathering

Diese Phase, die oft vernachlässigt wird, hilft Ihrem Unternehmen, eine gemeinsame Basis mit dem Pen-Tester zu schaffen. In dieser Phase legen Sie den Arbeitsumfang, die Einsatzregeln, den Zeitplan und die genaue Logistik mit klaren Zielen und Vorgaben fest.

Um einen vollständigen und hilfreichen Pen-Test durchzuführen, hilft Ihnen diese Phase dabei, die Bereiche zu verstehen, die getestet werden müssen, und die besten Methoden zu finden. Da es sich um einen Anfängerschritt handelt, sollten Sie ihn auf keinen Fall übersehen.

Bevor Sie ein System testen, muss ein Unternehmen dem Tester zustimmen. Andernfalls können seine Handlungen als illegal angesehen werden. Unternehmen legen klare Regeln (in einem Vertrag) für einen reibungslosen Arbeitsablauf bei der Beauftragung von Testern fest. In der Vereinbarung sollten auch kritische Assets, Testziele und Vorsichtsmaßnahmen aufgeführt sein. Außerdem beeinflusst dieser Schritt alle nachfolgenden Aktionen. Am Ende sind alle Pläne mit den erwarteten Testergebnissen abgestimmt.

Erkundung/OSINT-Sammlung

In dieser Phase sammeln die Tester alle verfügbaren Informationen über das System. Die gesammelten Daten sind mit den bevorstehenden Tests verknüpft und werden durch die Ergebnisse von Schritt eins gesteuert. Auf diese Weise können die Tester genau bestimmen, welche Daten sie sammeln und welche Strategien sie anwenden wollen. Wenn Sie sich für eine aktive Erkundung entscheiden, greift der Tester direkt in die Systeme ein. Wenn Sie sich für die passive Variante entscheiden, werden öffentlich verfügbare Informationen eingeholt. Für eine umfassende Erkundung sollten Sie beide Techniken anwenden.

Bei der aktiven Datenerfassung wird mit Netzwerken, Betriebssystemen, Benutzerkonten, Domänennamen, Mailservern und Anwendungen gearbeitet. Bei der passiven Datenerfassung dreht sich alles um Open-Source-Intelligence; man könnte soziale Medien, Steuerinformationen, Websites und andere öffentliche Daten nutzen.

Im Folgenden finden Sie einige Open-Source-Intelligence-Tools (OSINT), die meine Kollegen und ich beim Sammeln und Verknüpfen von Informationen im Internet für nützlich und einfach zu verwenden gehalten haben. Mithilfe des OSINT-Frameworks können Sie eine umfassende Checkliste für Einstiegspunkte und Schwachstellen erstellen. Während dieser Schritt für interne und externe Pen-Tests entscheidend ist, wird er bei Webanwendungen, mobilen Apps und API-Tests nicht durchgeführt.

Scannen

Scannen

Eine gründliche technische Überprüfung des Systems ist der nächste Schritt. Mithilfe von Scanning-Tools wie automatischen Schwachstellen-Scannern und Netzwerk-Mappern können Sie nachvollziehen, wie das Zielsystem auf verschiedene Eindringlinge, offene Ports, Netzwerkverkehr usw. reagiert.

Die wichtigsten Komponenten dieser Phase sind das Scannen und Analysieren von Assets. Mit Tools wie Nmap können Sie Computerdienste und Hosts aufspüren, Pakete senden und die Antworten analysieren. Am Ende dieser Phase sind Sie mit Informationen über die Assets ausgestattet. Dazu gehören Betriebssysteme, laufende Dienste und offene Ports.

Wenn Sie die Ergebnisse analysieren, haben Sie die Grundlage für die Planung eines Angriffs. Sie können die digitale Landschaft des Systems abbilden und mögliche Angriffspunkte ausfindig machen. Sie können statische und dynamische Analysen durchführen, um sich ein klares Bild von der Reaktion des Systems auf verschiedene Bedingungen zu machen.

Bei der statischen Analyse wird der Code Ihrer Anwendungen untersucht, während sie noch nicht ausgeführt werden; Sie können Tools verwenden, um Codebasen nahtlos zu scannen. Bei der dynamischen Analyse inspizieren Sie den Code, während die Anwendung ausgeführt wird. Denken Sie daran, dass die hier gesammelten Informationen genau sein und korrekt ermittelt werden müssen, da der Erfolg der nachfolgenden Phasen davon abhängt.

Bewertung/Zugriffsgewinne

An diesem Punkt helfen alle in den vorangegangenen Schritten gesammelten Daten dabei, Schwachstellen zu identifizieren und festzustellen, ob sie ausgenutzt werden können. Diese Phase ist zwar hilfreich, aber besonders wirkungsvoll, wenn sie mit anderen Penetrationstestverfahren kaskadiert wird.

Um die mit den entdeckten Schwachstellen verbundenen Risiken zu bewerten, greifen die Tester auf mehrere Ressourcen zurück. Eine davon ist die National Vulnerability Database (NVD), die die in den Common Vulnerabilities and Exposures (CVEs) veröffentlichten Software-Anfälligkeiten analysiert.

Als nächstes identifizieren Sie Ziele und erstellen eine Karte der Angriffsvektoren. Zu den Zielbereichen gehören hochwertige Werte wie Mitarbeiterdaten, Kundeninformationen, Partner/Lieferketten, Anbieter, Ports, Anwendungen und Protokolle. Web-App-Angriffe werden gestartet.

Die häufigsten sind SQL-Injection, Cross-Site Scripting und Backdoors. Das System wird durch die Ausweitung von Privilegien, das Abfangen des Datenverkehrs und den Diebstahl von Daten ausgenutzt, um die Auswirkungen des Schadens aufzudecken. Der Tester hält sich an den Umfang, der in den Phasen der Informationsbeschaffung festgelegt wurde, und ist bestrebt, mit den vorgegebenen Beschränkungen zu arbeiten.

Ausbeutung

Der Tester prüft, ob die Schwachstellen ausgenutzt werden können, auch bekannt als die Phase der Zugriffserhaltung. Diese Phase beinhaltet einen tatsächlichen Einbruch und den Versuch, auf das System zuzugreifen. Mithilfe von Tools wie Metasploit simuliert der Tester einen echten Angriff.

Im weiteren Verlauf dieser Phase wird der Tester für die Ressourcen eines Unternehmens verantwortlich gemacht – er muss sicherstellen, dass die Systeme nach den Simulationen nicht kompromittiert werden.

Metasploit wird wegen seiner reibungslosen Abläufe bei der Ausnutzung von Schwachstellen bevorzugt. In dieser Phase werden die Auswirkungen eines Angriffs gemessen. Der Tester könnte versuchen, Daten zu verschlüsseln oder zu exfiltrieren sowie Ransomware und Zero-Day-Angriffe zu simulieren. Der Schlüssel zu einem erfolgreichen Pen-Test liegt darin, ein Gleichgewicht zwischen dem Ausloten von Grenzen und der Wahrung der Integrität eines Systems zu finden.

Am besten arbeiten Sie mit Experten zusammen, die Schwachstellen ausnutzen, die der Automatisierung entgehen. Am Ende dieser Phase haben Sie versucht, hochrangige Privilegien im System und Netzwerkinformationen zu erhalten, indem Sie die verfügbaren Daten ermittelt haben. Der ethische Hacker sollte auch die Ergebnisse der Ausnutzung von hochwertigen Zielen erklären.

Risikoanalyse und Empfehlung, Überprüfung, Berichterstattung

Risk-Analysis-and-Recommendation-Review-Reporting

Nach der Ausnutzungsphase erstellt der Tester einen Bericht, in dem er seine Ergebnisse dokumentiert. Der Bericht sollte bei der Behebung der aufgedeckten Schwachstellen verwendet werden.

Ein guter Pen-Test-Bericht ist eine Fundgrube für gut dokumentierte Schwachstellen, die einem Unternehmen helfen, Sicherheitsrisiken zu beheben. Ein guter Bericht enthält umfassende Informationen über alle entdeckten Schwachstellen und ihre CVVS-Werte, eine kurze Beschreibung der technischen Risiken, mögliche Auswirkungen auf das Geschäft, eine detaillierte Beschreibung der Schwierigkeit der Ausnutzung und taktische Ratschläge.

Darüber hinaus sollten die Berichte alle Phasen, Testmodelle, verwendeten Techniken und anvisierten Assets dokumentieren. Wenn möglich, wird der Tester eine Stellungnahme dazu abgeben, ob der Test den Anforderungen der geltenden Rahmenbedingungen entspricht. Abschließend wird der Bericht am besten mit einer allgemeinen Erklärung und einem technischen Leitfaden geliefert.

Nach der Berichterstattung und der Präsentation der Berichte ist die Bereinigung des Systems von entscheidender Bedeutung. Dabei geht es darum, das System so wiederherzustellen, wie es vor der Änderung der Testwiederherstellung war. Zu den Bereinigungsaktivitäten gehören das Entfernen aller ausführbaren Dateien, temporären Dateien und Skripte von den kompromittierten Systemen, die Beseitigung von Benutzerkonten, die zur Verbindung mit dem kompromittierten System erstellt wurden, und die Beseitigung von Rootkits in der Umgebung.

Beseitigung

Der letzte Schritt ist die Beseitigung der Sicherheitslücke, die in die Hände des Unternehmens fällt. Geleitet von den Berichten und Ergebnissen der Penetrationstests nimmt das Unternehmen die Schwachstellen ins Visier, analysiert die potenziellen Auswirkungen, trifft Entscheidungen für das weitere Vorgehen und beeinflusst die Strategien zur Behebung.

Da diese Phase durch die Verbesserung früherer Fehler abgerundet wird, ist die Behebung aller ausnutzbaren Schwachstellen innerhalb eines angemessenen Zeitraums begrenzt. Gelegentlich kann sich diese Phase über einen längeren Zeitraum erstrecken, so dass wiederholte Tests zu den vorgenommenen Aktualisierungen oder verschiedene Tests durchgeführt werden können.

Praktische Anwendung von Pen-Tests: Eine Schritt-für-Schritt-Anleitung

Für dieses Beispiel haben wir uns für die Verwendung des Metasploit-Frameworks entschieden. Sie können Ihren eigenen Arbeitsablauf erstellen; hier ist ein typischer Arbeitsablauf, damit Sie loslegen können. Beginnen Sie mit der Installation des Frameworks.

Wenn Sie unter Linux/macOS arbeiten, verwenden Sie den Befehl:

curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && \
  chmod 755 msfinstall && \
  ./msfinstall

Wenn Sie unter Windows arbeiten, verwenden Sie das neueste Windows-Installationsprogramm. Oder verwenden Sie den Shell-Befehl:

[CmdletBinding()]
Param(
    $DownloadURL = "https://windows.metasploit.com/metasploitframework-latest.msi",
    $DownloadLocation = "$env:APPDATA/Metasploit",
    $InstallLocation = "C:\Tools",
    $LogLocation = "$DownloadLocation/install.log"
)

If(! (Test-Pfad $DownloadLocation) ){
    New-Item -Pfad $DownloadLocation -ItemType Verzeichnis
}

If(! (Test-Pfad $Installationsort) ){
    New-Item -Pfad $Installationsort -ItemType Verzeichnis
}

$Installer = "$DownloadLocation/metasploit.msi"

Invoke-WebRequest -UseBasicParsing -Uri $DownloadURL -OutFile $Installer

& $Installer /q /log $LogLocation INSTALLLOCATION="$InstallLocation"

Und dann..

Starten Sie ein Projekt – Dies wird Ihr Speicher für Daten und Arbeitsbereich sein. Da Sie möglicherweise unterschiedliche Anforderungen für verschiedene Teilnetze in Ihrem Unternehmen haben, können Sie Ihre Arbeit effizienter gestalten, indem Sie sie organisieren. Wenn Sie z.B. einen Pen-Test für die IT-Abteilung und die Personalabteilung durchführen, werden Sie getrennte Ergebnisse erstellen wollen.

create new project
Bildquelle – MetaSploit

Zieldaten abrufen – Hier fügen Sie Ihrem Projekt Daten durch einen Discovery Scan hinzu oder importieren vorhandene Daten. Scannen Sie Ziele, um offene Ports aufzuzählen und die Dienste eines Netzwerks einzusehen. Verwenden Sie die Option Scannen. Geben Sie dann die IP-Adressen ein, die Sie bearbeiten möchten, jeweils in einer einzigen Zeile. Sie können auch die Importoption verwenden, um Daten aus einer lokalen Datei zu importieren.

get target data
Bildquelle – MetaSploit

Hostdaten anzeigen/verwalten – Sie können sich die Daten auf Host- oder Projektebene ansehen. Sie können zwischen den einzelnen IPs hin- und herschalten, um eine einzelne Host-Ansicht zu erhalten.

image-45
Bildquelle – MetaSploit

Nach Schwachstellen scannen – Starten Sie einen Schwachstellen-Scan über die Nexpose-Optionen. Dieser Schritt nutzt Datenbanken mit Schwachstellen, um diese abzugleichen, falls eine gefunden wird.

Schwachstellen ausnutzen – Sie können Schwachstellen über einen nahtlosen Validierungsassistenten ausnutzen. Alternativ dazu funktioniert auch Nexpose.

Post-Exploit-Aktivität – Sammeln Sie Daten aus dem Exploit über die Registerkarte Sitzung; klicken Sie auf“Sammeln“.

image-46
Bildquelle – MetaSploit

Aufräumen – Wenn Sie mit dem Sammeln von Daten fertig sind, verwenden Sie die Option“Aufräumen“, um die Sitzung zu beenden und das System zu bereinigen.

Berichte generieren – Am Ende des Pen-Tests stellt Metasploit Ihnen eine Reihe von Berichten zur Verfügung, die als Ausgangspunkt für die Konsolidierung der Daten und die Zusammenstellung der Ergebnisse dienen.

Eine ausführliche Schnellstart-Anleitung für Pen-Tests finden Sie im Quick Start Guide von Metasploit.

Gängige Pen-Test-Tools

Einige gängige Tools sind Sn1per, Metasploit und Commix.

#1. Sn1per

Sn1per ist ein Tool zur Untersuchung von Schwachstellen, das die Auswirkungen von Client-seitigen Angriffen in Hack-Instanzen überprüft. Sie können damit Remote- und User-End-Angriffe in einer kontrollierten Umgebung simulieren. Sn1per hat 6k GitHub-Sterne. Es fungiert auch als Medienkanal für das Tool. Mit Sn1per können Sie Zeit sparen, indem Sie Open-Source- und kommerzielle Tools zur Auflistung von Sicherheitslücken automatisieren.

#2. Metasploit

Metasploit ist ein riesiges Pen-Test-Framework, das durch die Einheit des gemeinsamen Wissens von Open-Source-Gemeinschaften entwickelt wurde. Es hat 31,2k Sterne auf GitHub, was auf ein starkes Interesse in der Softwarewelt hinweist. Hinter Metasploit steht eine Zusammenarbeit von Sicherheitsenthusiasten, die sich zum Ziel gesetzt haben, Sicherheitslücken zu schließen und das Sicherheitsbewusstsein zu erhöhen.

#3. Commix

Commix ist ein großartiges Tool zur Ausnutzung von OS-Befehlsinjektionen. Commix ist zwar auf Schwachstellen durch Befehlsinjektion spezialisiert, aber es ist einfach zu bedienen, kostenlos und quelloffen, plattformübergreifend kompatibel, portabel und modularisiert. Es hat 4k GitHub-Sterne. Es ist kostenlos und quelloffen.

Letzte Worte

Für Unternehmen ist es unerlässlich, die Phasen der Penetrationstests zu durchbrechen, um die Widerstandsfähigkeit ihrer digitalen Produkte angesichts der zunehmenden Cyberangriffe zu verbessern. Da Cyber-Kriminelle traditionelle Sicherheitslösungen umgehen, ist die Simulation realer Angriffe durch Penetrationstests ein effektiver Weg, um sich in der sich ständig weiterentwickelnden Cyber-Bedrohungslandschaft zurechtzufinden.

Indem Sie den Pen-Test auf die spezifischen Bedürfnisse Ihres Unternehmens zuschneiden, können Sie die Effizienz Ihrer Sicherheitsrichtlinien sicherstellen. Indem Sie alle Phasen des Penetrationstests durchlaufen, stellen Sie sicher, dass Sie den besten ROI für Ihre Investitionen in die Cybersicherheit erhalten.

Um einen erfolgreichen Pen-Test durchzuführen, sollten Sie ihn klug angehen. Beginnen Sie mit der Beschaffung von Informationen über den Test. Bauen Sie auf diesen Informationen auf und gehen Sie auf die Aufklärungsebene. Ein guter Ausgangspunkt für Ihre Erkundung ist die Festlegung der Ziele, die auf das zu prüfende System ausgerichtet werden sollen.

Als Nächstes scannen Sie das System, um sich einen Überblick zu verschaffen und Schwachstellen zu identifizieren. Starten Sie einen Angriff und achten Sie dabei darauf, das System nicht zu beschädigen. Erstellen Sie dann hilfreiche Berichte, die Sie bei der Behebung des Problems unterstützen. Vergessen Sie nicht, das System zu säubern und in seinen ursprünglichen Zustand zurückzusetzen.

Richtig eingesetzt, verbessern Penetrationstests die Sicherheitslage Ihres Unternehmens, indem sie Schwachstellen aufdecken und beheben. Da viele Unternehmen in die Cloud migrieren und neue Technologien einsetzen, werden Penetrationstests für die Informationssicherheit immer wichtiger. In der Tat verwenden 75% der Unternehmen Pen-Tests, um die Sicherheitslage zu überprüfen. Oder aus Gründen der Compliance. Wenn Sie den Penetrationstests ausreichend Aufmerksamkeit schenken und jede Phase des Tests unabhängig behandeln können, werden Sie immer einen Nutzen in der Durchführung von Penetrationstests finden.

Als nächstes sollten Sie sich die kostenlosen Online-Tools für Penetrationstests (Pentest) ansehen, um die Anwendungssicherheit zu testen.