Andrea Danti - Fotolia
Die unterschiedlichen Typen von Penetrationstests
Im vierten Teil unserer Reihe über Ethical Hacking lernen Sie die verschiedenen Arten von Penetrationstests kennen, darunter auch Social Engineering.
Dies ist der vierte von fünf Teilen unserer Grundlagenserie zu Penetrationstests. Im ersten Beitrag haben wir die eine Einführung in Netzwerk-Penetrationstests gegeben. Im zweiten Artikel ging es um die richtige Planung von Pentests. Der dritte Teil beschäftigte sich mit geeigneten Strategien, Methoden und Verfahren für Penetrationstests.
Ein Penetrationstest hängt vollständig vom Umfang der Operation ab – das heißt, bis zu welchem Grad das Eindringen in Computersysteme gelingt, steht in direktem Verhältnis zum Umfang. Beispielsweise reicht es mitunter aus, nur eine Schwachstelle in einem bestimmten System zu finden. Daher ist es für Sicherheitsexperten äußerst wichtig, auf Basis des vereinbarten Umfangs den passenden Typ für den Penetrationstest zu wählen. In diesem Artikel erfahren Sie alles zu den unterschiedlichen Optionen für Penetrationstests.
Typen von Penetrationstests
- DoS-Tests (Denial of Service)
Bei einem DoS-Test versucht ein Angreifer, spezifische Schwachstellen auf einem System auszunutzen, indem er die Ressourcen des Ziels so stark beansprucht, dass der Computer auf legitime Anfragen nicht mehr reagiert. Diese Pentests lassen sich entweder mit automatischen Tools oder manuell durchführen. Die verschiedenen DoS-Typen lassen sich grob unterteilen in Software-Exploits und Flooding-Angriffe. Welches Ausmaß DoS-Tests in einem Penetrationstest annehmen sollen, hängt davon ab, wie wichtig eine störungsfreie, kontinuierliche Verfügbarkeit der Informationssysteme und damit verbundener Verarbeitungsaktivitäten für den Auftraggeber ist. Angriffe per Denial of Service können in verschiedenen Ausprägungen vorliegen. Die wichtigsten Formen, die es bei Pentests zu berücksichtigen gilt, sind:- Ressourcenüberlastung. Diese Attacken nehmen die Ressourcen eines Ziels (zum Beispiel den Arbeitsspeicher) so stark in Anspruch, dass es nicht mehr antwortet.
- Flooding-Angriffe. Hierbei wird eine große Menge von Netzwerkanfragen in der Absicht gesendet, das Ziel zu überlasten. Erreichen lässt sich das per:
- ICMP (Internet Control Message Protocol), als Smurf-Angriffe bezeichnet
- UDP (User Datagram Protocol), als Fraggle-Angriffe bezeichnet. - Half-Open-Angriffe beziehungsweise SYN-Flooding. Hierbei geht es darum, möglichst zahlreiche TCP-Verbindungen auf dem Ziel zu öffnen, so dass legitime Verbindungen nicht zustande kommen.
- Out-of-Band-Angriffe. Diese Attacken setzen die Ziele außer Gefecht, indem sie die Standards für IP-Header bewusst verletzen:
- Übergroße Pakete (Ping of Death). Der Paket-Header zeigt an, dass ein Paket mehr Daten enthält als tatsächlich vorhanden sind.
- Fragmentierung (Teardrop-Angriff). Hierbei werden sich überschneidende fragmentierte Pakete (Teile von Paketen) gesendet, die kleiner als üblich sind.
- Spoofing der IP-Quelladresse (Land-Angriff). Dadurch erstellt ein Computer eine TCP-Verbindung zu sich selbst.
- Manipulierter UDP-Paket-Header (UDP-Bombe). Die UDP-Header geben eine falsche Länge an.
- Tests der Anwendungssicherheit
Mit der Zunahme von E-Business wird die Geschäfts-Grundfunktionalität nun über webbasierte Anwendungen angeboten. Anwendungen über das Internet zur Verfügung zu stellen, ist für Unternehmen Fluch und Segen zugleich. Zwar lassen sich auf diese Weise Kunden weltweit erreichen, doch dass Partnern der Zugriff auf das Intranet eingeräumt wird, führt zu neuen Sicherheitsschwachstellen. Denn selbst mit einer Firewall und anderen Monitoring-Systemen kann die Sicherheit kompromittiert werden, da schließlich Traffic die Firewall passieren muss. Bei Tests der Anwendungssicherheit gilt es, die Kontrollmaßnahmen für diese Anwendung (E-Commerce-Server, Online-Finanzanwendungen, verteilte Anwendungen und Internet-Frontends für Legacy-Systeme) und deren Prozessablauf zu prüfen. Zu den Themen, die evaluiert werden müssen, gehören die von der Anwendung genutzte Verschlüsselung zum Schutz der Vertraulichkeit und Integrität von Informationen, wie Benutzer authentifiziert werden, die Integrität der Sitzung des Internet-Users mit der Host-Anwendung und die Verwendung von Cookies – auf dem Computer eines Kunden gespeicherte Daten, die von der Webserveranwendung genutzt werden.
Werfen wir einen Blick auf einige wichtige Komponenten von Anwendungstests:
- Code-Review: Code-Reviews umfassen eine Analyse des gesamten anwendungsbasierten Codes, um sicherzustellen, dass er keine sensiblen Informationen enthält, mit denen ein Angreifer eine Anwendung missbrauchen könnte. So enthält öffentlich verfügbarer Anwendungscode möglicherweise Testkommentare, Namen oder Passwörter im Klartext, die einem Hacker eine Vielzahl an Informationen über die Anwendung verraten.
- Autorisierungstests: Dazu gehören Tests der Systeme, die für den Aufbau und Aufrechterhaltung von Nutzer-Sessions verantwortlich sind. Getestet werden müssen daher:
- die Eingabevalidierung von Login-Feldern – unerlaubte Zeichen oder überlange Eingaben können zu unvorhersehbaren Ergebnissen führen;
- die Cookie-Sicherheit – Cookies können gestohlen und legitime Sitzungen von einer nicht berechtigten Person genutzt werden; und
- die Sperrfunktion – Tests der in der Anwendung festgelegten Parameter für Timeout und Intrusion Lockout, um sicherzustellen, dass legitime Sessions nicht entführt werden können.
Damit soll festgestellt werden, ob sich das Login-System so manipulieren lässt, dass es einen nicht autorisierten Zugriff erlaubt. Die Tests verraten außerdem, ob das System unter Verwendung der gleichen Methoden anfällig für Denial-of-Service-Angriffe ist.
- Funktionalitätstests: Dazu gehören Tests der Systeme, die für die Anwendungsfunktionalität, wie sie sich gegenüber einem Nutzer darstellt, zuständig sind. Getestet werden müssen daher:
- die Eingabevalidierung – unerlaubte Zeichen, spezielle URLs oder überlange Eingaben können zu unvorhersehbaren Ergebnissen führen; und
- die Transaktionen – man muss sicherstellen, dass die Anwendung sich entsprechend der Spezifikation verhält und es dem Nutzer nicht gestattet, das System zu missbrauchen.
- War Dialing: War Dialing ist eine Technik, um systematisch eine große Anzahl von Telefonnummern anzurufen und so Modems, Remote-Access-Geräte und Verbindungen für die Fernwartung von Computern zu ermitteln, die im Netzwerk einer Organisation verfügbar sind. Mit War Dialing ist ein Hacker unter Umständen in der Lage, angreifbare Out-of-Band-Einstiegspunkte zu lokalisieren und sie zu manipulieren, um in das Netzwerk einer Organisation einzudringen. Die Ignoranz von IT-Mitarbeitern, das Telefonnetz als möglichen Angriffsvektor zu berücksichtigen, war der bedeutendste Faktor für die Popularität dieser Angriffsform. Diese Methode hatte ihre Hochzeit, als Computer mit akustischen Modems über Telefonleitungen verbunden waren. Heutzutage hat das Verfahren an Bedeutung verloren, trotzdem sollten Verantwortliche gerade in großen, komplexen Netzwerken Legacy-Systeme diesbezüglich unter die Lupe nehmen. So besteht zum Beispiel die Gefahr, dass offene Modems an kritischen Netzwerkservern, Routern und anderen Geräten zum Einfallstor werden. Bei diesen Tests werden, nachdem ein Modem oder anderes Zugangsgerät identifiziert wurde, Analyse- und Exploit-Techniken angewendet, um zu beurteilen, ob diese Verbindung sich zum Eindringen in ein Unternehmensnetzwerk ausnutzen lässt.
- Penetrationstests für WLANs: Das Aufkommen von drahtlosen Netzwerken, ob in der Infrastruktur von Enterprise-Netzwerken oder bei Endnutzern, hat zu zusätzlichen Sicherheitsrisiken geführt, die deutlich mehr Bedrohungspotenzial besitzen als Angriffe auf kabelgebundene Netzwerke. Da für WLANs ihre Signalreichweite die einzige Grenze darstellt, ist es für Hacker ein Leichtes, mit entsprechendem Equipment drahtlose Netzwerke aus dem fahrenden Auto zu identifizieren – dieses Verfahren ist als War Driving bekannt. Nachdem er einen offenen drahtlosen Access Point ausfindig gemacht hat, trägt der War Driver ihn für gewöhnlich in eine Karte ein. Am Ende verfügt er so über eine Übersicht der Access Points inklusive ihrer Eigenschaften (SSID, WEP/WPA, MAC etc.). Zweck der WLAN-Tests ist es, Sicherheitslücken oder Schwachstellen im Design, der Implementierung oder Betrieb des Funknetzwerks der Organisation aufzuspüren.
- Social Engineering: Häufig in Verbindung mit Blind- und Doppelblindtests genutzt, bezieht sich Social Engineering auf Methoden, den Menschen als Schwachstelle auszunutzen (etwa indem man die eigene Vertrauenswürdigkeit herausstellt oder an die Hilfsbereitschaft von anderen appelliert), um an relevante Informationen zu gelangen. Das geschieht über soziale Interaktion, typischerweise mit der Belegschaft, den Lieferanten und Dienstleistern der Organisation. Auf diese Weise lassen sich Informationen sammeln, um anschließend in die Systeme einzudringen. Zu den Techniken gehören:
- Indirekte Verfahren: Der Angreifer gibt sich zum Beispiel als Help-Desk-Mitarbeiter der IT-Abteilung aus und bittet User darum, ihm unter einem falschen Vorwand Benutzernamen und Passwort zu verraten. Eine andere Variante ist Phishing. Hierbei werden täuschend echt aufgemachte E-Mails an potenzielle Opfer geschickt. Diese sollen etwa eine bestimmte Webseite besuchen, die der Originalseite eines seriösen Unternehmens nachempfunden ist, und dort vertrauliche Informationen angeben. Allerdings gehört die Seite dem Betrüger, der die Daten abgreift;
- Direkte Verfahren oder erweitertes Social Engineering: Der Angreifer gibt sich als Mitarbeiter aus und versucht, physischen Zugang zu speziell geschützten Bereichen zu erhalten, in denen sich sensible Informationen befinden. Weitere Varianten sind das Abfangen von Post- und Kuriersendungen oder das Durchwühlen von Müll (Dumpster Diving), um nach sensiblen Informationen auf gedrucktem Material zu suchen.
Mit Social Engineering lässt sich eine weniger technische, doch gleichermaßen wichtige Sicherheitskomponente testen: die Bereitschaft der Mitarbeiter eines Unternehmens, den unerlaubten Zugang zu Informationen und Informationssystemen zu begünstigen oder zu verhindern. Auf diese Weise kann man ebenfalls herausfinden, wie stark das Sicherheitsbewusstsein unter den Angestellten ausgeprägt ist.
Folgen Sie SearchNetworking.de auch auf Twitter, Google+, Xing und Facebook!