Hacken Für Dummies
Author: Kevin Beaver
Date: 2013-07-03T00:00:00+00:00
Keywords: Security; General; Networking; Computers
Description: Der beste Weg, den eigenen Computer vor Hack-Angriffen zu schützen, ist zu wissen, wie Hacker arbeiten. Betrachten Sie Ihren Computer oder Ihr Computersystem vom Standpunkt eines Hackers und verstehen Sie, wie Hacker Passwörter knacken, welche Schwachstellen Netzwerke haben, wie die Betriebssysteme Windows, Linux und MacOS X angreifbar sind und wie Datenbanken ausspioniert werden können. Der Autor zeigt Ihnen, wie Sie Ihre Systeme auf Schwachstellen überprüfen und Sicherheitslücken ausbessern können. Machen Sie sich die Tricks der Hacker zu eigen und drehen Sie den Spieß um. **
Publisher: John Wiley & Sons

Hacken für Dummies — Schummelseite

Bibliografische Information der Deutschen Nationalbibliothek

Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar.

1. Auflage 2013

© 2013 Wiley-VCH Verlag GmbH & Co. KGaA, Weinheim

Original English language edition Hacking For Dummies © 2013 John Wiley & Sons, Inc., Hoboken, New Jersey

All rights reserved including the right of reproduction in whole or in part in any form. This translation published by arrangement with John Wiley and Sons, Inc. This E-Book is published under license with the original publisher John Wiley and Sons, Inc.

Copyright der englischsprachigen Originalausgabe Hacking For Dummies © 2013 John Wiley & Sons, Inc., Hoboken, New Jersey

Alle Rechte vorbehalten inklusive des Rechtes auf Reproduktion im Ganzen oder in Teilen und in jeglicher Form. Diese Übersetzung wird mit Genehmigung von John Wiley and Sons, Inc. publiziert.

Wiley, the Wiley logo, Für Dummies, the Dummies Man logo, and related trademarks and trade dress are trademarks or registered trademarks of John Wiley & Sons, Inc. and/or its affiliates, in the United States and other countries. Used by permission.

Wiley, die Bezeichnung »Für Dummies«, das Dummies-Mann-Logo und darauf bezogene Gestaltungen sind Marken oder eingetragene Marken von John Wiley & Sons, Inc., USA, Deutschland und in anderen Ländern.

Das vorliegende Werk wurde sorgfältig erarbeitet. Dennoch übernehmen Autoren und Verlag für die Richtigkeit von Angaben, Hinweisen und Ratschlägen sowie eventuelle Druckfehler keine Haftung.

Korrektur: Petra Heubach-Erdmann und Jürgen Erdmann, Düsseldorf
Satz: Beltz Bad Langensalza GmbH, Bad Langensalza

ISBN 978-3-527-70830-7
ePub ISBN 978-3-527-67722-1
mobi ISBN 978-3-527-67724-5

Inhaltsverzeichnis

Über den Autor

Einführung

Wer sollte dieses Buch lesen?

Über dieses Buch

Wie Sie dieses Buch verwenden

Was Sie nicht lesen müssen

Törichte Annahmen über den Leser

Wie dieses Buch aufgebaut ist

Teil I: Den Grundstock für das ethischen Hacken legen

Teil II: Mit dem ethischen Hacken loslegen

Teil III: Ein Netzwerk hacken

Teil IV: Betriebssysteme hacken

Teil V: Anwendungen hacken

Teil VI: Nacharbeiten

Teil VII: Der Top-Ten-Teil

Symbole, die in diesem Buch verwendet werden

Wie es weiter geht

Eine nicht unwichtige Besonderheit

Teil I Den Grundstock für das ethischen Hacken legen

Kapitel 1
Eine Einführung in das ethische Hacken

Die Terminologie verständlich machen

Den Begriff »Hacker« definieren

Den Begriff »böswilliger Benutzer« definieren

Wie böswillige Angreifer ethische Hacker zeugen

Ethisches Hacken im Vergleich zur Auditierung

Überlegungen zu Richtlinien

Befolgung von Regeln und regulatorische Dinge

Warum die eigenen Systeme hacken?

Die Gefahren verstehen, mit denen Ihre Systeme konfrontiert werden

Nicht technische Angriffe

Angriffe auf die Infrastruktur von Netzwerken

Angriffe auf das Betriebssystem

Angriffe auf Anwendungen und Funktionen

Die Gebote des ethischen Hackens

Die Privatsphäre respektieren

Bringen Sie keine Systeme zum Absturz

Die Arbeitsabläufe des ethischen Hackens

Den Plan formulieren

Werkzeuge auswählen

Den Plan ausführen

Ergebnisse auswerten

Wie es weitergeht

Kapitel 2
Die Denkweise von Hackern knacken

Gegen wen Sie vorgehen

Wer in Computersysteme einbricht

Warum sie das tun

Angriffe planen und ausführen

Anonym bleiben

Kapitel 3
Einen Plan für das ethische Hacken entwickeln

Eine Zielrichtung vorgeben

Festlegen, welche Systeme gehackt werden sollen

Teststandards erstellen

Zeitliche Planung

Tests gezielt ablaufen lassen

Blinde oder Überprüfung mit Kenntnissen

Den Standort wählen

Auf die Schwachstellen reagieren, die Sie finden

Törichte Annahmen

Werkzeuge für eine Sicherheitsüberprüfung auswählen

Kapitel 4
Die Methodik des Hackens

Die Bühne für das Testen vorbereiten

Sehen, was andere sehen

Öffentlich zugängliche Informationen beschaffen

Das Netzwerk kartografieren

Systeme scannen

Hosts

Offene Ports

Feststellen, was auf offenen Ports läuft

Schwachstellen bewerten

In das System eindringen

Teil II Mit dem ethischen Hacken loslegen

Kapitel 5
Social Engineering

Eine Einführung in Social Engineering

Erste Tests in Social Engineering

Warum Angreifer Social Engineering verwenden

Die Auswirkungen verstehen

Social-Engineering-Angriffe durchführen

Informationen abgreifen

Vertrauen bilden

Die Beziehung ausnutzen

Maßnahmen gegen Social Engineering

Richtlinien

Das Bewusstsein der Benutzer und Benutzerschulung

Kapitel 6
Physische Sicherheitseinrichtungen

Erste physische Sicherheitslöcher identifizieren

Schwachstellen im Büro lokalisieren

Die Infrastruktur eines Gebäudes

Versorgung

Gestaltung und Nutzung von Büros

Netzwerkkomponenten und Computer

Kapitel 7
Kennwörter

Schwachstellen bei Kennwörtern

Organisatorische Schwachstellen bei Kennwörtern

Technische Schwachstellen bei Kennwörtern

Kennwörter knacken

Kennwörter auf die herkömmliche Art knacken

Kennwörter »profimäßig« knacken

Kennwortgeschützte Dateien knacken

Weitere Wege, um am Kennwörter zu gelangen

Teil III Netzwerkhosts hacken

Kapitel 8
Die Infrastruktur des Netzwerks

Schwachstellen an der Infrastruktur von Netzwerken

Werkzeuge wählen

Scanner und Analysatoren

Schwachstellenprüfung

Das Netzwerk scannen und in ihm herumstochern

Ports scannen

SNMP scannen

Banner-Grabbing

Firewall-Regeln testen

Netzwerkdaten untersuchen

Der Angriff auf die MAC-Adresse

Denial-of-Service-Angriffe testen

Mit bekannten Schwachstellen bei Router, Switch und Firewall umgehen

Unsichere Schnittstellen

IKE-Schwächen ausnutzen

Einen allgemeinen Verteidigungswall für das Netzwerk einrichten

Kapitel 9
Drahtlose Netzwerke

Die Folgen von Schwachstellen bei drahtlosen Netzwerken verstehen

Die Werkzeuge wählen

Drahtlose Netzwerke entdecken

Sie werden weltweit erkannt

Die lokalen Funkwellen scannen

Angriffe auf drahtlose Netzwerke erkennen und Gegenmaßnahmen ergreifen

Verschlüsselter Verkehr

Maßnahmen gegen Angriffe auf verschlüsselten Verkehr

WiFi Protected Setup

Maßnahmen gegen Schwächen beim WPS-PIN

Gefährliche drahtlose Geräte

Maßnahmen gegen gefährliche drahtlose Geräte

MAC-Spoofing

Maßnahmen gegen MAC-Spoofing

Physische Sicherheitslöcher

Maßnahmen gegen physische Schwachstellen bei der Sicherheit drahtloser Netzwerke

Verwundbare drahtlose Arbeitsstationen

Maßnahmen gegen Schwachstellen bei drahtlosen Arbeitsstationen

Kapitel 10
Mobile Geräte

Mobile Schwachstellen einschätzen

Kennwörter von Laptops knacken

Die Werkzeuge wählen

Gegenmaßnahmen

Telefone und Tablets knacken
iOS-Kennwörter knacken

Maßnahmen gegen das Knacken von Kennwörtern

Teil IV Betriebssysteme hacken

Kapitel 11
Windows

Windows-Schwachstellen

Werkzeuge wählen

Kostenlose Microsoft-Werkzeuge

Komplettlösungen

Aufgabenspezifische Werkzeuge

Informationen über die Schwachstellen Ihres Windows-Systems sammeln

Das System untersuchen

NetBIOS

Null Sessions entdecken

Zuordnung, auch Mapping genannt

Informationen sammeln

Maßnahmen gegen Null-Session-Hacks

Freigabeberechtigungen überprüfen

Windows-Standards

Testen

Fehlende sicherheitstechnische Programmaktualisierungen ausnutzen

Metasploit verwenden

Maßnahmen gegen das Ausnutzen fehlender Programmaktualisierungen

Authentifizierte Scans ablaufen lassen

Kapitel 12
Linux

Schwachstellen bei Linux verstehen

Werkzeuge wählen

Informationen über die Schwachstellen Ihrer Linux-Systeme sammeln

Das System absuchen

Maßnahmen gegen das Scannen des Systems

Ungenutzte und unsichere Dienste finden

Suchen

Maßnahmen gegen Angriffe auf ungenutzte Dienste

Die Dateien ».rhosts« und »hosts.equiv« schützen

Hacks, die die Dateien ».rhosts« und »hosts.equiv« verwenden

Maßnahmen gegen Angriffe auf die Dateien ».rhosts« und »hosts.equiv«

Die Sicherheit von NFS überprüfen

NFS-Hacks

Maßnahmen gegen Angriffe auf das NFS

Dateiberechtigungen überprüfen

Das Hacken von Dateiberechtigungen

Maßnahmen gegen Angriffe auf Dateiberechtigungen

Für Buffer-Overflow empfängliche Schwachstellen finden

Angriffe

Maßnahmen gegen Buffer-Overflow-Angriffe

Physische Sicherheitsmaßnahmen überprüfen

Physische Hacks

Maßnahmen gegen physische Angriffe auf die Sicherheit

Allgemeine Sicherheitstests durchführen

Sicherheitsaktualisierungen für Linux

Aktualisierungen der Distributionen

Update-Manager für mehrere Plattformen

Teil V Anwendungen hacken

Kapitel 13
Kommunikations- und Benachrichtigungssysteme

Eine Einführung in Schwachstellen bei Benachrichtigungssystemen

Angriffe auf E-Mail erkennen und ihnen begegnen

E-Mail-Bomben

Banner

SMTP

Die besten Methoden, um Risiken bei E-Mails zu minimieren

Voice over IP verstehen

Schwachstellen von VoIP

Maßnahmen gegen Schwachstellen bei VoIP

Kapitel 14
Websites und Webanwendungen

Die Werkzeuge für Webanwendungen auswählen

Mit dem Web zusammenhängende Schwachstellen suchen

Directory Traversal

Maßnahmen gegen Directory Traversals

Angriffe über das Filtern von Eingaben

Maßnehmen gegen Angriffe über Eingaben

Angriffe auf Standardskripte

Maßnahmen gegen Angriffe auf Standardskripte

Unsichere Anmeldemechanismen

Maßnahmen gegen unsichere Anmeldesysteme

Allgemeine Sicherheitsscans bei Webanwendungen durchführen

Risiken bei der Websicherheit minimieren

Sicherheit durch Verbergen

Firewalls errichten

Quellcode analysieren

Kapitel 15
Datenbanken und Speichersysteme

In Datenbanken eintauchen

Werkzeuge wählen

Datenbanken im Netzwerk finden

Datenbankkennwörter knacken

Datenbanken nach Schwachstellen absuchen

Bewährten Vorgehensweisen folgen, um Sicherheitsrisiken bei Datenbanken zu minimieren

Speichersysteme

Werkzeuge wählen

Speichersysteme im Netzwerk finden

Sensiblen Text in Netzwerkdateien ausgraben

Bewährten Vorgehensweisen folgen, um Sicherheitsrisiken bei der Datenspeicherung zu minimieren

Teil VI Die Ernte des ethischen Hackens

Kapitel 16
Die Ergebnisse präsentieren

Die Ergebnisse zusammenführen

Schwachstellen mit Prioritäten versehen

Berichte erstellen

Kapitel 17
Sicherheitslöcher stopfen

Berichte in Aktionen verwandeln

Patchen für die Perfektion

Patch-Verwaltung

Patch-Automatisierung

Systeme dicht machen

Die Infrastruktur der Sicherheitseinrichtungen überprüfen

Kapitel 18
Sicherheitsverfahren umsetzen

Die Abläufe des ethischen Hackens automatisieren

Bösartigkeit überwachen

Ethisches Hacken an Dritte vergeben

Für eine auf Sicherheit gerichtete Einstellung sorgen

Auch bei anderen Sicherheitsanstrengungen nicht nachlassen

Teil VII Der Top-Ten-Teil

Kapitel 19
Zehn Tipps, um die Unterstützung der Geschäftsführung zu erlangen

Sorgen Sie für einen Verbündeten und einen Geldgeber

Seien Sie kein Aufschneider

Zeigen Sie, warum es sich das Unternehmen nicht leisten kann, gehackt zu werden

Heben Sie die allgemeinen Vorteile des ethischen Hackens hervor

Zeigen Sie, wie ethisches Hacken gerade Ihrem Unternehmen helfen kann

Kümmern Sie sich um das Unternehmen

Seien Sie glaubwürdig

Reden Sie wie ein Manager

Zeigen Sie, wie wertvoll Ihre Anstrengungen sind

Seien Sie flexibel und anpassungsfähig

Kapitel 20
Zehn Gründe, warum Hacken das einzig sinnvolle Testen ist

Die Bösen denken Böses, verwenden gute Werkzeuge und entwickeln neue Methoden

Gesetze und die Einhaltung von Regeln bedeuten in der IT immer noch mehr als hochwertige Prüflisten

Ethisches Hacken ergänzt Prüfverfahren und Einschätzungen der Sicherheitsstandards

Kunden und Partner fragen: »Wie sicher sind Ihre Systeme?«

Das Gesetz des Durchschnitts arbeitet gegen Ihr Unternehmen

Das ethische Hacken verbessert das Verständnis für Bedrohungen des Unternehmens

Wenn es zu einem Einbruch kommt, müssen Sie auf etwas zurückgreifen können

Ethisches Hacken fördert das Übelste Ihrer Systeme ans Tageslicht

Ethisches Hacken verbindet das Beste der Tests auf Eindringen mit dem Prüfen auf Schwachstellen

Ethisches Hacken kann Schwächen aufdecken, die ansonsten vielleicht jahrelang übersehen worden wären

Kapitel 21
Zehn tödliche Fehler

Im Vorfeld keine Genehmigung einholen

Davon ausgehen, dass Sie im Verlauf Ihrer Tests alle Schwachstellen finden

Davon ausgehen, alle Sicherheitslöcher beseitigen zu können

Tests nur einmal ausführen

Glauben, alles zu wissen

Tests nicht aus der Sicht eines Hackers betrachten

Die falschen Systeme testen

Nicht die richtigen Werkzeuge verwenden

Sich zur falschen Zeit mit produktiven Systemen abgeben

Tests an Dritte vergeben und sich dann um nichts kümmern

Stichwortverzeichnis

Über den Autor

Kevin Beaver arbeitet als unabhängiger Berater für IT-Sicherheitsfragen und als Gutachter, hält Vorträge und ist Autor bei Principle Logic, LLC. Er ist seit mehr als zwei Jahrzehnten darauf spezialisiert, bei Fortune-1000-Firmen, Herstellern von Sicherheitsprodukten, unabhängigen Software-Entwicklern, Universitäten, Regierungsbehörden und mittelständischen Unternehmen Informationsveranstaltungen und Schulungen zu Sicherheitsfragen durchzuführen. Bevor er sich 2001 als Berater in IT-Sicherheitsfragen selbstständig machte, arbei tete er im Rahmen der Informations- und Sicherheitstechnologie in unterschiedlichen Positionen bei verschiedenen Institutionen des Gesundheitswesens, E-Commerce, Erziehungswesens und der Finanzbranche.

Kevin Beaver erschien schon im Fernsehsender CNN als Experte für IT-Sicherheitsfragen und wurde von The Wall Street Journal, Entrepreneur, Fortune Small Business, Women's Health und der Technologiesite IncTechnology.com des Inc.-Magazins zitiert. Und auch das PCI Council verweist in seinen Data Security Standard Wireless Guidelines auf ihn. Kevin Beaver ist über die Jahre zu einem viel gefragten Hauptredner und Seminarleiter geworden und hat mehr als einhundert Mal Veranstaltungen von IDC, RSA, CSI, IIA, ISSA, ISACA und der SecureWorld Expo geleitet. Darüber hinaus hat er mehr als vier Dutzend Webcasts für TechTarget, Ziff-Davis und andere Verlage durchgeführt.

Kevin Beaver hat als Autor oder Mitautor acht Bücher über IT-Sicherheit veröffentlicht, zu denen auch Hacking Wireless Networks For Dummies, Securing the Mobile Enterprise For Dummies und Laptop Encryption For Dummies gehören. Er hat 21 Whitepapers und mehr als 450 Artikel geschrieben und versorgt SearchCompliance.com, SearchEnterpriseDesktop.com, SearchWindowsServer.com, SearchWinIT.com und das Magazin Security Technology Executive regelmäßig mit Beiträgen. Außerdem hat er für CSOonline.com, Computerworld.com und das Magazin Information Security geschrieben.

Kevin Beaver erstellt und produziert die Hörbuchreihe Security On Wheels, die IT-Profis, die unterwegs sind, mit Lernmaterial zum Thema Sicherheit versorgt (SecurityOnWheels.com), und den dazu gehörenden Blog (SecurityOnWheels.com/blog). Außerdem schwadroniert er auf Twitter über IT-Sicherheitsfragen (www.twitter.com/kevonbeaver). Seinen Bachelor in Computer Engineering Technology hat er am Southern College of Technology und seinen Master in Management of Technology am Georgia Tech gemacht. Seit 2001 ist er CISSP. Außerdem besitzt er die Zertifizierungen MCSE, Master CNE und IT Project+. Sie können Kevin Beaver über seine Websites www.principlelogic.com und www.securityonwheels.com erreichen.

Einführung

Willkommen zu Hacken für Dummies. Gleich vorab eine Anmerkung, die helfen soll, Missverständnisse zu vermeiden: Was Sie in diesem Buch nicht finden, sind direkte Anleitungen zum Hacken von Anwendungen, Entschlüsseln von Sicherheitscodes, Umgehen von Aktivierungen und was Sie vielleicht sonst noch anhand des Buchtitels in dieser Richtung erwarten könnten. Dieses Buch behandelt – in verständlichem Deutsch – die Tricks und Techniken von Computerhackern, damit Sie den Sicherheitsstand Ihres IT-Systems beurteilen, seine Schwachstellen herausfinden und diese beseitigen können, bevor kriminelle Hacker und böswillige Benutzer Nutzen daraus ziehen. Diese Art des Hackens, um die es in diesem Buch geht, ist die professionelle, korrekte und legale Art, Sicherheiten zu testen. Ich bezeichne dies als ethisches Hacken.

Die Sicherheit von Computern und Netzwerken ist ein vielschichtiges Thema und ein sich ständig veränderndes Gebiet. Sie müssen immer auf dem aktuellen Stand sein, um sicher sein zu können, dass Ihre Daten vor den Bösewichten geschützt sind. Und genau dabei können die Werkzeuge und Techniken helfen, die in diesem Buch vorgestellt werden.

Sie können alle möglichen Sicherheitstechnologien und die besten Standards einsetzen, damit Ihr Informationssystem sicher ist – so weit es Ihrem Kenntnisstand entspricht. Wenn Sie aber erst einmal wissen, wie heimliche Angreifer denken, und wenn Sie dieses Wissen anwenden und die richtigen Werkzeuge einsetzen, um Ihre eigenen Systeme »anzugreifen«, erhalten Sie das richtige Gespür dafür, wie sicher Ihre Daten wirklich sind.

Ethisches Hacken – zu dem auch das geplante und methodische Testen eines Eindringens, das sogenannte White-Hat-Hacken (das Hacken des eigenen Systems aus Sicherheitsgründen) und das Testen auf Schwachstellen gehören – ist notwendig, um Sicherheitslücken zu finden und dabei zu helfen, permanent zu überprüfen, ob Ihre Informationssysteme sicher sind. Dieses Buch versorgt Sie mit dem Wissen, das Sie benötigen, um erfolgreich ein Programm für ethisches Hacken zusammen mit Gegenmaßnahmen einzurichten, die Sie ergreifen können, um externe Hacker und böswillige Benutzer »draußen« zu halten.

Wer sollte dieses Buch lesen?

Haftungsausschluss: Wenn Sie sich entschließen, die Informationen dieses Buches dazu einzusetzen, um heimlich und ohne Genehmigung in Computersysteme einzudringen, geschieht dies ausschließlich auf Ihre Veranlassung. Weder ich (der Autor) noch irgendjemand sonst, der mit der Produktion und dem Vertrieb dieses Buches zu tun hat, kann für unethische oder kriminelle Handlungen haftbar gehalten werden, die Sie vielleicht ausüben, indem Sie auf die Methoden und Werkzeuge zurückgreifen, die ich beschreibe. Dieses Buch dient IT-Verantwortlichen und Verantwortlichen für die Datensicherheit einzig dazu, die Datensicherheit – entweder an Ihren eigenen oder an Kundensystemen – mit der entsprechenden Genehmigung zu testen.

Okay, nachdem das geklärt ist, ist es Zeit für die schönen Dinge des Lebens! Dieses Buch ist für Sie, wenn Sie Netzwerkadministrator, Verantwortlicher für die Datensicherheit, Berater oder Auditor für Sicherheitsfragen, Compliance Manager (neudeutsch für Richtlinienbeauftragter) oder einfach nur daran interessiert sind, mehr über das legale und ethische Testen von Computersystemen und IT-Operationen herauszufinden, um sie sicherer zu machen.

Da der ethische Hacker die Sicherheit seiner Daten gut durchdacht überprüft, sind Sie in der Lage, Sicherheitslöcher aufzuspüren und aufzuzeigen, die ansonsten übersehen worden wären. Wenn Sie diese Tests auf Ihren Systemen durchführen, können die Informationen, die Sie dadurch gewinnen, dabei helfen nachzuweisen, dass Datensicherheit ein Thema ist, das im geschäftlichen Alltag nicht ernst genug genommen werden kann. Ähnliches gilt für Tests, die Sie für Ihre Kunden ausführen. Sie können dabei Sicherheitslücken aufspüren, die sich stopfen lassen, bevor Angreifer eine Chance haben, sie auszunutzen.

Die Informationen, die Sie in diesem Buch erhalten, helfen Ihnen, das Spiel um Sicherheiten anzuführen und den Glanz und Ruhm einzustreichen, den es gibt, weil Sie verhindern, dass mit den Daten Ihres Unternehmens oder Ihrer Kunden Schindluder getrieben wird.

Über dieses Buch

Hacken für Dummies ist ein Leitfaden zum Hacken Ihrer Systeme, um deren Sicherheit zu verbessern. Die Techniken des ethischen Hackens basieren auf geschriebenen und ungeschriebenen Regeln, wie das Eindringen in Computersysteme und das Testen von Schwachstellen, und auf bewährten Verfahren der Datensicherheit. Dieses Buch behandelt alles: vom Anlegen eines Plans zum Hacken des Systems aus Testgründen bis hin zum Stopfen der Löcher und dem Verwalten eines kontinuierlich ablaufenden Programms für ethisches Hacken. Realistischerweise muss ich eingestehen, dass es für viele Netzwerke, Betriebssysteme und Anwendungen Tausende möglicher Hacks gibt. Ich gehe auf die wichtigsten für die verschiedenen Plattformen und Systeme ein. Ob Sie nun Sicherheitslücken in einem kleineren privaten Netzwerk, dem Netzwerk eines mittelständischen Unternehmens oder in einem unternehmensweiten System aufspüren wollen, Hacken für Dummies versorgt Sie mit den Informationen, die Sie benötigen.

Wie Sie dieses Buch verwenden

Dieses Buch enthält die folgenden Funktionen:

Verschiedene technische und nicht technische Hacking-Angriffe und eine ausführliche Beschreibung ihrer Vorgehensweisen

Fallstudien für das Testen der Datensicherheit, die von bekannten Experten für Daten sicherheit stammen

Gezielte Gegenmaßnahmen zum Schutz vor Hacking-Angriffen

Bevor Sie beginnen, Ihre Systeme zu hacken, sollten Sie sich mit den Informationen aus Teil I beschäftigen, um sich auf die anstehenden Aufgaben vorzubereiten. Das Sprichwort »Wenn Sie beim Planen scheitern, scheitert Ihr Plan« gilt auch für das ethische Hacken. Wenn Sie erfolgreich sein wollen, benötigen Sie Berechtigungen und müssen einen ausgefeilten Plan für das Spiel haben.

Das Material wird nicht für unethisches oder illegales Hacken bereitgestellt, damit Sie von einem »Ich probier's mal« zum Mega-Hacker werden. Im Gegenteil, es ist entwickelt worden, um Sie mit dem Wissen zu versorgen, das Sie benötigen, um Ihre eigenen Systeme oder die Ihrer Kunden – ethisch und legal – zu hacken, damit die Sicherheit der entsprechenden Daten verbessert wird.

Was Sie nicht lesen müssen

Abhängig von der Konfiguration Ihrer Computer oder Ihres Netzwerks können Sie eventuell ganze Kapitel überspringen. Wenn Sie beispielsweise nicht mit Linux oder drahtlosen Netzwerken arbeiten, können Sie die entsprechenden Kapitel überspringen. Seien Sie aber vorsichtig. Es kommt schnell zu der irrigen Annahme, dass etwas nicht vorhanden sei, was in Wirklichkeit doch irgendwo in Ihrem Netzwerk existiert.

Törichte Annahmen über den Leser

Ich setze bei Ihnen, dem zukünftigen Profi für Datensicherheit, einige Dinge voraus:

Sie kennen grundlegende Konzepte der Computer-, Netzwerk- und Datensicherheit und die entsprechenden Begriffe.

Sie wissen zumindest vom Prinzip her, was Hacker und böswillige Benutzer machen.

Sie können auf einen Computer und ein Netzwerk zugreifen, an dem Sie die hier vorgestellten Techniken ausprobieren dürfen.

Sie haben Zugriff auf das Internet, um die verschiedenen Werkzeuge herunterzuladen, die für das ethische Hacken benötigt werden.

Sie verfügen über die Berechtigung, die in diesem Buch beschriebenen Techniken des Hackens auszuführen.

Wie dieses Buch aufgebaut ist

Dieses Buch besteht aus sieben Teilen, und Sie sollten ruhig so von einem Teil zum anderen springen, wie Sie es gerade benötigen. In jedem Kapitel gibt es Praxisbeispiele und Vorgehensweisen, die Sie als Teil Ihres ethischen Hackens verwenden können. Außerdem finden Sie hier nicht nur Prüflisten und Verweise auf bestimmte Werkzeuge, die Sie einsetzen können, sondern auch Quellenangaben für das Internet.

Teil I: Den Grundstock für das ethischen Hacken legen

Dieser Teil behandelt die grundlegenden Gesichtspunkte des ethischen Hackens. Er beginnt mit einem Überblick über den Sinn des ethischen Hackens und darüber, was Sie während dieses Prozesses machen sollten und was nicht. Sie versetzen sich in die bösartige Denkweise und erfahren, wie Sie Ihre Anstrengungen planen sollten. Dieser Teil behandelt die Schritte, die zum ethischen Hacken gehören, wozu auch die Auswahl der richtigen Werkzeuge zählt.

Teil II: Mit dem ethischen Hacken loslegen

In diesem Teil beginnen Sie aktiv mit dem ethischen Hacken. Er behandelt einige bekannte und weitverbreitete Hacking-Methoden wie Social Engineering und das Knacken von Passwörtern, damit Sie ein wenig an der Gefahr schnuppern können. Dieser Teil beschäftigt sich mit den menschlichen und den übrigen Elementen von Sicherheit, die häufig für die schwächsten Glieder eines Sicherheitsprogramms gehalten werden. Wenn Sie sich mit diesen Themen beschäftigt haben, kennen Sie nicht nur die Tipps und Tricks, die es braucht, um ein System angreifen zu können, sondern auch die entsprechenden Gegenmaßnahmen, damit Ihre Informationssysteme sicher bleiben.

Teil III: Ein Netzwerk hacken

Wir denken in diesem Teil letztendlich an größere Netzwerke und beginnen mit den Methoden, ein Netzwerk auf gut bekannte Schwachstellen seiner Infrastruktur hin zu testen. Angefangen bei den Schwächen der Protokollsuite TCP/IP bis hin zu den Unsicherheiten eines drahtlosen Netzwerks finden Sie heraus, wie Netzwerke durch eine unsaubere Netzwerkkommunikation in Gefahr geraten und welche Gegenmaßnahmen Sie einrichten können, um zu verhindern, dass Sie zu einem Opfer werden. Dieser Teil enthält auch Fallstudien zu den vorgestellten Hacking-Angriffen auf Netzwerke.

Teil IV: Betriebssysteme hacken

So gut wie alle Betriebssysteme bieten Angriffsflächen, die Hacker häufig ausnutzen. Dieser Teil beschäftigt sich mit dem Hacken der weitverbreiteten Betriebssysteme Windows und Linux. Zu den Methoden des Hackens gehören das Untersuchen der Betriebssysteme auf Schwachstellen und das Auflisten der einzelnen Hosts, um detaillierte Informationen zu erhalten. Dieser Teil enthält auch Informationen darüber, wie bekannte Schwachstellen dieser Betriebssysteme ausgenutzt werden können, wie die Systeme aus der Ferne (oder remote) übernommen werden können und welche Gegenmaßnahmen Sie ergreifen können, damit Ihre Betriebssysteme sicherer werden. Darüber hinaus enthält dieser Teil Fallstudien zum Hacken von Betriebssystemen.

Teil V: Anwendungen hacken

Heutzutage wird, wenn es um Datensicherheit geht, auch die Sicherheit von Anwendungen sehr hoch eingestuft. Angriffe, die häufig in der Lage sind, Firewalls, Systeme zum Entdecken von Eindringlingen und Antivirus-Software zu umgehen, zielen in immer stärkerem Maße direkt auf verschiedene Anwendungen. Dieser Teil behandelt das Hacken bestimmter Anwendungen und Datenbanken und geht auch auf E-Mail-Systeme, Instant Messaging, Voice over Internet Protocol (VoIP) und Speichersysteme ein. Dabei werden praktische Gegenmaßnahmen nicht vergessen.

Teil VI: Nacharbeiten

Wenn Sie Ihre ethischen Hacking-Angriffe ausgeführt haben, kommt es zu der Frage, was Sie mit den dabei gewonnenen Informationen anfangen. Abheften? Damit angeben? Wie geht es weiter? Dieser Teil beantwortet diese und weitere Fragen und schließt den Kreis des ethischen Hackens, indem er die Themen vom Entwerfen eines Berichts für das Management bis hin zum Beseitigen der Sicherheitslücken behandelt, die Sie entdeckt haben, und dem Einrichten von Prozeduren für ein fortgesetztes ethisches Hacken. Die Informationen stellen nicht nur sicher, dass Ihre Anstrengungen und Zeit nicht vergebens aufgewendet worden sind, sondern dienen auch als Beleg dafür, dass Datensicherheit ein wichtiger Bestandteil erfolgreicher Unternehmen ist, die von Computern und der Informationstechnologie abhängig sind.

Teil VII: Der Top-Ten-Teil

Dieser Teil enthält Tipps, die helfen sollen, den Erfolg Ihres Programms des ethischen Hackens sicherzustellen. Sie finden heraus, wie Sie die Geschäftsleitung dazu bringen können, sich in Ihr Programm des ethischen Hackens einzukaufen, damit Sie damit weitermachen und beginnen können, die Systeme zu schützen. Dieser Teil enthält darüber hinaus die zehn Top-Fehler, die Sie beim ethischen Hacken unbedingt vermeiden müssen.

Zu diesem Buch gehört auch noch ein Anhang, der eine Referenzliste mit Werkzeugen und Quellen zum Hacken enthält. Damit Sie nicht all die Webadressen mühsam abtippen müssen, haben wir uns entschieden, diese Auflistung nicht abzudrucken, sondern ihn stattdessen als pdf mit Links zu den entsprechenden Seiten als Download anzubieten. Sie finden ihn unter www.downloads.fuer-dummies.de.

Symbole, die in diesem Buch verwendet werden

Dieses Symbol weist auf technische Informationen hin, die zwar interessant, nicht aber notwendig für das Verstehen des gerade behandelten Themas sind.

Dieses Symbol weist auf Informationen hin, die es wert sind, dass Sie sie im Gedächtnis behalten.

Dieses Symbol weist auf Informationen hin, die sich negativ auf Ihre Bemühungen auswirken können, ethisch zu hacken – lesen Sie sie also bitte!

Dieses Symbol weist auf Ratschläge hin, die helfen können, Licht oder Klarheit in wichtige Punkte zu bringen.

Wie es weiter geht

Je mehr Sie darüber wissen, wie externe Hacker und fiese Insider arbeiten und wie Ihre Systeme getestet werden sollten, desto besser sind Sie in der Lage, Ihre Computer sicher zu machen. Dieses Buch sorgt für die Grundlagen, die Sie benötigen, um für Ihr Unternehmen ein erfolgreiches ethisches Hacking-Programm zu entwickeln.

Merken Sie sich, dass sich die Konzepte des ethischen Hackens nicht so oft ändern, wie das bei den Schwachstellen bestimmter Daten, die Sie schützen wollen, der Fall ist. Ethisches Hacken bleibt in einem Feld, das sich ständig ändert, immer zugleich Kunst und Wissenschaft. Sie müssen immer die neuesten Technologien auf dem Gebiet der Hard- und Software kennen und wissen, welche Angriffsmöglichkeiten es gibt, da hier Monat für Monat und Jahr für Jahr neue auftauchen.

Sie werden niemals einen einzigen besten Weg finden, um Ihre Systeme zu hacken, weshalb Sie sich diese Informationen sehr zu Herzen nehmen sollten. Und nun auf zum fröhlichen (ethischen) Hacken!

Eine nicht unwichtige Besonderheit

Das Hacken eines Computers oder einer Anwendung bedeutet, dass Sie nicht nur Ihren Kopf, sondern auch das entsprechende Werkzeug benötigen, um in die Tiefe zu gehen. Und diese Werkzeuge sind – wie auch viele der sich mit diesem Thema beschäftigenden Foren, Begrifflichkeiten und Auswertungen – in der Regel englischsprachig. Wir haben uns bemüht, deutschsprachige Werkzeuge statt Software mit englischen Oberflächen und so weiter in das Buch aufzunehmen – was sich aber als extrem schwierig erwiesen hat. Wundern Sie sich also nicht, wenn in diesem ... für-Dummies-Buch viel Englisches zu finden ist. Es lässt sich bei diesem Thema leider nicht vermeiden.

Teil I

Den Grundstock für das ethischen Hacken legen

In diesem Teil ...

Wenn das ethische Hacken neu für Sie ist, ist hier der Ort, um damit zu beginnen. Die Kapitel dieses Teils versorgen Sie mit den ersten Informationen darüber, was und wie etwas zu tun ist, wenn Sie Ihre eigenen Systeme hacken wollen. Oh, nicht zu vergessen: Sie finden heraus, wovon Sie die Finger lassen sollten. Diese Informationen leiten Sie durch den Aufbau eines Grundstocks für ein Programm zum ethischen Hacken, damit Sie auch wirklich den richtigen Weg finden und nicht in einer Einbahnstraße landen, die als Sackgasse endet. Die Mission ist machbar – aber zuerst müssen Sie die entsprechenden Vorbereitungen treffen.

1

Eine Einführung in das ethische Hacken

In diesem Kapitel ...

Die Ziele ethischer Hacker und bösartiger Angreifer verstehen

Untersuchen, wie es zum ethischen Hacken kam

Die Gefahren verstehen, vor denen Ihre Computersysteme stehen

Mit dem ethischen Hacken beginnen

Dieses Buch handelt vom ethischen Hacken – der Methode, um Computer und Netzwerke auf Schwachstellen bei der Sicherheit zu testen und die dabei gefundenen Löcher zu stopfen, bevor bösartige Menschen eine Chance bekommen, sie auszunutzen.

Obwohl ethisch ein zu häufig und dann gerne missverständlich genutzter Begriff ist, passt die Definition dieses Begriffes in Websters New World Dictionary genau auf den Kontext dieses Buches und die professionellen sicherheitsbezogenen Testtechniken, die ich hier behandele: »Den allgemeinen Verhaltensnormen eines Berufsstandes oder einer Gruppe entsprechen.« Fachleute aus dem IT-Umfeld und der Datensicherheit sind verpflichtet, die Tests, die in diesem Buch enthalten sind, ehrlich und nur dann durchzuführen, wenn der beziehungsweise die Eigner der Systeme ihre Genehmigung dazu gegeben haben. Aus diesem Grund gibt es in der Einführung dieses Buches die Haftungsausschlusserklärung.

Die Terminologie verständlich machen

Die meisten Menschen haben schon von Hackern und böswilligen Benutzern gehört. Viele haben auch schon die Konsequenzen einer kriminellen Hackeraktion am eigenen Leib zu spüren bekommen. Wer sind also diese Leute? Und warum müssen Sie dies wissen? Die folgenden Abschnitte geben Ihnen einen Überblick über diese Angreifer.

Ich verwende in diesem Buch diese Terminologie:

Hacker (oder externe Angreifer) versuchen, Computer und sensible Daten – normalerweise von außen – als unberechtigte Benutzer mit illegalen Zielen anzugreifen. Hacker kümmern sich um alle Systeme, von denen sie glauben, dass sich ein Angriff lohnt. Einige bevorzugen prestigeträchtige, gut geschützte Systeme, aber eigentlich gilt immer, dass es den Status in Hackerkreisen schon erhöht, wenn man sich in ein fremdes System hackt.

Böswillige Benutzer (oder interne Angreifer) versuchen, als berechtigte und »vertrauenswürdige« Benutzer von innen her, Computer und sensible Daten anzugreifen. Böswillige Benutzer kümmern sich um Systeme, weil sie illegale Ziele haben oder aus Rache.

Heimlich vorgehende Angreifer sind, allgemein ausgedrückt, sowohl Hacker als auch böswillige Benutzer. Ich bezeichne beide aus Vereinfachungsgründen als Hacker und unterscheide nur dann zwischen Hackern und böswilligen Benutzern, wenn ich mich intensiver mit deren Werkzeugen, Techniken und Gedankengängen beschäftigen muss.

Ethische Hacker (oder »die Guten«) hacken Systeme, um Schwachstellen zu entdecken, damit Schutzmechanismen gegen unberechtigte Zugriffe aufgebaut werden können. In diese Kategorie fallen auch Berater für IT-Sicherheitsfragen.

Den Begriff »Hacker« definieren

Hacker hat zwei Bedeutungen:

Traditionell basteln Hacker gerne an Software oder elektronischen Systemen herum. Hacker finden Gefallen daran, herauszufinden und zu lernen, wie Computersysteme funktionieren. Sie lieben es, sowohl mechanisch als auch elektronisch neue Arbeitswege zu entdecken.

In den letzten Jahren hat der Begriff Hacker eine neue Bedeutung bekommen: Das ist jemand, der heimlich aus persönlichen Gründen in Systeme eindringt. Technisch gesehen handelt es sich bei diesen Kriminellen eigentlich um Cracker (Criminal Hackers). Cracker dringen mit böswilliger Absicht in Systeme ein (oder cracken sie). Sie wollen persönliche Ziele erreichen: Ruhm, Profit und sogar Rache. Sie ändern, löschen und stehlen wichtige Daten und machen häufig anderen das Leben zur Hölle.

Die guten (White Hat) Hacker mögen es nicht, wenn sie in dieselbe Schublade wie die heimlich vorgehenden (Black Hat) Hacker gepackt werden. (Falls es Sie interessiert: Die Einteilung in White Hat (weißer Hut) und Black Hat (schwarzer Hut) stammt aus den alten Western im Fernsehen, in denen die Guten immer weiße und die Bösen immer schwarze Hüte getragen haben.) Gray-Hat-Hacker (Hacker mit grauen Hüten) gehören beiden Kategorien an. Heutzutage verbinden die meisten Menschen etwas Negatives mit dem Begriff Hacker.

Viele heimlich vorgehende Hacker behaupten, dass sie keine Schäden verursachen, sondern anderen zum Wohle der Gesellschaft helfen würden. Wer's glaubt, wird selig. Heimlich vorgehende Hacker sind elektronische Diebe und müssen die Konsequenzen ihres Handelns tragen.

Den Begriff »böswilliger Benutzer« definieren

Bei einem böswilligen Benutzer – einem skrupellosen Angestellten, Vertragspartner, internen oder sonstigen Benutzer, der seine Privilegien missbraucht – handelt es sich um einen Begriff, der in Sicherheitskreisen und bei Überschriften zum Thema Datenklau Standard ist. Eine statistische Langzeituntersuchung weist nach, dass Datenmissbrauch zu rund 80 Prozent von internen Mitarbeitern vorgenommen wird. Man kann über diesen Wert streiten, aber wenn ich an meine eigenen Erfahrungen und viele im Jahresrhythmus vorgenommenen Umfragen denke, sind Einbrüche in Sicherheitssysteme zweifelsfrei ein Problem, das hauptsächlich durch Interne hervorgerufen wird.

Hierbei geht es nicht unbedingt um Benutzer, die interne Systeme »hacken«, sondern auch um diejenigen, die ihre Zugangsprivilegien missbrauchen. Benutzer schnüffeln in wichtigen Datenbanksystemen, um sensible Daten ausfindig zu machen, senden vertrauliche Informationen über Kunden per E-Mail an die Konkurrenz oder andere oder entfernen wichtige Dateien von Servern, auf die sie eigentlich keinen Zugriff haben. Und dann gibt es noch den mitunter unwissenden internen Benutzer, dessen Absicht zwar nicht böswillig ist, der aber dadurch Probleme hervorruft, dass er sensible Daten verschiebt, löscht oder beschädigt. Selbst ein eigentlich unschuldiger, aber in diesem Fall »zu dicker Finger« kann im geschäftlichen Umfeld katastrophale Folgen haben.

Häufig sind böswillige Benutzer die schlimmsten Feinde der IT und der Sicherheitsfach leute, weil sie genau wissen, wo sie die Informationen herholen können und kein besonderes Computerwissen haben müssen, um an sensible Daten zu gelangen. Diese Benutzer besitzen die Zugangsberechtigungen, die sie benötigen, und die Geschäftsführung vertraut ihnen.

Wie böswillige Angreifer ethische Hacker zeugen

Sie müssen sich vor dem Hacker-Schwindel schützen. Sie benötigen einen ethischen Hacker (oder müssen selbst zu einem werden). Ein ethischer Hacker besitzt die Fähigkeiten, Denkweisen und Werkzeuge eines Hackers, ist aber zusätzlich vertrauenswürdig. Ethische Hacker führen das Hacken als Sicherheitstest der Systeme so durch, wie Hacker arbeiten würden.

Wenn Sie für Kunden Tests mit ethischem Hacken durchführen oder Ihre Berechtigungsnachweise einfach nur um ein weiteres Zertifikat erweitern wollen, sollten Sie darüber nachdenken, im Rahmen des vom EC-Council gesponsorten Programms zum Certified Ethical Hacker (C|EH) zu werden. Weitere Informationen hierzu finden Sie unter www.eccouncil.org. Ein entsprechender Kurs wird in Deutsch zum Beispiel von der Bremer Akademie für berufliche Weiterbildung (www.bremerakademie.de) angeboten.

Ethisches Hacken im Vergleich zur Auditierung

Viele Menschen verwechseln ethisches Hacken mit einer Überprüfung (Auditierung) der Sicherheit, aber da gibt es große Unterschiede. Zu einer Auditierung der Sicherheiten gehört ein Vergleich der Sicherheitsrichtlinien eines Unternehmens mit den aktuell gültigen Standards. Eine Sicherheitsauditierung wird mit der Absicht durchgeführt, zu überprüfen, dass Sicherheitskontrollen bestehen – dabei wird normalerweise risikobasiert vorgegangen. Häufig gehört zum Auditieren auch ein Überdenken der Geschäftsabläufe, und der Vorgang ist nicht sonderlich technisch ausgerichtet. Ich bezeichne Sicherheitsauditierungen gerne als »Prüfliste für Sicherheitsfragen«, weil sie häufig genau darauf aufbauen.

Im Gegensatz dazu konzentriert sich ethisches Hacken auf Schwachstellen, die ausgenutzt werden können. Es findet heraus, dass Sicherheitskontrollen überhaupt nicht existieren oder bestenfalls ineffektiv sind. Ethisches Hacken kann sowohl sehr technisch als auch nicht technisch sein, und obwohl Sie eine formale Methodik verwenden, neigt es dazu, weniger strukturiert zu sein als die formale Auditierung. Wenn es in Ihrem Unternehmen eine Auditierung gibt, sollten Sie darüber nachdenken, die Techniken des ethischen Hackens, die ich vorstelle, in den Auditierungsprozess einzubinden.

Überlegungen zu Richtlinien

Wenn Sie sich dafür entscheiden, das ethische Hacken zu einem wichtigen Bestandteil des Risikomanagements Ihres Unternehmens zu machen, muss es unbedingt eine schriftliche Richtlinie für Ihre Sicherheitstests geben. Eine solche Richtlinie beschreibt, welche Art von ethischem Hacken vorgenommen wird, welche System (wie Server, Webanwendungen, Laptops und so weiter) davon betroffen sind und wie oft getestet wird. Definieren Sie Prozeduren, wie Sie die Sicherheitstests durchführen wollen, die in diesem Buch behandelt werden. Sie sollten auch darüber nachdenken, eine Dokumentation anzulegen, die die einzelnen Testwerkzeuge beschreibt, die verwendet werden, und das Datum vorgibt, an dem Ihre Systeme jedes Jahr getestet werden. So könnten dort zum Beispiel als Vorgabe stehen, dass externe Systeme vierteljährlich und interne Systeme halbjährlich getestet werden müssen.

Befolgung von Regeln und regulatorische Dinge

Ihre eigene interne Richtlinie mag vorschreiben, wie in Ihrem Unternehmen mit Sicherheitstests umgegangen wird, aber Sie müssen auch an all die Gesetze denken, die das Unternehmen berühren. Viele dieser Vorschriften verlangen, dass Sie Ihre Sicherheitsanforderungen ständig anpassen. Indem Sie Ihr ethisches Hacken an diese Vorgaben binden und an die staatlichen Anforderungen anpassen, können Sie Ihr eigenes Programm gewaltig aufwerten.

Warum die eigenen Systeme hacken?

Um einen Dieb zu fangen, müssen Sie wie ein Dieb denken. Das ist die Grundlage des ethischen Hackens. Es ist extrem wichtig, dass Sie Ihren Feind kennen. In Kapitel 2 steht, wie böswillige Angreifer arbeiten.

Das Gesetz des Durchschnitts (je mehr Möglichkeiten es gibt, desto größer ist die Trefferwahrscheinlichkeit) arbeitet gegen die Sicherheit. Aufgrund der immer größer werdenden Zahl an Hackern mit ihrem ständig wachsenden Wissen und aufgrund der immer größer werdenden Zahl an Schwachstellen und Unbekanntem werden wohl alle Computersysteme und Anwendungen irgendwie gehackt oder sind zumindest gefährdet. Es ist also ungeheuer wichtig, dass Sie Ihre Systeme vor Angreifern schützen – und zwar nicht nur die Schwachstellen, die sowieso jeder kennt. Wenn Ihnen die Tricks der Hacker bekannt sind, können Sie herausfinden, wie verletzlich Ihre Systeme wirklich sind.

Hacken plündert schlechte Sicherheitsverfahren und offene Schwachstellen aus. Firewalls, Verschlüsselung und Kennwörter können ein falsches Gefühl der Sicherheit erzeugen. Diese Sicherheitssysteme konzentrieren sich häufig auf oberster Ebene um Schwachstellen wie eine grundlegende Zugangskontrolle, ohne dabei aber darauf einzugehen, wie Hacker arbeiten. Das ethische Hacken ist nachweislich die einzige Methode, um Ihre Systeme gegen Angriffe stark zu machen. Wenn Sie die Schwachpunkte nicht identifizieren, ist es nur eine Frage der Zeit, bis diese ausgenutzt werden.

Und so, wie die Hacker ihr Wissen erweitern, sollten Sie das auch tun. Sie müssen wie sie denken und arbeiten, um Ihre Systeme vor ihnen zu schützen. Sie müssen als ethischer Hacker die Aktivitäten kennen, die Hacker ausführen können, und Sie müssen den Weg kennen, deren Anstrengungen zu stoppen. Und das Wissen, wonach Sie Ausschau halten müssen und wie diese Informationen anzuwenden sind, hilft, die Bemühungen der Hacker zu durchkreuzen.

Sie müssen Ihre Systeme nicht vor allem schützen. Das ist unmöglich. Sollten Sie so etwas trotzdem machen wollen, sieht die Lösung so aus, dass Sie Ihre Computer abschalten und wegschließen, damit niemand an sie herankommt – selbst Sie nicht. Dies ist aber nicht unbedingt die beste Vorgehensweise, wenn es um Datensicherheit geht, und sie ist sicherlich auch nicht gut für Ihre Geschäfte. Wichtig ist, dass Sie Ihre Systeme vor bekannten Schwachstellen und den üblichen Angriffen schützen – was in vielen Firmen versäumt wird.

Gehen Sie mit Ihrem ethischen Hacken nicht zu weit. Es macht wenig Sinn, um Ihre Systeme einen Schutzwall aufzubauen, der gegen unwahrscheinliche Angriffe gerichtet ist. Wenn es zum Beispiel bei Ihnen keinen internen Webserver gibt, müssen Sie sich nicht den Kopf Ihres Internet-Providers zerbrechen.

Ihre generelle Zielsetzung als ethischer Hacker ist:

Legen Sie für Ihre Systeme Wertigkeiten fest, damit Sie Ihre Anstrengungen auf das Wichtige richten können.

Hacken Sie Ihre Systeme »zerstörungsfrei«.

Weisen Sie auf Schwachstellen hin und weisen Sie gegebenenfalls der Geschäftsleitung nach, dass diese Schwachstellen ausgenutzt werden können.

Entfernen Sie Schwachstellen und sichern Sie Ihre Systeme besser ab.

Die Gefahren verstehen, mit denen Ihre Systeme konfrontiert werden

Es ist eine Sache zu wissen, dass Systeme von Hackern aus der ganzen Welt und böswilligen Benutzern im Büro unter Feuer genommen werden. Eine andere ist es dann, sich mit den verschiedenen Angriffsarten auszukennen. Dieser Abschnitt zeigt einige der bekannten Angriffsarten auf, bietet aber auf keinen Fall eine vollständige Auflistung.

Viele Schwachstellen der Datensicherheit sind für sich gesehen nicht bedenklich. Aber wenn dann gleichzeitig mehrere davon ausgenutzt werden, kann dies für ein System teuer werden. So muss eine Standardkonfiguration des Betriebssystems Windows, ein schwaches Administratorenkennwort eines SQL-Servers oder ein Server, der über ein drahtloses Netzwerk gepflegt wird, jeweils für sich allein kein größeres Sicherheitsrisiko darstellen – aber ein Hacker, der alle diese Schwachstellen gleichzeitig ausnutzt, kann dadurch an sensible Daten und mehr kommen.

Komplexe Umgebungen sind ein Feind der Sicherheit. Gerade in den letzten Jahren haben die Zahl der Schwachstellen und der Angriffe enorm zugenommen. Ursache hierfür sind die sozialen Netze und das Cloud-Computing. Schon diese beiden allein haben dazu geführt, dass IT-Umgebungen außerordentlich komplex geworden sind.

Nicht technische Angriffe

Exploits (das sind Programme, die Sicherheitslücken in einem Computersystem ausnutzen), die jemanden – Endbenutzer oder sogar Sie selbst – manipulieren, sind in der Infrastruktur aller Computersysteme oder Netzwerke die große Schwachstelle. Menschen sind von Natur her vertrauensselig, was zu sozialen Manipulationen führen kann.

Soziale Manipulation (auch Social Engineering genannt) ist das Ausnutzen des mensch lichen Vertrauens, um an Informationen zu gelangen. Sie finden in Kapitel 5 mehr über Social Engineering und darüber, wie Sie Ihre Systeme davor schützen können.

Und dann gibt es noch Angriffsformen auf Informationssysteme, die körperlicher Natur sind. Hacker brechen in Gebäude, Computerräume oder andere Bereiche ein, die wichtige Daten enthalten, um Computer, Server und andere wertvolle Ausrüstungsgegenstände zu stehlen. (Oft reicht es auch einfach nur aus, in ein unverschlossenes Büro zu gehen und einen der dort offen herumstehenden und ungesicherten Laptops mitgehen zu lassen.) Zu diesen Angriffen zählt auch das sogenannte Mülltauchen (Dumpster Diving) – das Wühlen in Papierkörben und Mülleimern nach geistigem Eigentum, Kennwörtern, Netzwerkdiagrammen und anderen Informationen.

Angriffe auf die Infrastruktur von Netzwerken

Häufig ist es für Hacker leicht, die Infrastruktur von Netzwerken anzugreifen, weil viele Netzwerke über das Internet weltweit erreichbar sind. Beispiele für diese Art von Angriffen sind:

Verbindung mit einem Netzwerk über einen ungesicherten drahtlosen Zugriffspunkt (oder Access Point), der hinter einer Firewall hängt
die Schwächen von Netzwerkprotokollen wie TCI/IP oder NetBIOS ausnutzen
ein Netzwerk mit zu vielen Anfragen überfluten, was zu einem Denial of Service (DoS; Englisch für Dienstablehnung) für rechtmäßige Benutzer führt
in einem Netzwerk einen Netzwerkanalysator installieren und jedes Paket, das im Netzwerk unterwegs ist, abfangen und auf vertrauliche Informationen in Klarschrift prüfen

Angriffe auf das Betriebssystem

Hacker greifen am liebsten das Betriebssystem (BS) an. Dies ist alleine schon deswegen der Fall, weil es auf jedem Computer ein BS gibt und weil jedes BS für viele Exploits anfällig ist.

Gelegentlich werden auch Betriebssysteme angegriffen, die – wie das ziemlich alte, aber immer noch existierende Novell NetWare – von Haus aus sicherer zu sein scheinen als andere, aber dennoch auch Schwachstellen aufweisen. Hacker ziehen es aber vor, Windows und Linux anzugreifen, weil diese weit verbreitet und ihre Schwächen bekannt sind.

Beispiele für Angriffe auf Betriebssysteme sind:

Das Ausnutzen fehlender Aktualisierungen

Angriffe auf Authentifizierungssysteme der Betriebssysteme

Aushebeln der Sicherheitseinrichtung der entsprechenden Dateisysteme

Knacken von Kennwörtern und schwachen Verschlüsselungen

Angriffe auf Anwendungen und Funktionen

Anwendungen stehen bei Hackern hoch im Kurs. Programme wie die Software von E-Mail-Servern und Webanwendungen sind gern gesuchte Ziele:

Hypertext-Transfer-Protocol- (HTTP) und Simple-Mail-Transfer-Protocol-Anwendungen (SMTP) werden oft angegriffen, weil die meisten Firewalls und andere Sicherheitsmechanismen so eingerichtet sind, dass aus dem Internet heraus auf alle Dienste zugegriffen werden kann.

Das Voice over Internet Protocol (VoIP) wird immer öfter angegriffen, weil es im geschäftlichen Umfeld immer stärker eingesetzt wird.

Ungesicherte Dateien, die sensible Informationen enthalten, werden auf freigegebenen Arbeitsstationen und Servern verteilt, und Datenbanksysteme enthalten viele Schwachstellen, die böswillige Benutzer ausnutzen können.

Die Gebote des ethischen Hackens

Ethische Hacker führen dieselben Angriffe auf Computersysteme, die vorhandenen Kontrollinstrumente und Menschen aus wie böswillige Hacker. Dabei ist es aber das Ziel ethischer Hacker, gefundene Schwächen aufzuzeigen. Die Teile II bis V dieses Buches behandeln diese Art von Angriffen und gehen auf die Gegenmaßnahmen ein, die Sie ergreifen können.

Jeder ethische Hacker muss einige grundlegende Gebote befolgen, die in den nächsten Abschnitten beschrieben werden.

Falls Sie den Regeln des ethischen Hackens nicht folgen, können ziemlich negative Dinge geschehen. Ich habe es erlebt, dass diese Gebote beim Planen oder Ausführen des ethischen Hackens vergessen oder ignoriert worden sind. Die Ergebnisse waren dann alles andere als positiv – glauben Sie mir.

Die Privatsphäre respektieren

Behandeln Sie die Informationen, die Sie sammeln, mit dem allergrößten Respekt. Alles, was Sie im Verlauf Ihrer Tests an Kenntnissen erhalten – angefangen bei Protokolldateien von Webanwendungen über Kennwörter in Klarschrift bis hin zu persönlichen Daten und allem, was es noch weiter gibt –, muss privat bleiben. Schnüffeln Sie nicht in vertraulichen Firmendaten oder dem privaten Leben der Angestellten herum.

Bringen Sie keine Systeme zum Absturz

Einer der größten Fehler, auf den ich häufig stoße, wenn jemand versucht, seine Systeme zu hacken, ist, dass er sie unbeabsichtigt zum vollständigen Absturz bringt. Der Hauptgrund für diesen Fehler ist eine schlechte Planung. Diese Tester missverstehen oft die Möglichkeiten der zur Verfügung stehenden Sicherheitswerkzeuge und Techniken. Dabei kann ein Konto dann unbeabsichtigt gesperrt oder ein Kennwort geändert werden, ohne dass die Konsequenzen einer solchen Aktion erkannt werden, Seien Sie vorsichtig, aber es ist immer noch besser, dass Sie die Anfälligkeit Ihres Systems gegen DoS-Angriffe erkennen und nicht ein Dritter.

Viele Scanner auf Schwachstellen können steuern, wie viele Tests auf einem System gleichzeitig ausgeführt werden. Einstellungsmöglichkeiten dieser Art sind ganz besonders dann sehr praktisch, wenn Sie Tests auf Produktivsystemen während der Bürozeiten ablaufen lassen müssen. Scheuen Sie sich nicht, bei Ihren Tests einen Gang herunterzuschalten. Das dauert dann zwar alles länger, kann aber eine Menge Ärger verhindern.

Die Arbeitsabläufe des ethischen Hackens

Ethisches Hacken muss – wie eigentlich alle IT- oder Sicherheitsprojekte – geplant werden. Es ist schon darauf hingewiesen worden, dass Aktionen ohne Planung die Grundlage für ein Scheitern bilden. Strategische und taktische Elemente des Ablaufs des ethischen Hackens müssen festgelegt und akzeptiert werden. Damit Sie mit Ihren Anstrengungen auch erfolgreich sind, sollten Sie sich vor jedem Testen Zeit nehmen – und zwar unabhängig davon, ob es um das einfache Knacken eines Kennworts oder das komplexe Testen von Schwachstellen in einer Webanwendung geht.

Wenn Sie einen »geläuterten« Hacker engagieren, um die Tests zusammen mit Ihnen durchzuführen oder um eine unabhängige Meinung einzuholen, sollten Sie vorsichtig sein. Ich behandele das, was dafür und dagegen spricht, wenn Sie einen mehr oder weniger ethischen Hacker verpflichten wollen, und das, was Sie dabei unternehmen und lassen sollten, in Kapitel 18.

Den Plan formulieren

Es ist außerordentlich wichtig, dass Sie für das ethische Hacken eine Genehmigung haben. Sorgen Sie dafür, dass das, was Sie machen, bekannt und sichtbar ist – zumindest für die Entscheidungsträger. Der erste Schritt sieht so aus, dass Ihr Projekt unterstützt wird. Die Unterstützung kann von der Geschäftsführung, einem Vorgesetzten oder dem Kunden kommen. Sie benötigen jemanden, der Ihren Rücken stärkt und Ihren Plan absegnet. Anderenfalls kann es passieren, dass Ihre Tests unerwartet beendet werden, weil jemand behauptet, dass Sie niemals die Genehmigung dazu erhalten hätten.

Wenn Sie diese Tests an Ihren eigenen Systemen vornehmen, kann diese Genehmigung aus einem internen Memo oder einer E-Mail von Ihrem Chef bestehen. Wenn Sie bei einem Kunden testen, sollten Sie sich durch einen unterschriebenen Vertrag absichern. Die schriftliche Bestätigung sorgt als Unterstützung auch dafür, dass Sie Ihre Zeit und Ihre Anstrengungen nicht einfach nur vergeuden. Dieses Dokument ist gleichzeitig Ihre Komme-aus-dem-Gefängnis-frei-Karte, falls sich jemand (zum Beispiel der Internet-Dienstanbieter oder der Cloud-Anbieter) fragen sollte, was Sie da machen und die Polizei ruft. Lachen Sie nicht – das wäre nicht das erste Mal, dass so etwas geschieht.

Ein kleiner Fehler kann Ihre Systeme vollständig zusammenbrechen lassen – was nicht unbedingt wünschenswert ist. Sie benötigen einen detaillierten Plan, was aber nicht bedeutet, dass Sie tonnenweise Testabläufe erstellen müssen und damit alles nur kompliziert machen. Ein sorgfältig ausgearbeiteter Rahmenplan enthält diese Informationen:

Die zu testenden Systeme: Wenn es um die Auswahl der zu testenden Systeme geht, beginnen Sie mit den Systemen und Abläufen, die am wichtigsten sind oder von denen Sie glauben, dass sie die meisten Schwachstellen aufweisen. Sie können zum Beispiel die Kennwortsicherheit eines Serverbetriebssystems oder eine Webanwendung testen oder Angriffe in Form des Social Engineerings durchführen, bevor Sie tiefer in die Systeme eindringen.

Die auftretenden Risiken: Halten Sie bei Ihrem ethischen Hacken einen Notfallplan für den Fall bereit, dass etwas schiefgeht. Was ist, wenn Sie auf die Firewall oder eine Webanwendung zugreifen und diese herunterfahren? Das kann dazu führen, dass Systeme nicht mehr erreichbar sind, was wiederum das Leistungsverhalten von Systemen und/oder die Produktivität von Mitarbeitern negativ beeinflusst. Schlimmer noch, so etwas kann zum Verlust der Datenintegrität oder der Daten selbst führen, was Ihrem Ruf nicht gerade zuträglich wäre. Es verärgert auf jeden Fall eine oder zwei Personen und lässt Sie nicht sonderlich gut aussehen.

Seien Sie bei Social-Engineering- und DoS-Agriffen vorsichtig. Legen Sie vorher fest, was Sie mit dem zu testenden Systemen und dem gesamten Unternehmen machen sollen.

Die Daten, wann Ihre Tests stattfinden sollen, und deren gesamter zeitlicher Ablauf: Sie müssen lange und intensiv überlegen, wann die Tests durchgeführt werden sollen. Führen Sie die Tests während der normalen Geschäftszeiten durch? Sollten sie spät in der Nacht oder in den frühen Morgenstunden stattfinden, damit keine Produktivsysteme betroffen sind? Binden Sie andere Personen ein, damit sicher ist, dass Ihre Zeitplanung auch die notwendige Zustimmung findet.

Die beste Vorgehensweise ist ein Angriff ohne Einschränkungen, bei dem zu beliebigen Zeiten jeder beliebige Test vorgenommen werden kann. Die Bösewichte brechen nicht nur zu bestimmten Zeiten in Ihre Systeme ein, warum also Sie? Dabei gibt es aber einige Ausnahmen: Social Engineering, DoS-Angriffe und auf die Geräte zielende Sicherheitstests.

Unabhängig von Ihrem eigentlichen Ziel sollten Sie immer darauf achten, dass Sie bei Ihren Tests nicht entdeckt werden.

Die Kenntnisse, die Sie von den Systemen haben, bevor die Tests starten: Sie benötigen von den Systemen, die Sie testen wollen, kein umfassendes Wissen – grundlegende Kenntnisse reichen aus. Wobei ein grundlegendes Verständnis schon dafür sorgt, dass Sie und die zu testenden Systeme geschützt werden.

Es sollte nicht schwierig sein, die Systeme zu verstehen, wenn es sich um die eigenen (oder die Ihres Unternehmens) handelt. Wenn Sie Kundensysteme testen, müssen Sie eventuell etwas tiefer graben. Ich zum Beispiel hatte bisher nur einen oder zwei Kunden, die von mir eine vollständig »blinde« Begutachtung haben wollten. Die meisten IT-Manager und anderen Sicherheitsverantwortlichen mögen diese Art von Untersuchung überhaupt nicht – darüber hinaus dauern sie länger, kosten mehr Geld und sind in der Regel weniger wirkungsvoll. Bauen Sie den Test, den Sie durchführen wollen, auf den Bedürfnissen Ihres Unternehmens oder denen des Kunden auf.

Die Aktionen, die Sie ergreifen, wenn größere Schwachstellen entdeckt worden sind: Hören Sie nicht auf, wenn Sie ein Sicherheitsloch gefunden haben. Machen Sie weiter, um herauszufinden, was Sie noch entdecken können. Ich verlange nicht, dass Sie bis an das Ende aller Tage oder bis zum Zusammenbruch aller Systeme hacken sollen. Folgen Sie einfach dem Pfad, den Sie eingeschlagen haben, bis ein weiteres Hacken keinen Sinn mehr macht. Wenn Sie keine Schwachstellen gefunden haben, haben Sie nicht genau genug nachgeschaut. Schwachstellen gibt es immer. Wenn Sie etwas Großes enthüllen, müssen Sie dies so schnell wie möglich den Schlüsselfiguren im Unternehmen (Entwickler, Datenbankadministratoren, IT-Manager und so weiter) mitteilen, um das Loch zu stopfen.

Vorzeigbare Ergebnisse: Dazu gehören Berichte über das Scannen auf Schwachstellen und ein ausführlicher Bericht über die wichtigen Schwachstellen und die entsprechenden Gegenmaßnahmen.

Werkzeuge auswählen

Wenn Sie für das ethische Hacken nicht über die richtigen Werkzeuge verfügen, werden Sie mit ziemlicher Sicherheit dabei scheitern, die Aufgabe effektiv zu lösen. Wobei es nicht gesagt ist, dass Sie alle Schwachstellen entdecken, obwohl Sie die richtigen Werkzeuge verwenden. Erfahrung zählt.

Erkennen Sie persönliche und technische Grenzen. Viele Schwachstellenscanner produzieren falsch positive oder negative Ergebnisse (identifizieren Schwachstellen also nicht richtig). Andere übersehen Schwachstellen einfach. In bestimmten Situationen, zum Beispiel beim Testen von Webanwendungen, müssen Sie mehrere Schwachstellenscanner laufen lassen, um zumindest die meisten Punkte zu finden, die einen Angriff ermöglichen.

Viele Werkzeuge sind nur für bestimmte Tests gedacht, und keines kann alles testen. Aus demselben Grund schlagen Sie keinen Nagel mit einem Schraubenzieher ein oder würden Ihr Netzwerk mit einer Textverarbeitung nach offenen Ports absuchen. Darum benötigen Sie einen ganzen Satz von Spezialwerkzeugen. Je mehr (und bessere) Werkzeuge Sie besitzen, desto einfacher lassen sich Ihre Anstrengungen umsetzen, ein System zu hacken.

Achten Sie darauf, für eine Aufgabe immer das richtige Werkzeug zu verwenden:

Um Kennwörter zu knacken, benötigen Sie die entsprechenden Werkzeuge wie ophcrack und Proactive Password Auditor.

Für eine in die Tiefe gehende Analyse einer Webanwendung ist ein Prüfwerkzeug für Webanwendungen (wie Acunetix Web Vulnerability Scanner oder WebInspectNTOSpider) besser geeignet als ein Netzwerk-Analysewerkzeug wie zum Beispiel Wireshark.

Wenn Sie das richtige Sicherheitswerkzeug für eine Aufgabe auswählen, fragen Sie herum. Holen Sie sich von Kollegen und von Dritten online Rat, zum Beispiel in Google, LinkedIn (www.linkedin.de) oder Twitter (www.twitter.de). Für das ethische Hacken können Hunderte, wenn nicht sogar Tausende von Werkzeugen verwendet werden. Die folgende Liste gibt einen Überblick über meine Favoriten, wenn es um kommerzielle, Freeware- oder Open-Source-Sicherheitswerkzeuge geht:

Cain & Abel

OmniPeek

QualysGuard

WebInspect
ophcrack

Metasploit

GFI LanGuard

CommView for WiFi

Ich gehe in den Teilen II bis V auf diese und viele andere Werkzeuge ein, wenn ich mich mit den verschiedenen Angriffsarten der Hacker beschäftige. Der Anhang enthält eine umfangreichere Liste dieser Werkzeuge und kann als Referenz dienen.

Die Fähigkeiten vieler Sicherheits- und Hackerwerkzeuge werden häufig missverstanden. Dieses Missverständnis hat ein negatives Licht auf ansonsten exzellente und legale Werkzeuge geworfen. Hierzu hat sicherlich auch die Komplexität vieler dieser Werkzeuge beigetragen. Auf jeden Fall gilt, dass Sie sich mit einem Werkzeug bekannt machen müssen, bevor Sie es verwenden, damit Sie in der Lage sind, es so einzusetzen, wie es gedacht ist. Hier ein paar Vorschläge dazu:

Lesen Sie sich die Readme-Datei und die Onlinehilfe und die FAQs durch. (FAQs sind Frequently Asked Questions, häufig gestellte Fragen.)

Studieren Sie das Handbuch.

Verwenden Sie die Werkzeuge in einer Textumgebung.

Denken Sie darüber nach, ein offizielles Training des Herstellers des Sicherheitswerkzeugs oder eines Drittanbieters zu besuchen.

Halten Sie in den Werkzeugen für ethisches Hacken nach diesen Merkmalen Ausschau:

Eine ausreichende Dokumentation

Detaillierte Berichte über die entdeckten Schwachstellen, die auch Informationen darüber enthalten, wie diese ausgenutzt und beseitigt werden können

Eine allgemeine Akzeptanz als Testwerkzeug

Verfügbarkeit von Aktualisierungen und Support

Hochwertige Berichte, die der Geschäftsführung oder nicht technischen Personen vorgelegt werden können

Diese Funktionen können Ihnen eine Unmenge Zeit und Anstrengungen ersparen, wenn Sie Ihre Tests durchführen und Ihre Abschlussberichte schreiben.

Den Plan ausführen

Gutes ethisches Hacken zeichnet sich durch Beharrlichkeit aus. Zeit und Geduld sind wichtig. Seien Sie sorgfältig, wenn Sie Ihre Tests im ethischen Hacken durchführen. Ein Krimineller in Ihrem Netzwerk oder ein scheinbar netter Mitarbeiter, der über Ihre Schulter schaut, könnten beobachten, was da abläuft, und diese Informationen gegen Sie oder das Unternehmen einsetzen.

Es lässt sich kaum schaffen, dafür zu sorgen, dass sich in Ihren Systemen keine Hacker tummeln, wenn Sie mit Ihren praktischen Tests beginnen. Sorgen Sie dafür, dass alles so ruhig und geheim wie möglich vonstattengeht. Das ist ganz besonders dann wichtig, wenn Sie Ihre Testergebnisse übermitteln und speichern. Wenn es möglich ist, sollten Sie alle E-Mails und Dateien verschlüsseln, die sensible Testdaten enthalten, indem Sie Pretty Good Privacy (PGP), eine verschlüsselte ZIP-Datei oder eine ähnliche Technologie verwenden.

Sie befinden sich nun auf einen Erkundungsflug. Sammeln Sie so viele Informationen wie möglich über das Unternehmen und die Systeme ein – so wie es die böswilligen Hacker tun. Beginnen Sie mit einer groben Übersicht und arbeiten Sie sich dann gezielt zum Kern der Sache vor:

1. Suchen Sie im Internet nach dem Namen Ihres Unternehmens, den Namen Ihrer Computer- und Netzwerksysteme und den IP-Adressen.

Hier bietet sich Google an.

2. Engen Sie das Suchfeld ein, indem Sie auf die Systeme zielen, die Sie testen wollen.

Wenn Sie physische Sicherheitsstrukturen oder Webanwendungen überprüfen wollen, kann eine Überprüfung viele Informationen über Ihre Systeme ans Tageslicht bringen.

3. Schauen Sie noch kritischer auf Ihr Ziel. Führen Sie aktuelle Scans und andere detaillierte Tests durch, um Schwachstellen Ihrer Systeme aufzudecken.

4. Führen Sie die Angriffe durch und nutzen Sie – wenn das Ihr Ziel ist – alle Schwachstellen aus, auf die Sie stoßen.

Schauen Sie sich Kapitel 4 an, um weitere Informationen und Tipps zum Gebrauch dieser Abläufe zu finden.

Ergebnisse auswerten

Werten Sie Ihre Ergebnisse aus, um zu sehen, worauf Sie gestoßen sind, und gehen Sie dabei davon aus, dass die Schwachstellen bisher noch nicht offengelegt wurden. Und jetzt ist Wissen gefragt. Ihre Fähigkeiten beim Auswerten der Ergebnisse und wie Sie die entdeckten Schwachstellen miteinander in Beziehung setzen, geht einfacher, wenn dies für Sie kein Neuland ist. Wenn Sie fertig sind, kennen Sie die Systeme besser als jeder andere. Letztendlich wird es immer einfacher, Auswertungen zu erstellen, je mehr Erfahrung Sie sammeln.

Übergeben Sie der Geschäftsführung oder Ihrem Kunden einen formalen Bericht, der Ihre Ergebnisse und die Empfehlungen enthält, die Sie weitergeben möchten. Halten Sie diese Parteien auf dem Laufenden, um ihnen zu zeigen, dass ihr Geld nicht zum Fenster hinausgeworfen wird. Kapitel 16 beschreibt das Berichtswesen des ethischen Hackens.

Wie es weitergeht

Wenn Sie Ihre Tests abgeschlossen haben, müssen Sie (oder Ihr Kunde) Ihre Empfehlungen umsetzen, damit dafür gesorgt wird, dass die Systeme auch wirklich sicher sind. Anderenfalls wären die gesamte Zeit, das investierte Geld und alle Anstrengungen vergebens gewesen.

Es kommt immer wieder zu neuen Schwachstellen. Informationssysteme ändern sich ständig und werden immer komplexer. Dauernd erscheint neue Hacker-Software, mit der Sicherheitslücken ausgenutzt werden können (Software dieser Art wird auch Exploits genannt), und es gibt neue Schwachstellen. Schwachstellenscanner werden besser und besser. Bei den Sicherheitstests handelt es sich immer nur um eine Momentaufnahme der Sicherheitslage Ihrer Systeme. Jederzeit kann sich alles ändern, und zwar besonders dann, wenn Sie Software aktualisieren, Computersysteme hinzufügen oder Programmpatches aufspielen. Ihr Plan sollte vorsehen, Tests regelmäßig und dauerhaft (zum Beispiel einmal im Monat, im Vierteljahr oder im Halbjahr) durchzuführen. Kapitel 18 behandelt die Verwaltung von Änderungen der Sicherheitssysteme.

2

Die Denkweise von Hackern knacken

In diesem Kapitel ...

Den Feind verstehen

Die Profile von Hackern und bösartigen Benutzern

Verstehen, warum Angreifer so und nicht anders handeln

Herausfinden, wie Angreifer vorgehen

Bevor Sie beginnen, die Sicherheit Ihrer eigenen Systeme zu überprüfen, möchten Sie vielleicht einiges über diejenigen erfahren, gegen die Sie verständlicherweise etwas haben. Viele Verkäufer von Sicherheitsprodukten und andere, die sich hauptberuflich mit dem Thema beschäftigen, fordern, dass Sie Ihre Systeme vor den böswilligen Angreifern schützen – und zwar sowohl vor den internen als auch vor den externen. Aber was heißt das? Woher wissen Sie, wie diese Leute denken und arbeiten?

Wenn Sie wissen, wie Hacker und böswillige Benutzer denken, können Sie verstehen, wie sie vorgehen. Und wenn Sie verstehen, wie sie vorgehen, sind Sie in der Lage, sich auf eine ganz neue Art mit Ihren Informationssystemen zu beschäftigen. Ich beschreibe die Herausforderungen, denen Sie begegnen, wenn Sie auf Hacker stoßen, und deren Motivation und Methoden. Dieses Verständnis gibt Ihnen bei Ihren Tests viel mehr Möglichkeiten.

Gegen wen Sie vorgehen

Dank der Sensationslust der Medien nimmt die Öffentlichkeit Hacker nicht mehr als harmlose Bastler, sondern als böswillige Kriminelle wahr. Nichtsdestotrotz behaupten Hacker häufig, dass sie missverstanden werden, was meistens auch wahr ist. Es ist einfach, etwas zu verurteilen, das man nicht versteht. Unglücklicherweise basieren viele Klischees auf Missverständnissen und nicht auf Tatsachen und halten so die Debatte am Laufen.

Hacker können sowohl anhand ihrer Fähigkeiten als auch ihrer Motivation klassifiziert werden. Einige besitzen hervorragende Kenntnisse, und ihre Motivation ist gutartig. Sie wollen lediglich ihr Wissen erweitern. Am anderen Ende des Spektrums stehen Hacker mit böswilligen Absichten und auf der Suche nach Vorteilen für sich selbst. Unglücklicherweise überschattet der negative Aspekt des Hackens den positiven und fördert damit das negative Bild von Hackern.

Ursprünglich hacken Hacker aus Wissensdurst und wegen des Nervenkitzels, den die Herausforderung bietet. Wenn wir Skriptkiddies (das sind Möchtegernhacker mit begrenzten Fähigkeiten) außen vor lassen, sind Hacker abenteuerlustige und innovative Denker, die sich ständig neue Wege suchen, um Schwachstellen bei Computern auszunutzen. (Wenn Sie mehr über Skriptkiddies wissen wollen, lesen Sie weiter hinten in diesem Kapitel den Abschnitt Wer in Computersysteme einbricht.) Ihnen fällt auf, was andere häufig übersehen. Sie denken darüber nach, was geschehen könnte, wenn ein Kabel abgezogen, ein Switch übergangen oder eine Zeile mit Code in einem Programm geändert werden würde. Diese Hacker der alten Schule sind wie Tim »Der Heimwerkerkönig« Taylor – Tim Allens Rolle in der klassischen Seifenoper Hör' mal, wer da hämmert – der Meinung, dass sie elektronische und mechanische Geräte dadurch verbessern können, dass sie sie neu verkabeln. Aktuellere Untersuchungen zeigen, dass viele Hacker aber auch aus politischen und/oder sozialen Gründen, um miteinander zu wetteifern und sogar der Finanzen wegen hacken – die Zeiten ändern sich eben.

Wenn Hacker erwachsen werden, sind ihre Gegner Monster und Verbrecher von Videospielen. Von nun an betrachten Hacker ihre elektronischen Gegner nur noch so: elektronisch. Hacker, die illegale Handlungen vornehmen, denken nicht wirklich über die Tatsache nach, dass hinter einer Firewall, einem drahtlosen Netzwerk und Anwendungen, die beziehungsweise das sie angreifen, menschliche Wesen arbeiten. Sie ignorieren, dass ihre Handlungen diese Menschen häufig zum Beispiel dadurch negativ treffen, dass die Sicherheit von Arbeitsstellen aufs Spiel gesetzt wird.

Andererseits besteht die Möglichkeit, dass es bei Ihnen eine Handvoll Mitarbeiter, Vertragspartner, Mitarbeiter oder Berater gibt, deren Interesse darauf ausgerichtet ist, die sensiblen Daten in Ihrem Netzwerk auszuspähen. Diese Leute hacken nicht so, wie man es normalerweise vermutet. Stattdessen stöbern sie in Dateien herum, die auf Servern freigegeben sind, tauchen in Datenbanken ein, von denen sie wissen, dass sie dort nichts zu suchen haben, und stehlen, ändern oder löschen manchmal Daten, zu denen sie Zugang haben. Häufig ist es sehr schwierig, so etwas zu entdecken – insbesondere wegen des beim Management weitverbreiteten Glaubens, dass man Benutzern mehr oder weniger blind vertrauen sollte und kann, weil diese nur das Richtige machen. Diese Aktivitäten können endlos lange fortgesetzt werden, wenn die entsprechenden Benutzer ihre Vergangenheit und Glaubwürdigkeit rechtzeitig »gewaschen« haben, bevor sie eingestellt wurden. Verhalten in der Vergangenheit eignet sich gut dazu, Verhalten in der Zukunft vorherzusagen. Aber nur, weil jemand über eine saubere Personalakte verfügt und auf sensible Systeme zugreifen darf, bedeutet dies noch lange nicht, dass er nur Gutes im Schilde führt. Jeder Kriminelle fängt irgendwann einmal an!

So negativ das Einbrechen in Computersysteme auch sein kann, so ist es doch auch eine Tatsache, dass Hacker und böswillige Benutzer eine Schlüsselrolle beim technologischen Fortschritt spielen. In einer Welt ohne Hacker gäbe es wohl kaum die neueste Technologie zum Verhindern von illegalen Zugriffen, zum Schutz vor Datenverlusten oder Schwachstellenscanner. Eine solche Welt müsste nicht schlecht sein, aber Technologie sorgt dafür, dass wir einen Job haben und dass es weitergeht. Unglücklicherweise sind die technischen Sicherheitslösungen nicht in der Lage, alle Angriffe und unberechtigten Zugriffe abzuwehren, weil Hacker und (manchmal auch) böswillige Benutzer dem technologischen Fortschritt eigentlich immer einen Schritt voraus sind.

Wenn Sie sich aber den typischen Hacker oder böswilligen Benutzer anschauen, fällt eine Sache ins Auge: Irgendjemand versucht ständig, Ihre Computersysteme zu übernehmen und an Informationen zu gelangen, indem er dort herumstochert, wo er nichts zu suchen hat, indem kompromisslos gehackt wird oder indem DoS-Angriffe und andere Malware erzeugt und gestartet werden. Sie müssen die entsprechenden Schritte ergreifen, um Ihre Systeme vor dieser Art von Eindringlingen zu schützen.

Wie Angreifer denken

Böswillige Angreifer denken und handeln häufig wie Diebe, Entführer oder andere organisierte Kriminelle, von denen Sie tagtäglich in den Nachrichten hören. Die Intelligenten von ihnen denken sich ständig neue Wege aus, um das Radar zu unterfliegen und selbst die kleinste Schwäche auszunutzen, die sie an ihr Ziel bringt. Bei dem Folgenden handelt es sich um Beispiele dafür, wie Hacker und böswillige Benutzer denken und handeln. Sinn dieser Liste ist es nicht, bestimmte Vorgehensweisen, die ich in diesem Buch behandele, oder Tests hervorzuheben, die Sie ausführen sollten, sondern es soll das Umfeld und die Vorgehensweise eines böswilligen Gehirns dargestellt werden:

Ein System zur Abwehr von Eindringlingen wird dadurch umgangen, dass die MAC-Adresse und die IP-Adresse alle paar Minuten geändert werden, um tiefer in ein Netzwerk eindringen zu können, ohne blockiert zu werden.

Eine physische Sicherheitslücke wird ausgenutzt, indem auf Büros geachtet wird, in denen das Reinigungspersonal seine Arbeit bereits getan hat und die unbesetzt sind (was den Zugriff einfach macht und die Gefahr gering hält, entdeckt zu werden).

Zugriffskontrollen im Web werden umgangen, indem die URL einer bösartigen Site in eine dezimale IP-Entsprechung geändert und hexadezimal umgewandelt wird, um diese Adresse dann im Webbrowser zu verwenden.

Es wird Software verwendet, die nicht zugelassen ist und durch die Firewall blockiert würde, indem der Standard-TCP-Port geändert wird, den die Software normalerweise benutzt.

Es wird ein drahtloser »teuflischer Zwilling« in der Nähe eines WLAN-Hotspots eingerichtet, um arglose Surfer im Internet auf das feindliche Netzwerk zu locken, in dem dann alle Informationen eingesammelt und leicht manipuliert werden können.

Die Benutzerkennung und das Kennwort e ines arglosen Kollegen werden verwendet , um Zugang zu sensiblen Daten zu bekommen, was ansonsten so gut wie unmöglich wäre.

Eins Stromkabel oder eine Ethernetverbindung zu einem Netzwerk wird abgezogen, damit eine Überwachungskamera, die den Zugang zu einem Computerraum oder anderen sensiblen Bereichen beobachtet, nicht mehr funktioniert und man unbeobachteten Zugriff auf die gewünschten Daten hat.

Es kommt zu einer SQL-Injection (auch SQL-Einschleusung genannt) oder einem Knacken von Kennwörtern einer Website über ein benachbartes, ungeschütztes draht loses Netzwerk, damit die eigene Identität verborgen bleibt.

Böswillige Hacker kennen unzählige Wege, und diese Liste gibt nur einige der Techniken wieder, die Hacker verwenden könnten. Jemand, der sich hauptberuflich um Daten sicherheit kümmert, muss genau so denken und handeln, damit er in die Materie eintauchen und Schwachstellen finden kann, die ansonsten unentdeckt blieben.

Wer in Computersysteme einbricht

Computerhacker gibt es seit Jahrzehnten. Als das Internet in den 1990ern begann, in breitem Maße genutzt zu werden, richtete sich auch das Augenmerk der breiten Öffentlichkeit mehr und mehr auf das Hacken, und eine Vielzahl unbekannter Hacker versucht, sich einen Namen zu machen. Und das sind diejenigen, um die Sie sich kümmern müssen.

In einer Welt, die nur schwarz und weiß kennt, fällt es leicht, den typischen Hacker zu beschreiben: Der »normale« Hacker ist demnach ein asozialer, pickeliger männlicher Teen ager. Aber die Welt kennt viele Grautöne und damit viele Arten von Hackern. Hacker sind menschliche Individuen, weshalb es mehr als schwierig ist, ein Profil zu erstellen. Die umfassendste Beschreibung von Hackern ist, dass Hacker nicht gleich sind. Jeder Hacker hat seine eigenen Motive, Methoden und Fähigkeiten. Diese Fähigkeiten lassen sich in drei Kategorien einteilen:

Skriptkiddies: Dabei handelt es sich um Anfänger, die sich zwar die Hackerwerkzeuge, Schwachstellenscanner und im Internet frei verfügbare Dokumentationen zunutze machen, aber eigentlich keine Ahnung davon haben, was wirklich hinter der Bühne geschieht. Sie wissen gerade genug, um Ihnen Kopfschmerzen zu verursachen, sind aber ansonsten bei ihren Aktionen ziemlich schlampig und hinterlassen alle Arten digitaler Fingerabdrücke. Auch wenn es sich dabei in der Regel um die Hacker handelt, von denen Sie in den Nachrichten hören, benötigen sie häufig nur geringe Fähigkeiten, um ihre Angriffe zu starten.

Kriminelle Hacker: Dabei handelt es sich um erfahrene Experten, die einige der Hackerwerkzeuge selbst geschrieben haben, zu denen auch die Skripte und anderen Programme gehören, die die Skriptkiddies und die ethischen Hacker benutzen. Diese Leute schreiben auch Malware wie Viren und Würmer. Sie können in Systeme einbrechen und ihre Spuren verdecken. Sie sind sogar in der Lage, so zu tun, als ob ein anderer in die Systeme eines Opfers eingedrungen wäre.

Erfahrene Hacker sind häufig Mitglied eines Kollektivs, das es vorzieht, namenlos zu bleiben. Diese Hacker sind sehr verschwiegen und teilen ihre Informationen nur dann mit ihren »Untergebenen« (Hackern mit einem geringeren Stellenwert im Kollektiv), wenn diese es ihrer Meinung nach wert sind. Um einen solchen Status zu erreichen, müssen Hacker, die nur über einen niedrigen Rang verfügen, entweder einzigartige Informationen besitzen oder sich durch einen außergewöhnlichen Hack beweisen. Kriminelle Hacker zählen naturgemäß zu Ihren ärgsten Feinden, wenn es um Datensicherheit geht. (Okay, sie sind vielleicht nicht ganz so schlimm wie untrainierte und sorglose Benutzer.)

Forscher auf dem Gebiet der Sicherheit: Hierbei handelt es sich um auf technisch sehr hohem Niveau arbeitende und der Öffentlichkeit gut bekannte IT-Profis, die Schwachstellen bei Computern, Netzwerken und Anwendungen nicht nur aufzeichnen und ihnen nachspüren, sondern die auch die entsprechenden Werkzeuge und anderen Code schreiben, um diese Lücken auszunutzen. Wenn es diese Leute nicht gäbe, gäbe es für das Testen kaum Open-Source- oder kommerzielle Sicherheitswerkzeuge. Ich halte mich bei vielen dieser Experten über deren Blogs, Foren und Artikel auf dem Laufenden – was auch Sie machen sollten. Indem Sie den Fortschritten der Sicherheitsforscher folgen, bleiben Sie sowohl bei möglichen Schwachstellen als auch den neuesten und besten Sicherheitswerkzeugen auf einem aktuellen Stand. Ich liste die Werkzeuge der verschiedenen Forscher mit ihren Adressen im Anhang dieses Buches auf.

Hacker besitzen, unabhängig von ihrem Alter, Neugier, Draufgängertum und einen sehr scharfen Verstand.

Vielleicht wichtiger noch als die Fähigkeiten von Hackern ist ihre Motivation:

Hacktivisten versuchen, durch ihr Handeln politische oder soziale Nachrichten zu verbreiten. Ein Hacktivist will die Aufmerksamkeit des Publikums auf ein bestimmtes Thema lenken. Wenn ihm die Richtung Ihres Unternehmens nicht passt, greift ein krimineller Hacker Sie an. Beispiele für Hacktivismus sind die Websites, die mit der Botschaft Free Kevin (Freiheit für Kevin) verunstaltet wurden, was dafür sorgen sollte, dass Kevin Mitnick, der für seine Hackereskapaden im Gefängnis saß, freikommt. Andere Beispiele für Hacktivismus sind Forderungen zur Legalisierung von Drogen, Proteste gegen den Krieg im Irak und viele andere soziale und politische Dinge weltweit.

Cyberterroristen greifen Regierungscomputer oder die öffentliche Infrastruktur wie Stromnetze oder Flugkontrollen an. Sie bringen wichtige Systeme zum Absturz oder stehlen geheime Regierungsunterlagen. Länder nehmen die Bedrohung, die diese Terroristen bedeuten, so ernst, dass viele von ihnen für kritische Industrien wie die Stromversorgung besondere Vorkehrungen für die Datensicherheit eingeführt haben, um wichtige Systeme vor diesen Angriffen zu schützen.

Hacker »zur Anstellung« sind Teil der im Internet organisierten Kriminalität. Viele dieser Hacker bieten sich oder ihre Botnetze gegen Geld an – und zwar gegen viel Geld.

Die kriminellen Hacker bilden eine Minderheit, weshalb Sie nicht befürchten müssen, gegen Millionen von ihnen vorgehen zu müssen. Viele Hacker sind damit zufrieden, herumzubasteln, und wollen nur wissen, wie Computersysteme funktionieren. Ihre größte Bedrohung arbeitet direkt neben Ihnen und besitzt Zugang zum Gebäude und ein gültiges Anmeldekonto für Ihr Netzwerk. Unterschätzen Sie also die Gefahr aus dem Inneren nicht.

Warum sie das tun

Hacker hacken, weil sie das können. Punkt. Viele Hacker holen sich einen Kick, indem sie Firmen- oder Regierungs-IT und Sicherheitsadministratoren überlisten. Sie blühen auf, wenn sie in den Schlagzeilen stehen und notorische Gesetzlose im Cyberspace sind. Sie fühlen sich nur dann besser, wenn sie ein Unternehmen besiegen oder über Kenntnisse verfügen, die nur wenige besitzen. Viele dieser Hacker ernähren sich quasi von der Befriedigung, die sie erhalten, wenn sie in ein Computersystem eindringen. Sie sind nach diesem Gefühl süchtig. Einige Hacker können dem Adrenalinstoß nicht widerstehen, den das Eindringen in ein fremdes Computersystem hervorruft. Häufig ist es so, dass der Nervenkitzel für einen Hacker umso größer ist, je schwieriger der Job ist.

Hacker reklamieren für sich gerne Individualismus oder zumindest eine Dezentralisierung der Informationen, weil viele von ihnen der Meinung sind, dass alle Informationen frei zugänglich sein sollten. Sie sind der Meinung, dass sich Cyberangriffe von echten Angriffen unterscheiden. Hacker neigen schnell dazu, ihre Opfer und die Folgen ihres Hackens zu ignorieren oder zu missverstehen. Viele Hacker behaupten, dass sie mit ihren Taten niemandem Schaden zufügen oder daraus Profit ziehen wollen – ein Glauben, der ihnen hilft, ihre »Arbeit« zu rechtfertigen. Viele kümmern sich wirklich nicht um Geld. Es reicht ihnen aus, sich selbst oder etwas zu beweisen.

Die Kenntnisse, die böswillige Angreifer gewinnen, und die Steigerung des Selbstwertgefühls als Ergebnis eines erfolgreichen Hackens können zu einer Sucht werden. Einige Angreifer möchten, dass Ihr Leben mies wird, während andere einfach nur gesehen oder gehört werden wollen. Zu den bekannten Motiven gehören Rache, Angeberei, Neugier, Langeweile. Herausforderung, Vandalismus, Diebstahl aus finanziellen Gründen, Sabotage, Erpressung und Firmenspionage. Hacker führen diese Motive regelmäßig an, um ihr Verhalten zu rechtfertigen, aber die wirkliche Motivation scheint stark von der aktuellen ökonomischen Lage abzuhängen.

Böswillige Benutzer Ihres Netzwerks scheinen hauptsächlich auf Informationen aus zu sein, die ihnen bei der Lösung eigener finanzieller Probleme helfen, Vorteile vor Kollegen verschaffen, ihre Rachegelüste gegenüber dem Arbeitgeber stillen, ihre Neugier befriedigen oder einfach nur ihre Langeweile mit Inhalt füllen.

Viele Eigentümer von Unternehmen und Manager – sogar Netzwerk- und Sicherheitsadministratoren – glauben, dass es bei ihnen nichts gibt, das einen Hacker interessieren könnte, oder dass Hacker keinen Schaden anrichten könnten, sollte ihnen ein Eindringen gelingen. Es kann kaum eine größere Fehleinschätzung geben als diese. Eine solche Denkweise über das Hacken hilft dabei, die Bösewichte zu unterstützen und deren Ziele zu fördern. Hacker können auch ein scheinbar uninteressantes System angreifen, um Zugriff auf das Netzwerk zu bekommen, das sie dann als Startrampe für Angriffe auf an dere Systeme nutzen.

Denken Sie daran, dass Hacker häufig nur hacken, weil sie das können. Einige wenige Hacker wagen sich an hochrangige Systeme, aber das Hacken in irgendein System hilft dabei, in den Kreis der Hacker aufgenommen zu werden. Hacker nutzen den falschen Umgang vieler Menschen mit Sicherheit aus und greifen jedes System an, das sich anbietet. Und wenn dann die elektronischen Informationen gleichzeitig an mehr als einer Stelle vorliegen und von einem Hacker kopiert werden, wird es schwierig nachzuweisen, dass Hacker diese Informationen besitzen.

Ähnlich ist das mit Webseiten, von denen Hacker wissen, dass es nicht gut für die Geschäfte eines Unternehmens ist, wenn diese Seiten verunstaltet werden. Gehackte Sites können eine Geschäftsführung und andere Ungläubige schnell davon überzeugen, wie wichtig es ist, über die Bedrohung von Daten und über Schwachstellen nachzudenken.

Es wird aus verschiedenen Gründen immer einfacher, in Computer einzubrechen:

weitverbreitete Verwendung von Netzwerken und die Verbindung zum Internet

Anonymität aufgrund von Computersystemen, die über das Internet arbeiten und dabei auf interne Netzwerke zugreifen (ohne dass es eine wirksame Protokollierung oder Protokollauswertung gibt)

viel mehr und besser verfügbare Werkzeuge für das Hacken
eine größere Zahl offener drahtloser Netzwerke, die Hackern helfen, ihre Spuren zu verdecken
eine größere Komplexität und die Größe der Codebasis der heutzutage entwickelten Anwendungen
schlaue Kinder mit Computerkenntnissen

Unwahrscheinlichkeit, dass Angreifer gefasst und bestraft werden

Denken Sie immer daran, dass ein Hacker nur ein Loch finden muss, während IT-Fachleute alle Löcher stopfen müssen.

Hacken im Namen der Freiheit?

Viele Hacker legen ein Verhalten an den Tag, das das Gegenteil ihrer angeblichen Ziele zeigt – sie kämpfen für Bürgerrechte und wollen in Ruhe gelassen werden, während sie es gleichzeitig lieben, in den geschäftlichen Dingen anderer Leute herumzuschnüffeln. Viele Hacker bezeichnen sich selbst als Bürgerrechtler und behaupten, die Prinzipien der persönlichen Privatsphäre und Freiheit zu respektieren. Aber sie widersprechen sich gleichzeitig, indem sie in die Privatsphäre und das Eigentum anderer eindringen. Häufig stehlen sie das Eigentum und missachten die Rechte anderer, machen aber dann den großen Aufstand, wenn es darum geht, dass ihre eigenen Rechte durch Dritte verletzt worden sind.

Ein klassisches Beispiel ist der Fall von Verletzung des Urheberrechts und der Recording Industry Association of America (RIAA). Hacker sind den ganzen langen Weg gegangen, angefangen beim Verunstalten von Websites von Unternehmen, die die Einhaltung des

Urheberrechts unterstützen, bis hin zum illegalen Bereitstellen von Musik, indem ansonsten legale Medien wie Kazaan, Gbutella und Morpheus benutzt wurden. Verstehe das, wer will.

Auch wenn viele Angriffe nicht auffallen oder nicht aufgezeichnet werden, werden Krimi nelle, die entdeckt wurden, häufig weder verfolgt noch bestraft. Wenn Hacker geschnappt werden, argumentieren sie gerne damit, dass ihr Handeln selbstlos oder für die Allgemeinheit von Vorteil wäre: Sie wollten lediglich auf Schwachstellen hinweisen, bevor das ein anderer macht. Aber unabhängig davon, ob Hacker geschnappt und bestraft werden, sammeln sie im »Ruhm-und-Ehre«-System der Hackerszene wieder einmal Punkte.

Dasselbe gilt für böswillige Benutzer. Normalerweise bleiben ihre Untaten unbemerkt, aber wenn sie geschnappt werden, wird der Bruch der Sicherheiten im »Interesse der Aktionäre« streng geheim gehalten, oder es soll kein Staub aufgewirbelt werden. Aber die aktuellen Gesetze zum Datenschutz und dem Schutz der Privatsphäre haben sich geändert und verlangen, dass Einbrüche in diesen Schutz gemeldet werden müssen. Immer öfter werden diese Personen entlassen oder aufgefordert zu kündigen.

Ob sie es wollen oder nicht, aber die meisten Leitenden eines Unternehmens müssen sich mit den Gesetzen und Erlassen beschäftigen, die mit dem Datenschutz zu tun haben. Damit können sie auch nicht länger mehr die Augen vor externen Hackern, internen Einbrüchen, verloren gegangenen mobilen Geräten oder Datensicherungen schließen. Der Anhang enthält URLs zu Sites, auf denen Sie Informationen zu diesem Thema finden.

Angriffe planen und ausführen

Die Art der Angriffe variiert stark:

Einige Hacker bereiten sich lange vor dem eigentlichen großen Angriff vor. Sie sammeln Informationen ein und bereiten ihre Hacks methodisch vor, wie ich in Kapitel 4 beschreibe. Diese Hacker sind am schwierigsten aufzuspüren.

Andere Hacker – normalerweise die unerfahrenen Skriptkiddies – handeln, bevor sie an die Folgen denken. Diese Art von Hacker könnte zum Beispiel versuchen, direkt über Telnet in den Router eines Unternehmens einzudringen, ohne ihre Identität zu verbergen. Andere Hacker können einen DoS-Angriff gegen einen Microsoft-Exchange-Server starten, ohne zuvor die Exchange-Version oder die auf dem Server vorhandene Patch-Ebene herauszubekommen. Diese Hacker werden normalerweise geschnappt.

Böswillige Benutzer gibt es überall. Einige können aufgrund der Kenntnisse, die sie vom Netzwerk und davon haben, wie die IT-Abteilung intern arbeitet, sehr gerissen vorgehen. Andere stochern und schnüffeln in Systemen herum, in denen sie eigentlich nichts zu suchen haben, und machen häufig so dumme Sachen, dass Sicherheits- und Netzwerkadministratoren die Spuren zu ihnen zurückverfolgen können.

Obwohl Hacker eine Untergrundgesellschaft bilden, teilen viele dieser Hacker – insbesondere die erfahrenen – selten Informationen mit dem Rest der Szene. Die meisten Hacker arbeiten für sich allein, um anonym zu bleiben.

Hacker, die mit anderen über ein Netzwerk verbunden sind, setzen auf private Foren, anonyme E-Mail-Adressen, spezielle Hacker-Websites und Internet Relay Chats (ICR; das sind textbasierte Chat-Systeme). Sie können sich bei vielen dieser Sites anmelden und sehen, was Hacker so tun.

Welche Vorgehensweise die Angreifer auch einschlagen, meistens nutzen sie die Ahnungslosigkeit der anderen aus. Sie wissen, dass Sicherheit im echten Leben eigentlich so aussieht:

Die meisten Computersysteme werden nicht sauber verwaltet. Die Computersysteme sind softwaretechnisch nicht auf dem neuesten Stand, nicht wirklich geschützt oder nicht protokolliert. Angreifer können das Radar einer durchschnittlichen Firewall, eines Intrusion Prevention Systems (IPS; ein System zum Verhindern eines Eindringens) oder eines Zugriffskontrollsystems häufig unterfliegen. Dies gilt besonders für böswillige Benutzer, deren Handlungen häufig überhaupt nicht protokolliert werden, während sie gleichzeitig vollen Zugriff auf alles haben.

Die meisten Netzwerk- und Sicherheitsadministratoren können einfach nicht mit der Flut neuer Schwachstellen und Angriffsmethoden mithalten. Sie haben häufig zu viele Aufgaben, um die sie sich kümmern, und zu viele Brandherde, die sie löschen müssen. Netzwerk- und Sicherheitsadministratoren machen auch deswegen Fehler beim Erkennen von oder Reagieren auf Angriffe, weil ihr Zeitmanagement schlecht ist und sie die falsche Zielsetzung vor Augen haben – aber das ist ein anderes Thema.

Informationssysteme wachsen jedes Jahr mehr und mehr. Dies ist ein weiterer Grund, warum überlastete Administratoren Probleme haben zu wissen, was in den Kabeln und auf den Festplatten geschieht. Mobile Geräte wie Laptops, Tablets und Handys machen das alles noch schlimmer.

Die Zeit ist ein Freund der Hacker – und sie ist so gut wie immer auf seiner Seite. Indem ein Angriff über Computer und nicht persönlich erfolgt, haben Hacker eine größere Kontrolle über die zeitlichen Abläufe ihrer Angriffe:

Angriffe können langsam ausgeführt werden, was es schwieriger macht, sie zu entdecken.

Angriffe werden oft nach den typischen Bürozeiten vorgenommen – häufig mitten in der Nacht oder – im Fall der böswilligen Benutzer von zu Hause aus. Verteidigungsmaßnahmen werden häufig nach den Bürozeiten zurückgefahren, wenn der normale Netzwerkadministrator zu Bett gegangen ist – es gibt weniger physische Sicherheiten und kaum Protokollierung.

Wenn Sie detailliertere Informationen darüber haben wollen, wie einige Hacker arbeiten, oder wenn Sie bei den neuesten Hacking-Methoden auf dem Laufenden bleiben wollen, lohnt es sich, einige dieser Magazine anzuschauen:

Chaos Computer Club – Die Datenschleuder, die auch für Nichtmitglieder abonnierbare Mitgliederzeitung (www.ccc.de)

2600 – The Hacker Quarterly (www.2600.com)

(IN)SECURE Magazine (www.net-security.org/insecuremag.php)

Angreifer lernen normalerweise aus ihren Fehlern. Jeder Fehler bringt sie ein Stück weiter, wenn es um das Einbrechen in ein System geht. Sie verwenden dieses Wissen, um weitere Angriffe vorzubereiten. Sie müssen als ethischer Hacker genauso vorgehen.

Anonym bleiben

Kluge Angreifer verhalten sich so unauffällig wie möglich. Ihr Hauptaugenmerk ist darauf gerichtet, ihre Spuren zu verwischen, und häufig hängt ihr Erfolg davon ab, dass sie unbemerkt bleiben. Sie wollen vermeiden, dass jemand Verdacht schöpft, damit sie zurückkommen und auch zukünftig auf das System zugreifen können. Hacker bleiben oft dadurch anonym, dass sie eine dieser Ressourcen verwenden:

Ausgeliehene oder gestohlene Remotedesktop- oder VPN-Konten von Freunden und ehemaligen Mitarbeitern
öffentliche Computer in Bibliotheken, Schulen oder Flughäfen
offene drahtlose Netzwerke

Internet-Proxyserver oder Anonymisierungsdienste
offene E-Mail-Relays (Weiterleitungsdienste)

infizierte Computer – die auch Zombies oder Bots genannt werden – anderer Firmen

Arbeitsstationen oder Server aus dem Netzwerk des Opfers

Wenn Hacker bei ihren Angriffen genügend Stolpersteine verwenden, ist es sehr schwierig, sie aufzuspüren. Glücklicherweise ist einer Ihrer größten Unruhestifter – der böswillige Benutzer – im Allgemeinen nicht mit ganz so viel Grips ausgestattet: Wobei dies aber nur gilt, wenn es sich dabei nicht um einen aktiven Netzwerk- oder Sicherheitsadministrator handelt.

3

Einen Plan für das ethische Hacken entwickeln

In diesem Kapitel ...

Ziele für das ethische Hacken festlegen

Die zu testenden Systeme auswählen

Eigene Teststandards für das ethische Hacken entwickeln

Sie müssen als Sicherheitsfachmann ihre Hacking-Anstrengungen planen, bevor Sie damit beginnen. Ein detaillierter Plan bedeutet jetzt aber nicht, dass Ihre Tests in allen Einzelheiten ausgearbeitet sein müssen. Das heißt nur, dass Ihnen klar ist und Sie genau wissen, was Sie tun. Da ethisches Hacken schon eine gewisse Bedeutung hat, sollte dieser Vorgang so strukturiert wie möglich ablaufen.

Selbst wenn Sie nur eine einzelne Webanwendung oder Arbeitsgruppe von Computern testen, ist es wichtig, dass Sie Ihre Zielsetzung festlegen, indem Sie das vorgeben und dokumentieren, was Sie testen wollen, Ihre Teststandards definieren und die Werkzeuge, die Sie benötigen, zusammensuchen und sich mit ihnen vertraut machen. Dieses Kapitel behandelt diese Schritte, um Ihnen zu helfen, eine positive Umgebung für ein erfolgreiches ethisches Hacken zu schaffen.

Achten Sie immer darauf, dass Sie die Genehmigung Ihrer Geschäftsleitung, Ihres Vorgesetzten oder Ihres Kunden haben, bevor Sie damit beginnen, Ihren Plan für ein ethisches Hacken umzusetzen.

Benötigen Sie eine Versicherung?

Wenn Sie ein unabhängiger Berater sind oder ein Team von ethischen Hackern leiten, sollten Sie versuchen, eine Berufshaftpflichtversicherung abzuschließen. Eine solche Versicherung kann teuer sein, ist aber wie jede Versicherung im Schadensfall ihr Geld wert. Viele Kunden verlangen sogar einen Nachweis dieses Versicherungsschutzes, bevor sie Sie engagieren.

Eine Zielrichtung vorgeben

Sie können kein Ziel treffen, das Sie nicht sehen. Ihr Plan für das ethische Hacken benötigt eine Zielrichtung. Das Hauptziel des ethischen Hackens ist, die Schwachstellen Ihrer Systeme herauszufinden, damit Sie diese sicherer machen können. Sie können dann noch einen Schritt weiter gehen:

Legen Sie genaue Ziele fest. Richten Sie diese Ziele an den Unternehmenszielen aus. Was möchten Sie und die Geschäftsleitung bei diesen Abläufen erreichen? Welche Leistungskriterien wollen Sie verwenden, damit die Tests optimale Ergebnisse liefern?

Erstellen Sie einen Zeitplan, der nicht nur ein Anfangs- und ein Enddatum, sondern auch die Zeiten enthält, zu denen Sie testen wollen. Diese Datums- und Zeitangaben sind wichtige Bestandteile Ihres Übersichtsplans.

Bevor Sie mit dem ethischen Hacken beginnen, muss alles schriftlich positiv bestätigt und abgesegnet sein. Dokumentieren Sie alles, und binden Sie die Geschäftsleitung in den Prozess ein. Der beste Partner bei Ihrem ethischen Hacken ist ein Geschäftsführer, der hinter dem steht, was Sie machen.

Die folgenden Fragen können als Starthilfe dienen, wenn Sie die Ziele für Ihr ethisches Hacken festlegen:

Unterstützt ethisches Hacken das Unternehmen und seine IT- und Sicherheitsabteilungen?

Welche Unternehmensziele werden durch ethisches Hacken erfüllt? Zu diesen Zielen könnten folgende Punkte gehören:

• Vorbereitung für den international akzeptierten Sicherheitsstandard ISO/IEC 27002:2005

• Arbeiten an einer Auditierung nach Statement on Standards for Attestation Engagements (SSAE) 16, an den sich unter bestimmten Voraussetzungen auch international tätige deutsche Firmen halten müssen

• Einhaltung bundes- und landesspezifischer Datenschutzgesetze und der entsprechenden Richtlinien

• Einhaltung vertraglicher Anforderungen von Kunden oder Geschäftspartnern

• Verbesserung des Firmenbildes

Wie kann ethisches Hacken die Sicherheit, die IT und ganz allgemein die Geschäfte verbessern?

Welche Informationen möchten Sie schützen? Dabei kann es sich um Gesundheitsdaten von Mitarbeitern, geistiges Eigentum, vertrauliche Kundendaten oder private Informa tionen über Mitarbeiter handeln.

Wie viel Geld, Zeit und Einsatz sind Sie und das Unternehmen bereit, für das ethische Hacken einzusetzen?

Mit welchen besonderen Ergebnissen kann gerechnet werden? Zu diesen Ergebnissen kann sehr viel gehören: von einem eingehenden Ausführungsbericht bis hin zu detaillierten technischen Berichten, kritische Auflistungen dessen, was Sie getestet haben, die entsprechenden Testergebnisse und so weiter. Sie können genaue Informationen darüber liefern, was Sie während Ihrer Tests herausgefunden haben (wie Kennwörter und andere vertrauliche Daten).

Welche Ergebnisse möchten Sie genau erzielen? Zu diesen Ergebnissen gehören zum Beispiel die Rechtfertigung dafür, einen Sicherheitsbeauftragten einzustellen oder dieses Thema extern zu vergeben, das Budget für die Sicherheit zu erhöhen, das Befolgen von Sicherheitsvorschriften zu verbessern oder Sicherheitssysteme auszuweiten.

Wenn Sie Ihre Ziele kennen, dokumentieren Sie alle Schritte, um dorthin zu gelangen. Wenn etwa ein Ziel ist, einen Vorsprung im Wettbewerb zu erreichen, um bestehende Kunden zu halten und neue hinzuzugewinnen, legen Sie die Antworten auf diese Fragen fest:

Wann werden Sie mit dem ethischen Hacken beginnen?

Wird Ihr ethische Hacken blind vonstattengehen, wobei Sie nichts von den Systemen wissen, die Sie testen, oder wissensbasiert, wobei Sie über Informationen wie IP-Adressen, Hostnamen und eventuell sogar Benutzernamen und Kennwörter der zu testenden Systeme verfügen?

Werden die Tests vom Prinzip her technischer Natur sein und eine physische Sicherheitsüberprüfung enthalten, oder verwenden Sie sogar Sozialtechniken (das sogenannte Social Engineering)?

Werden Sie Teil eines größeren Teams ethischer Hacker sein? (Ein solches Team wird auch Tiger Team genannt.)

Werden Sie die von den Tests betroffenen Personen darüber unterrichten, was Sie machen und wann Sie das tun? Wenn ja, wie soll dies geschehen?

Die Information des Kunden ist ein wichtiger Punkt. Viele Kunden begrüßen es, dass Sie Schritte unternehmen, um ihre Daten zu schützen. Kündigen Sie die Tests positiv an. Sagen Sie nicht: »Wir wollen in Ihre Systeme einbrechen, um herauszufinden, welche Ihrer Daten von Hackern angegriffen werden könnten.« Selbst wenn es genau das ist, was Sie vorhaben. Sie könnten zum Beispiel sagen, dass Sie allgemein die Sicherheitseinrichtungen der Systeme des Kunden prüfen wollen, damit seine Daten so sicher wie möglich sind.

Wie können Sie herausbekommen, ob das Thema einen Kunden überhaupt interessiert?

Wie können Sie Ansprechpartner einer Niederlassung darüber informieren, dass die Zentrale Schritte ergreift, um die Sicherheit der Daten zu verbessern?

Welche Maßnahmen können dafür sorgen, dass Sie auch bezahlt werden?

Das Festlegen der Ziele kostet zwar Zeit, die aber alles andere als vergeudet ist. Diese Ziele sind Ihr Fahrplan. Wenn Sie dann irgendwann einmal unsicher werden sollten, denken Sie an diese Ziele, um wieder in die Spur zurückzufinden.

Festlegen, welche Systeme gehackt werden sollen

Eventuell wollen – oder müssen – Sie nicht die Sicherheit aller Systeme gleichzeitig testen, denn dies kann zu einem ziemlichen Unterfangen werden und Probleme hervorrufen. Ich empfehle nicht, dass Sie darauf verzichten sollten, alle Computer und Anwendungen zu überprüfen. Ich schlage nur vor, dass Sie Ihre Projekte des ethischen Hackens aufteilen sollten, damit sie besser zu handhaben sind. Eine Risikoanalyse kann dabei helfen zu entscheiden, welche Systeme zu testen sind. Dabei helfen diese Fragen:

Welches sind Ihre wichtigsten Systeme? Welche Systeme rufen die größten Probleme hervor oder auf welchen Systemen könnten die wichtigsten Daten verloren gehen, wenn unberechtigt darauf zugegriffen wird?

Welche Systeme scheinen am angreifbarsten zu sein?

Welche Systeme stürzen am häufigsten ab?

Bei welchen Systemen gibt es keine Dokumentation, welche werden nur selten administriert oder welche kennen Sie am wenigsten?

Nachdem Sie Ihre generelle Zielsetzung festgelegt haben, müssen Sie entscheiden, welche Systeme getestet werden sollen. Dieser Schritt hilft dabei, einen Rahmen für Ihr ethisches Hacken zu definieren, damit Sie von Anfang an auf die Erwartungen aller Beteiligten eingehen und den Zeitaufwand und die benötigten Ressourcen besser einschätzen können.

Die folgende Liste enthält Geräte, Systeme und Anwendungen, die Sie bei Ihren Überlegungen, was zum Test gehackt werden soll, einbeziehen können:

Router und Switches

Firewalls
drahtlose Zugriffspunkte

Web-, Anwendungs- und Datenbankserver

E-Mail- und Dateiserver

Mobile Geräte (wie Smartphones und Tablets), auf denen vertrauliche Daten abgelegt sind

Betriebssystem für Arbeitsstationen und Server

Welche Systeme Sie im Einzelnen testen sollten, hängt von verschiedenen Faktoren ab. Wenn Sie ein kleines Netzwerk haben, können Sie alles testen. Sie könnten aber auch darüber nachdenken, nur die nach außen gerichteten Hosts wie E-Mail- und Webserver und die ihnen zugeordneten Anwendungen zu testen. Der Prozess des ethischen Hackens ist flexibel. Nehmen Sie als Grundlage für Ihre Entscheidung das, was für das Unternehmen am sinnvollsten ist.

Beginnen Sie bei dem System, das am angreifbarsten ist, und bedenken Sie dabei Folgendes:

Wo befinden sich der Computer oder die Anwendung im Netzwerk?

Welches Betriebssystem oder welche Anwendungen laufen auf dem System?

Welcher Art sind die wichtigen Informationen, die auf dem System abgelegt sind, oder was ist ihr Volumen?

Antworten auf diese Fragen stammen eventuell aus einer früheren Risikoanalyse, einem Schwachstellentest oder einer Analyse dessen, was Auswirkungen auf die Geschäfte des Unternehmens haben könnte. In diesem Fall kann eine solche Dokumentation helfen, die Systeme zu identifizieren, die getestet werden müssen. Eine weitere Möglichkeit dieser Art ist die Failure Mode and Effects Analysis (FMEA; deutsch Fehlermöglichkeits- und Einflussanalyse oder Auswirkungsanalyse).

Angriffsbäume

Bei einer Analyse mit Angriffsbäumen handelt es sich um einen Vorgang, bei dem eine Art Flussdiagramm davon erstellt wird, wie Angreifer gegen ein System vorgehen könnten. Angriffsbäume werden gerne bei hochwertigen Risikoanalysen und von sicherheitsbewussten Entwicklungsteams verwendet, wenn ein neues Softwareprojekt ansteht. Wenn Sie Ihr ethisches Hacken dadurch intensivieren wollen, dass Sie Ihre Angriffe sorgfältig planen, sehr methodisch vorgehen und von Anfang an wirklich professionell durchführen, sind Angriffsbäume genau das Werkzeug, das Sie benötigen.

Der einzige Nachteil ist, dass das Zeichnen von Angriffsbäumen viel Zeit in Anspruch nimmt und eine sorgfältige Untersuchung verlangt. Aber warum wollen Sie Schweiß vergießen, wenn Sie einen Großteil der Arbeit dem Computer überlassen können? Ein kommerzielles Werkzeug, das Secur/Tree heißt und von Amenaza Technologies Limited stammt (www.amenaza.com), ist auf Angriffsbäume spezialisiert und sollte in jeder Werkzeugkiste eines ernsthaft arbeitenden Sicherheitsteams zu finden sein. Die folgende Abbildung zeigt ein Beispiel eines Secur/Tree-Angriffsbaums.

Ethisches Hacken geht einige Schritte weiter, als bei einer intensiven Überprüfung von Datenrisiken und einer Schwachstellenanalyse stehen zu bleiben. Sie beginnen als ethischer Hacker häufig damit, dass Sie Informationen über alle Systeme – einschließlich des Unternehmens als Ganzes – einholen und sich dann auf die Systeme konzentrieren, die am angreifbarsten erscheinen. Aber noch einmal, dieser Prozess ist nicht starr. Ich gehe in Kapitel 4 genauer auf die Methodik des ethischen Hackens ein.

Ein anderer Punkt, der Ihnen hilft, zu entscheiden, womit Sie beginnen sollen, ist ein Überprüfen der Systeme, die die größte Außenwirkung haben. So kann es zum Beispiel – zumindest am Anfang – sinnvoller sein, sich auf einen Datenbank- oder Dateiserver zu konzentrieren, auf dem Kunden- oder andere wichtige Daten liegen, als sich um eine Firewall oder einen Webserver zu kümmern, der Marketinginformationen verwaltet.

Teststandards erstellen

Ein Missverständnis oder eine Panne kann dazu führen, dass die Systeme während Ihrer Tests abstürzen. Niemand möchte, dass so etwas geschieht. Und um Fehler zu vermeiden, sollten Sie Teststandards entwickeln und dokumentieren. Zu diesen Standards ge-hören:

wann die Tests durchgeführt werden und eine ausführliche Zeitplanung
welche Tests durchgeführt werden
welche Kenntnisse des Systems Sie im Vorfeld haben müssen
wie und von welcher IP-Adresse aus die Tests durchgeführt werden (wenn die Zugriffe über das Internet erfolgen)

was zu tun ist, wenn Sie eine größere Schwachstelle finden

Dies ist eine Liste mit Erfahrungswerten – Sie können für die spezielle Situation, auf die Sie stoßen, weitere Standards hinzufügen. Die folgenden Abschnitte gehen tiefer auf die oben aufgeführten Punkte ein.

Zeitliche Planung

Alles ist nur eine Frage der zeitlichen Planung. Das ist ganz besonders dann wahr, wenn Sie Tests mit ethischem Hacken durchführen. Sorgen Sie dafür, dass Ihre Tests so wenig Störungen wie möglich im geschäftlichen Alltagsleben, bei den Informationssystemen und den Menschen hervorrufen. Sie müssen schädliche Situationen vermeiden, zu denen zum Beispiel eine fehlerhafte Übermittlung der zeitlichen Abläufe der Tests, DoS-Angriffe gegen eine voll ausgelastete geschäftliche Website mitten am Tag oder mitternächtliche Tests zum Knacken von Kennwörtern gehören. Sie glauben gar nicht, was zwölf Stunden Differenz (nachmittags versus nachts) ausmachen können, wenn Sie Ihre Systeme testen. Und vergessen Sie im internationalen Umfeld unterschiedliche Zeitzonen nicht! Jeder, der an dem Projekt beteiligt ist, muss einem detaillierten Zeitplan zustimmen, bevor Sie beginnen. Dadurch, dass alle Mitglieder des Teams ihr Einverständnis mit dem Plan erklären, ist sichergestellt, dass alle auch über denselben Wissensstand verfügen und sich mit der richtigen Erwartungshaltung an die Arbeit machen.

Benachrichtigen Sie gegebenenfalls Ihren Internetdienstanbieter (ISP – Internet Service Provider). Dieser verfügt in der Regel über Firewalls und Systeme zum Entdecken (Intrusion Detection Systems oder IDS) oder zum Verhindern von Eindringlingen (Intrusion Prevention System oder IPS), um böswilliges Verhalten zu entdecken. Wenn Ihr ISP von Ihren Tests weiß, ist die Wahrscheinlichkeit gering, dass Ihr Verkehr blockiert wird.

Ihre Zeitplanung für die Tests sollte Datums- und Zeitangaben jedes einzelnen Tests enthalten, das Anfangs- und das Enddatum und alle Meilensteine dazwischen. Sie können Ihren Zeitplan als einfaches Arbeitsblatt einer Tabellenkalkulation oder als Gantt-Diagramm entwickeln und pflegen. Sie sollten Ihren Zeitplan auch in Ihr Angebot an Ihren Kunden und in den Vertrag aufnehmen. Ein Zeitplan wie das folgende Beispiel macht vieles einfacher und sorgt während der Tests für etwas, auf das gegebenenfalls verwiesen werden kann:

Tests gezielt ablaufen lassen

Sie könnten gebeten worden sein, allgemein zu testen, ob in ein System eingedrungen werden kann, oder Sie möchten einen besonderen Test durchführen, zum Beispiel das Knacken von Kennwörtern oder Zugang zu einer Webanwendung erhalten. Oder Sie führen einen Social-Engineering-Test durch oder überprüfen Windows im Netzwerk. Aber unabhängig davon, was Sie testen, möchten Sie die Eigenarten der Tests nicht unbedingt offenlegen. Trotzdem sollten Sie auch dann alles, was Sie machen, ausführlich dokumentieren, wenn Ihre Geschäftsleitung oder Ihr Kunde das nicht verlangt. Eine Dokumentation Ihrer Tests kann verhindern, dass es möglicherweise zu Missverständnissen kommt oder Sie sich böse die Finger verbrennen.

Wenn Sie auf den Systemen, die Sie testen, eine Protokollierung einrichten, wird offen gezeigt, was Sie wann testen. Sie können auch Bildschirmaktionen aufzeichnen, indem Sie ein Werkzeug wie Camtasia Studio von TechSmith verwenden (www.techsmith.de/camtasia.html).

Manchmal kennen Sie die allgemeinen Abläufe der Tests, die Sie durchführen, aber wenn Sie automatisierte Werkzeuge verwenden, kann es fast unmöglich sein, jeden einzelnen Test vollständig zu verstehen. Dies gilt ganz besonders dann, wenn die Software, die Sie verwenden, jedes Mal dann durch den Hersteller aktualisiert wird, wenn Sie sie für die Analyse von Schwachstellen verwenden. Die Möglichkeit häufiger Programmaktualisierungen unterstreicht, wie wichtig es ist, die Dokumentation und Readme-Dateien zu lesen, die es zusammen mit den eingesetzten Werkzeugen gibt.

Ich bin einmal mit einem aktualisierten Programm böse auf die Nase gefallen. Ich führte eine automatische Prüfung der Website eines Kunden durch – es handelte sich dabei um denselben Test, den ich eine Woche zuvor schon einmal gemacht hatte. Der Kunde und ich hatten das Testdatum und die Testzeit im Voraus festgelegt. Was ich nicht wusste, war, dass der Hersteller der Software Änderungen an den Tests für die Eingabe in Webformulare vorgenommen hatte. Das führte dann dazu, dass ich die Webanwendung des Kunden unglücklicherweise überflutete, indem ich eine DoS-Bedingung schuf.

Glücklicherweise kam es erst nach Geschäftsschluss zu dieser DoS-Bedingung und beeinträchtigte die Handlungsfähigkeit meines Kunden nicht. Die Webanwendung des Kunden war so geschrieben worden, dass jedes Mal, wenn ein solches Formular ausgefüllt wurde, eine E-Mail als Benachrichtigung abgeschickt wurde. Dadurch erhielten der Entwickler und der Inhaber des Unternehmens innerhalb von zehn Minuten 4.000 E-Mails – das war dumm gelaufen. Ich konnte nur froh sein, dass der Inhaber des Unternehmens technisch interessiert war und mit der Situation umgehen konnte. Die Erfahrung, die ich dabei sammeln durfte, ist ein perfektes Beispiel dafür, was passieren kann, wenn man nicht weiß, wie ein Werkzeug standardmäßig konfiguriert ist und was es dadurch macht. Ich hatte das Glück, dass der Direktor technikbegeistert war und die Situation verstand. Denken Sie daran, für Situationen wie diese einen Ausweichplan zu haben. Und weisen Sie die Beteiligten darauf hin, dass es immer mal wieder zu Problemen kommen kann, und zwar selbst dann, wenn die Vorbereitungen noch so gut gewesen sind.

Blinde oder Überprüfung mit Kenntnissen

Es ist eigentlich niemals schlecht, die Systeme, die Sie testen wollen, zumindest in den Grundzügen zu kennen. So etwas ist zwar keine Voraussetzung, aber ein grundsätzliches Verständnis der Systeme, die Sie hacken wollen, kann Sie und andere schützen. Es sollte nicht schwierig sein, sich diese Kenntnisse anzueignen, wenn es beim Hacken um Ihre eigenen Systeme geht. Wenn Sie aber die Systeme von Kunden hacken, müssen Sie vielleicht ein wenig tiefer graben, um herauszufinden, wie die Systeme funktionieren, damit Sie mit ihnen auch umgehen können.

Die beste Vorgehensweise sieht so aus, dass Sie mit unbegrenzten Angriffen planen, wodurch es möglich wird, alles – einschließlich DoS – zu testen. Die Bösewichte durchforsten Ihre Systeme schließlich auch nicht in einem begrenzten Rahmen, warum also sollten Sie so vorgehen?

Sie sollten ernsthaft darüber nachdenken, die Tests so durchzuführen, dass sie von Netzwerkadministratoren und Dienstanbietern nicht entdeckt werden. Auch wenn diese Vorgehensweise kein Muss ist, sollten Sie sie gerade bei Social-Engineering- und bei physischen Sicherheitstests in Erwägung ziehen. Ich gehe in den Kapiteln 5 und 6 auf Tests für diese beiden Besonderheiten ein.

Wenn zu viele Insider von Ihren Tests wissen, könnten diese Leute ein falsches Gefühl für Wachsamkeit entwickeln, indem sie ihr Verhalten ändern. Dies führt dann dazu, dass die gesamte Arbeit, die Sie in die Tests gesteckt haben, sinnlos war. Das bedeutet nun nicht, dass Sie niemandem davon erzählen dürfen. Sie benötigen innerhalb eines Unternehmens immer einen zentralen Ansprechpartner – bevorzugterweise jemanden mit Entscheidungsbefugnissen.

Den Standort wählen

Letztendlich bestimmen die Tests, die Sie durchführen, von wo aus das geschehen muss. Ihr Ziel ist es, die Systeme von Orten aus zu testen, von denen aus auch böswillige Hacker oder Mitarbeiter zugreifen könnten. Sie können nicht vorhersehen, ob ein Angriff von innerhalb oder von außerhalb Ihres Netzwerks erfolgt, weshalb Sie beides abdecken müssen. Verbinden Sie externe Tests (des öffentlichen Internets) mit internen (des firmeneigenen Netzwerks).

Sie können einige Tests wie das Knacken von Kennwörtern und die Überprüfung der Infrastruktur des Netzwerks von Ihrem Büro aus erledigen. Für externe Hacks, die eine Verbindung mit dem Netzwerk verlangen, müssen Sie sich entweder »nach draußen« begeben (was eine gute Ausrede dafür ist, von zu Hause aus zu arbeiten) oder einen externen Proxy-Server verwenden. Einige Schwachstellenscanner (wie QualyGuard) laufen aus der Cloud heraus, was also auch eine Lösung wäre. Besser noch ist es, wenn Sie Ihrem Computer eine öffentliche IP-Adresse zuweisen und sich einfach in das Netzwerk außerhalb Ihrer Firewall einklinken können, um von dort mit den Augen eines Hackers einen Blick auf Ihre Systeme zu werfen. Dazu benötigen Sie eigentlich nur eine DSL-Leitung oder ein Kabelmodem, die beziehungsweise das bereits für Besucher oder ähnliche Benutzer vorhanden ist.

Auf die Schwachstellen reagieren, die Sie finden

Sie sollten vorher festlegen, was Sie machen, wenn Sie ein kritisches Sicherheitsloch finden sollten: die Tests abbrechen oder weitermachen? Sie müssen das Hacken nicht auf ewig fortsetzen oder bis Sie alle Systeme zum Absturz gebracht haben. Folgen Sie einfach nur Ihrem Weg, bis ein weiteres Hacken keinen Sinn mehr macht. Wenn Ihnen dabei Zweifel kommen, sollten Sie sich an die vorher definierten Ziele erinnern und aufhören, wenn Sie diese erreicht haben.

Wenn Sie ein größeres Sicherheitsloch finden, empfehle ich, so schnell wie möglich die entsprechenden Personen zu kontaktieren, damit diese so schnell wie möglich mit der Beseitigung der Schwachstelle beginnen können. Wenn Sie mit der Benachrichtigung ein paar Tage oder Wochen warten, könnte jemand die Sicherheitsschwäche ausnutzen und einen Schaden verursachen, der hätte verhindert werden können.

Törichte Annahmen

Wenn Sie ein System hacken, unterstellen Sie bestimmte Dinge wie diese Beispiele hier:

Computer, Netzwerke und Menschen stehen dann zur Verfügung, wenn Sie testen.

Sie besitzen all die schönen Testwerkzeuge.

Die Testwerkzeuge, die Sie verwenden, minimieren die Wahrscheinlichkeit, dass die Systeme, die Sie testen, abstürzen.

Es ist Ihnen klar, dass wahrscheinlich vorhandene Schwachstellen nicht gefunden werden oder dass Sie die Testwerkzeuge nicht ganz richtig einsetzen.

Sie kennen alle Risiken, die sich hinter Ihren Tests verbergen.

Dokumentieren Sie alle diese Annahmen und lassen Sie sich dies von Ihrer Geschäftsleitung oder dem Kunden als Teil des gesamten Genehmigungsverfahrens abzeichnen.

Werkzeuge für eine Sicherheitsüberprüfung auswählen

Welche Werkzeuge Sie für eine Sicherheitsüberprüfung benötigen, hängt von den Tests ab, die Sie vorhaben. Manche Hacking-Tests können Sie in Turnschuhen, einem Telefon und einem einfachen Computer durchführen, aber meist erleichtern Hacking-Werkzeuge das Testen ungemein.

Die Werkzeuge, die in diesem Buch vorgestellt werden, sind keine Malware, auch wenn es Antimalware und Webfilter gibt, die sie und ihre Websites für so etwas halten. Die Werkzeuge, die hier behandelt werden, sind legale Werkzeuge. Wenn es beim Herunterladen, Installieren und/oder Verwen-den dieser Werkzeuge Probleme geben sollte, müssen Sie Ihr System so einrichten, dass die Probleme aufhören. Arbeiten Sie so weit wie möglich mit Prüfsummen, indem Sie die ursprünglichen MD5- oder SHA-Werte mit denen vergleichen, die Sie mit einem Werkzeug wie CheckSum Tool (http://sourceforge.net/projects/checksumtool) verwenden. Ein Krimineller könnte in einem Werkzeug jederzeit Malware versteckt haben – es gibt also auch hier keine Sicherheitsgarantie.

Wenn Sie sich nicht sicher sind, welche Werkzeuge Sie einsetzen sollten, müssen Sie sich keine Gedanken machen. Ich stelle in diesem Buch ein breites Spektrum an Werkzeugen – sowohl kommerzielle als auch kostenlose – vor, die Sie verwenden können, um Ihre Aufgaben zu erledigen. Kapitel 1 enthält eine Liste kommerzieller, kostenloser und Open-Source-Werkzeuge. Im Anhang gibt es als Referenz eine komprimierte Liste mit Werkzeugen.

Es ist wichtig zu wissen, was jedes Werkzeug kann und was es nicht kann, und wie Sie es verwenden können. Ich empfehle Ihnen, sich das entsprechende Handbuch sowie andere Hilfe-Dateien durchzulesen. Unglücklicherweise haben einige dieser Werkzeuge nur eine Minidokumentation, was frustrierend sein kann. Wenn Sie mit einem Werkzeug nicht weiterkommen, haben Sie immer noch die Möglichkeit, in Foren zu suchen und eine Anfrage zu veröffentlichen.

Hacking-Werkzeuge können der Gesundheit Ihres Netzwerks abträglich sein. Seien Sie vorsichtig, wenn Sie sie verwenden. Sorgen Sie immer dafür, dass Sie verstehen, was die einzelnen Einstellungen bewirken, bevor Sie sie benutzen. Probieren Sie Ihre Werkzeuge zuerst an Testsystemen aus, wenn Sie nicht wirklich sicher sind, wie Sie sie einsetzen können. Diese Vorsichtsmaßnahme verhindert auf Ihren Systemen DoS-Bedingungen und Datenverluste.

Vielleicht haben Sie Vorbehalte gegen Freeware- und Open-Source-Werkzeuge. Wenn Ihnen diese Werkzeuge mehr Kopfschmerzen bereiten, als sie wert sind, oder nicht das tun, was Sie von ihnen erwarten, sollten Sie darüber nachdenken, kommerzielle Alternativen zu kaufen. Deren Bedienung ist häufig einfacher, und sie erstellen höherwertigere Ausführungsberichte. Einige dieser kommerziellen Werkzeuge sind sehr teuer, aber sie sind einfach zu verwenden und spielen ihre Kosten schnell wieder ein.

4

Die Methodik des Hackens

In diesem Kapitel ...

Die Schritte für ein erfolgreiches ethisches Hackens untersuchen

Informationen im Internet über das eigene Unternehmen sammeln

Das eigene Netzwerk scannen

Schwachstellen suchen

Bevor Sie kopfüber in das ethische Hacken springen, ist es wichtig, dass Sie sich eine methodische Vorgehensweise zulegen, die als Arbeitsplattform dient. Zum ethischen Hacken gehört mehr als nur das Eindringen in oder Verbinden mit einem System oder Netzwerk. Erprobte Techniken helfen dabei, Sie zu führen, und sorgen dafür, dass Sie an das richtige Ziel gelangen. Indem Sie eine Vorgehensweise verwenden, die Sie beim ethischen Hacken unterstützt, trennen Sie die Spreu (die Amateure) vom Weizen (Ihnen) und machen dabei das Beste aus Ihrer Zeit und Ihren Anstrengungen.

Die Bühne für das Testen vorbereiten

In der Vergangenheit gehörte zum ethischen Hacken viel Handarbeit. Heutzutage können Schwachstellenscanner verschiedene Aufgaben wie das Durchführen der Tests, Erstellen von Berichten und Beseitigung von Mängeln automatisiert erledigen. Diese Werkzeuge geben Ihnen die Möglichkeit, sich mehr auf das Durchführen der Tests als auf die einzelnen Schritte zu konzentrieren. Aber eine methodische Vorgehensweise und das Verstehen der Dinge, die hinter der Bühne ablaufen, helfen ungemein.

Das ethische Hacken hat vieles mit den Betatests von Software gemeinsam. Gehen Sie logisch vor – wie ein Programmierer, ein Radiologe oder ein Gebäudegutachter –, um alle Systemkomponenten zu analysieren und um herauszufinden, wie sie funktionieren. Sie erhalten die Informationen häufig nur bröckchenweise und müssen die so gewonnenen Teile dann wie bei einem Puzzle zusammensetzen. Sie beginnen an Punkt A und haben verschiedene Ziele im Kopf, lassen diverse Tests ablaufen und nähern sich einem Ziel, bis Sie schließlich an Punkt B angekommen sind und die Schwachstellen in der Sicherheit enthüllen können.

Die Abläufe beim ethischen Hacken sind im Prinzip dieselben wie diejenigen, die ein böswilliger Hacker anwendet. Die grundsätzlichen Unterschiede sind die Zielsetzung und wie Sie sie erreichen. Heutzutage können Angriffe gegen Ihr System aus jeder Ecke kommen, und zwar nicht nur aus dem Umfeld Ihres Netzwerks und dem Internet, wie Sie vielleicht einmal gelernt haben. Testen Sie jeden möglichen Eingang – einschließlich Partner-, Lieferanten- und Kundennetzwerke sowie Benutzer, die von zu Hause aus arbeiten, drahtlose LANs und mobile Geräte. Jedes menschliche Wesen, jeder Computer und jede Komponente, die Ihre Computersysteme schützt, sind sowohl innerhalb als auch außerhalb der Firmengebäude Freiwild.

Wenn Sie mit Ihrem ethischen Hacken loslegen, protokollieren Sie die Tests, die Sie durchführen, die Werkzeuge, die Sie dabei einsetzen, und die erzielten Ergebnisse. Diese Informationen können Ihnen dabei helfen, das Folgende zu erledigen:

nachhalten, was in früheren Tests funktioniert hatte und warum das der Fall war
helfen zu beweisen, was Sie getan haben

Ihre Testergebnisse mit Systemen zum Entdecken von Eindringlingen und anderen Protokolldateien abgleichen, wenn es zu Problemen kommt oder Fragen auftauchen
das dokumentieren, was Sie gefunden haben

Zusätzlich zum Erfassen allgemeiner Notizen kann es hilfreich sein, von Ihren Ergebnissen so weit wie möglich Bildschirmfotos zu machen (zum Beispiel mit einem Werkzeug wie SnagIt). Diese können sehr wichtig werden, wenn Sie nachweisen müssen, was eigentlich geschehen ist, und sie können nützlich sein, wenn Sie Ihren Abschlussbericht schreiben. Außerdem könnten diese Bildschirmfotos – abhängig von den eingesetzten Werkzeugen – in Ihrem Abschlussbericht eventuell Ihr einziger Nachweis von Schwachstellen und Exploits (den Programmen, die eine Sicherheitslücke in Computersystemen ausnutzen) sein. Kapi-tel 3 listet die allgemeinen Schritte auf, die zum Erstellen und Dokumentieren eines Plans für das ethische Hacken gehören.

Ihre Hauptaufgabe ist es, zu simulieren, wie jemand mit böswilligen Absichten Informationen zusammensucht und Systeme gefährdet. Bei dieser Aufgabe kann es sich um einen Teilangriff auf einen einzelnen Computer oder einen umfangreichen Angriff auf das gesamte Netzwerk handeln. Im Allgemeinen halten Sie nach Schwachstellen Ausschau, die böswillige Benutzer und externe Angreifer ausnutzen könnten. Sie sollen interne Systeme (Abläufe und Prozeduren, die Computer, Netzwerke, Menschen und körperlich vorhandene Infrastruktur bedingen) überprüfen. Suchen Sie nach Schwachstellen. Prüfen Sie, wie Ihre Systeme miteinander kommunizieren und wie nicht öffentliche Systeme und Daten vor nicht vertrauenswürdigen Elementen geschützt (oder nicht geschützt) sind. Für diese Schritte benötigen Sie keine besonderen Informationen über Methoden, die Sie für Social Engineering oder den Zugriff auf Sicherheitseinrichtungen verwenden, aber die Techniken sind grundsätzlich dieselben. Ich behandele sie im Einzelnen in den Kapiteln 5 und 6.

Wenn Sie bei einem Kunden ethisch hacken, bleibt Ihnen manchmal nichts anderes übrig, als den Weg des blinden Prüfens zu beschreiten und nur mit dem Firmennamen und keinen weiteren Informationen zu beginnen. Diese Vorgehensweise gibt Ihnen die Möglichkeit, bei null anzufangen. Dadurch erhalten Sie ein besseres Gespür für die Informationen und Systeme, auf die böswillige Angreifer von draußen zugreifen können. Denken Sie aber immer daran, dass diese Art des Testens länger dauern kann und dass dabei die Wahrscheinlichkeit größer ist, Schwachstellen im System zu übersehen.

Als ethischer Hacker müssen Sie sich selten Gedanken darüber machen, Ihre Spuren zu verbergen oder Systemen zum Entdecken oder Abwehren von Eindringlingen zu entkommen, weil alles, was Sie machen, legal ist. Aber vielleicht möchten Sie die Systeme heimlich testen. Ich gehe natürlich in diesem Buch auch auf Techniken ein, die Hacker verwenden, um ihre Aktionen zu kaschieren, und auf die entsprechenden Gegenmaßnahmen.

Sehen, was andere sehen

Ein Blick von draußen kann eine Unmenge an Informationen über Ihr Unternehmen und Ihre Systeme an das Tageslicht bringen, die andere sehen können. Dies geschieht mithilfe eines Vorgangs, der Footprinting (das Hinterlassen von Fußabdrücken) genannt wird. Und so können Sie sich die Informationen beschaffen:

Benutzen Sie einen Webbrowser, um Informationen über Ihr Unternehmen zu suchen. Suchmaschinen wie Google und Bing sind großartige Stellen, um zu beginnen.

Scannen Sie das Netzwerk, forschen Sie nach offenen Ports und suchen Sie Schwachstellen, um Informationen über Ihre Systeme zu bekommen. Sie als Insider können Portscanner und Werkzeuge zum Auffinden von Windows-Freigaben wie GFI LanGuard verwenden, um herauszufinden, auf was zugegriffen werden kann.

Unabhängig davon, ob Sie nun ganz allgemein suchen oder – technischer – offene Ports ausprobieren, begrenzen Sie die Menge der Informationen, die Sie einsammeln, auf das, was für Ihre Aufgabe wirklich benötigt wird. Es kann sein, dass die Informationsbeschaffung eine Stunde, einen Tag oder eine Woche dauert – das hängt letztendlich von der Größe der Organisation und der Komplexität ihrer Informationssysteme ab.

Öffentlich zugängliche Informationen beschaffen

Die Informationsmenge, die Sie über ein Unternehmen und seine Systeme sammeln können, ist atemberaubend groß. Ihr Job ist es herauszufinden, was es dort draußen gibt. Oft erlauben es diese Informationen, dass Angreifer und böswillige Benutzer bestimmte Bereiche des Unternehmens, zum Beispiel Abteilungen und Schlüsselfiguren, aufs Korn nehmen.

Die folgenden Techniken können verwendet werden, um Informationen über eine Organisation zu beschaffen:

Soziale Medien

Die Sites der sozialen Medien sind heutzutage für viele Unternehmen das Mittel, um sich darzustellen. Wenn Sie die folgenden Sites aufsuchen, könnten Sie auf viele bisher unbekannte Einzelheiten zu Geschäftsverbindungen und Personen stoßen:

Facebook (www.facebook.de)

LingkedIn (www.linkedin.de)

Pinterest (www.pinterest.com)

Twitter (www.twitter.de)

YouTube (www.youtube.de)

Suche im Web

Führen Sie im Web eine Suche durch oder durchstöbern Sie einfach die Website der Organisation, und Sie können auf diese Informationen stoßen:

Namen und Kontaktdaten von Mitarbeitern

Wichtige Firmendaten

Eigentumsverhältnisse

Kapitalverteilung (bei Kapitalgesellschaften)

Pressemitteilungen über Umzüge, Veränderungen innerhalb der Organisation und neue Produkte

Zusammenschlüsse und Firmenaufkäufe

Patente und Handelsmarken

Präsentationen, Artikel und Webcasts oder Webinare

Bing (www.bing.de) und Google (www.google.de) spüren auf so gut wie jedem öffentlich zugänglichen Computer Informationen auf – angefangen bei Textverarbeitungsdokumenten bis hin zu grafischen Dateien. Und sie sind kostenlos. Darüber, wie Google verwendet werden kann, sind schon ganze Bücher geschrieben worden, weshalb Sie davon ausgehen können, dass sich jeder Hacker (ob ethischer oder ein anderer) mit diesem nützlichen Werkzeug auskennt. (In Kapitel 14 gibt es mehr über das Google-Hacken.)

Bei Google haben Sie verschiedene Möglichkeiten, das Internet zu durchsuchen:

Durch die Eingabe von Schlüsselwörtern: Diese Art der Suche liefert häufig Hunderte, wenn nicht sogar Millionen von Seiten mit Informationen wie Dateien, Telefonnummern und Adressen, von denen Sie niemals geglaubt haben, dass es sie gibt.

Durch eine erweiterte Websuche: Googles erweiterte Suchoptionen können Sites finden, die Verknüpfungen enthalten, die wieder auf die Website des Unternehmens zurückführen. Diese Suchweise offenbart viele Informationen über Partner, Lieferanten, Kunden und Niederlassungen.

Durch die Verwendung von Schaltern, um in einer Website tiefer zu graben: Wenn Sie beispielsweise ein bestimmtes Wort oder eine besondere Datei auf Ihrer Website finden wollen, geben Sie in Google einfach eine Zeile wie diese ein:

site:www.ihre_domäne.de schlüsselwort
site:www.ihre_domäne.de dateiname

Sie können sogar im gesamten Internet eine allgemeine Suche nach einem Dateityp starten:

filetype:swf firmenname

Verwenden Sie diese Suche für Flash-Dateien (.swf), die heruntergeladen und dekompiliert werden können, um sensible Informationen zu erhalten, die gegen Ihr Unternehmen verwendet werden können, wie ich detailliert in Kapitel 14 beschreibe.

Sie gehen auf die Jagd nach PDF-Dokumenten, die vertrauliche Daten enthalten können, wenn Sie den folgenden Suchbegriff verwenden
filetype:pdf firmenname vertraulich

Webcrawler

Webcrawler wie HTTrack Website Copier (www.httrack.com) können Ihre Website spiegeln, indem alle darauf öffentlich zugänglichen Dateien heruntergeladen werden. Sie können dann diese Kopie der Website offline untersuchen und hierin herumwühlen:

Layout und Konfiguration der Website

Verzeichnisse und Dateien, die ansonsten nicht sichtbar wären oder auf die Sie keinen lesenden Zugriff hätten

HTML- und Skript-Quellcode der Webseiten

Kommentare

Kommentare enthalten häufig nützliche Informationen wie die Namen und E-Mail-Adressen von Entwicklern und internen IT-Mitarbeitern, Servernamen, Softwareversionen, interne IP-Adressschemata und allgemeine Kommentare darüber, wie der Code funktioniert.

Für die Angriffsart Social Engineering sind Kontaktdaten von Entwicklern und IT-Mitarbeitern von unschätzbarem Wert.

Websites

Diese Websites könnten Informationen über eine Organisation und ihre Mitarbeiter enthalten:

Regierungs- und geschäftliche Websites:

• www.firmenwissen.de, www.hoovers.com und de.finance.yahoo.com liefern detaillierte Informationen über Kapital- und Personengesellschaften

• www.dpma.de bietet einen Überblick über deutsche Patente und Markennamen. Die europäischen gibt es unter www.epo.org und die US-amerikanischen finden Sie unter www.uspto.gov.

Hintergrundinformationen und Personensuche

• Yasni (www.yasni.de)

• ZabaSearch (www.zabasearch.com)

• LexisNexis (www.lexisnexis.de)

Das Netzwerk kartografieren

Wenn Sie ein Netzwerk kartografieren, können Sie in öffentlichen Datenbanken und Ressourcen suchen, um herauszufinden, was andere über Ihr Netzwerk wissen.

Whois

Sie beginnen Ihr Nachschlagen am besten mit einem der Whois-Werkzeuge, die es im Internet gibt. (Whois setzt sich aus den beiden englischen Wörtern who (wer) und is (ist) zusammen.) Sie haben Whois vielleicht schon eingesetzt, als Sie herausfinden wollten, ob ein bestimmter Internetname noch zu haben ist. Whois liefert die folgenden Informationen, die es einem Hacker ermöglichen, ein Bein in die Tür des Social Engineerings zu bekommen und ein Netzwerk zu durchsuchen:

Registrierungsdaten zum Internet-Domänennamen wie Kontaktname, Telefonnummern und E-Mail-Adresse
die DNS-Server, die für Ihre Domäne verantwortlich sind

Sie können Whois-Informationen über eine dieser Stellen beziehen:

Whois.net (www.whois.net)

einem Anbieter von Websites wie Domaingo.de (www.domaingo.de)

der technischen Supportsite Ihres ISP

Sie können DNS-Abfragen direkt auf der Site loslassen, um
allgemeine Registrierungsdaten der Domäne anzuzeigen,
zu zeigen, welcher Host den E-Mail-Verkehr für die Domäne abwickelt (den Mail Exchanger),
die Adresse bestimmter Hosts abzubilden und
um herauszufinden, ob der Host auf einer schwarzen Spamliste (Spam Blacklist) steht.

Eine kostenlose Site, über die Sie zusätzliche Informationen zu einer Internetdomäne erhalten können, ist http://dnstools.com.

Die folgende Liste enthält weitere Sites, auf denen Sie Informationen nachschlagen können:

AfriNIC: www.afrinic.net (hier gibt es Informationen zu Internetregistrierungen in Afrika)

APNIC: www.apnic.net (Informationen zu Internetregistrierungen im Raum Asien/ Pazifik)

ARIN: http://whois.arin.net/ui (Informationen zu Internetregistrierungen für Nordamerika, einen Teil der Karibik und für Subäquatorial-Afrika)

LACNIC: www.lacnic.net/en (Internetadressen aus Lateinamerika und der Karibik)

RIPE Network Coordination Centre:

https://apps.db.ripe.net/search/query.html (Europa, Zentralasien, afrikanische Länder nördlich des Äquators und der Nahe Osten)

US-amerikanische Regierungsbehörden: www.dotgov.gov

Wenn Sie nicht genau wissen, wo Sie ein bestimmtes Land finden können: https://www.arin.net/knowledge/rirs/countries.html enthält eine Referenzliste.

Google Groups

Google Groups (http://groups.google.com) kann erstaunliche Informationen über öffentliche Netzwerke enthüllen. Suchen Sie nach Informationen wie dem Fully Qualified Domain Name (FQDN; dem voll qualifizierten Domänennamen), nach IP-Adressen und Benutzernamen. Sie können Millionen von Usenet-Ports nach öffentlichen und sehr oft auch nach privaten Informationen durchsuchen, die bis 1981 zurückreichen. Sie könnten auf Informationen wie die folgenden stoßen, von denen Sie gar nicht geahnt haben, dass sie öffentlich zugänglich sind:

Ein technischer Support- oder Forenbeitrag, der vertrauliche Informationen über Ihre Systeme enthält. Viele, die so etwas ins Netz stellen, merken nicht, dass sie diese Informationen mit der ganzen Welt teilen, und haben keine Vorstellung davon, wie lange die Informationen dort aufgehoben werden.

Vertrauliche Firmeninformationen, die von enttäuschten Mitarbeitern oder Kunden ins Internet gestellt werden

Wenn Sie herausfinden, dass vertrauliche Informationen über Ihr Unternehmen online bereitgestellt worden sind, ist es in bestimmten Situationen möglich, sie zu entfernen. Schauen Sie sich hierzu die Hilfeseite von Google Groups unter http://support.google.com/groups an. Die Hilfe startet trotz der .com-Adresse auf Deutsch.

Datenschutzrichtlinien

Überprüfen Sie die Datenschutzrichtlinien Ihrer Website. Es ist nicht schlecht, die Benutzer der Site wissen zu lassen, welche Informationen gesammelt und wie diese geschützt wer-den – mehr nicht. Außerdem habe ich schon viele Datenschutzrichtlinien zu lesen bekommen, die technische Informationen enthielten, die in der Öffentlichkeit nichts zu suchen hatten.

Achten Sie darauf, dass diejenigen, die Ihre Datenschutzrichtlinien schreiben (häufig nichttechnische Rechtsanwälte oder Marketingleute), keine Einzelheiten über die Infrastruktur der Sicherheitsmaßnahmen veröffentlichen. Seien Sie vorsichtig.

Systeme scannen

Wenn Sie aktiv Informationen sammeln, erhalten Sie viel mehr Einzelheiten über Ihr Netzwerk. Außerdem hilft dies dabei, die eigenen Systeme aus der Sicht eines Angreifers zu betrachten. Sie können zum Beispiel dies machen:

Verwenden Sie die Informationen, die Ihre Whois-Suche geliefert hat, um benachbarte IP-Adressen und Hostnamen zu testen. Wenn Sie das Sammeln von Informationen über ein Netzwerk planen und durchführen, erkennen Sie das Layout seiner Systeme. Zu den Informationen gehören auch das Bestimmen von IP-Adressen, (normalerweise externen, aber manchmal auch internen) Hostnamen, aktiven Protokollierungen, offenen Ports, Freigaben und laufenden Diensten und Anwendungen.

Durchsuchen Sie interne Hosts, wenn diese zum Umfeld Ihrer Tests gehören. (Hinweis: Was sie eigentlich immer sollten.) Die Hosts müssen für Außenstehende nicht unbedingt sichtbar sein (zumindest hoffen Sie das), aber Sie können auf keinen Fall darauf verzichten, sie zu testen, um herauszufinden, auf was »unfreundliche« (und sogar neugierige) Mitarbeiter und andere Insider zugreifen können. Im ungünstigsten Fall hat sich ein Hacker bereits intern eingenistet. Untersuchen Sie Ihre internen Systeme auf Schwachstellen, um auf jeden Fall auf der sicheren Seite zu sein.

Wenn Sie sich mit dem Scannen von Systemen noch nicht wirklich gut auskennen, sollten Sie darüber nachdenken, es zunächst mit einer Art Übungsraum mit Testsystemen oder mit einem System zu versuchen, auf dem virtuelle Maschinen wie die folgenden laufen:

VMware Workstation

(www.vmware.com/de/products/desktop_virtualization/workstation/overview.html)

VMware Player

(www.vmware.com/de/products/desktop_virtualization/player/overview)

Windows Virtual PC

(www.microsoft.com/germany/windows/virtual-pc/default.aspx)

VirtualBox, die kostenlose Alternative, die ich immer mehr liebe

(www.virtualbox.org)

Hosts

Scannen und dokumentieren Sie Hosts, auf die vom Internet und von Ihrem internen Netzwerk aus zugegriffen werden kann. Beginnen Sie damit, dass Sie die einzelnen Hostnamen oder IP-Adressen mit einem dieser Werkzeuge anpingen:

dem betriebssystemeigenen Programm ping oder
einem Werkzeug von Dritten, das es ermöglicht, mehrere Adressen gleichzeitig anzupingen, zum Beispiel NetScanTools Pro (www.netscantools.com) für Windows und fping (http://fping.sourceforge.net) für Unix.

Die Site www.whatismyip.com zeigt Ihnen, wie Ihre Gateway-IP-Adresse im Internet erscheint. Besuchen Sie diese Site, und sofort erscheint Ihre öffentliche IP-Adresse (die Ihrer Firewall oder Ihres Routers, nicht aber die Ihres lokalen Computers). Dadurch erhalten Sie einen Eindruck davon, welche IP-Adresse die Welt von Ihnen sieht.

Offene Ports

Suchen Sie nach offenen Ports, indem Sie spezielle Werkzeuge für das Netzwerk verwenden:

Scannen Sie Netzwerkports mit NetScanTools Pro oder Nmap (http://nmap.org). Einzelheiten hierzu finden Sie in Kapitel 8.

Hören Sie dem Verkehr mit einem speziellen Analysewerkzeug für Netzwerke ab. Hier bieten sich OmniPeek (www.wildpackets.com) oder Wireshark (www.wireshark.com) an. Ich gehe in verschiedenen Kapiteln dieses Buches ausführlicher auf dieses Thema ein.

Das interne Scannen eines Netzwerks ist einfach. Verbinden Sie Ihren PC mit Ihrem Netzwerk, laden Sie die Software, und ab geht's. Achten Sie dabei aber auf eine Segmentierung des Netzwerks und auf Systeme zum Entdecken von Eindringlingen, die Ihre Arbeit erschweren können. Das Scannen Ihres Netzwerks von außen benötigt einige zusätzliche Schritte, aber es ist möglich. Der einfachste Weg zu einer Verbindung, die einen Blick von draußen nach drinnen gewährt, ist, Ihrem Computer eine öffentliche IP-Adresse zuzuweisen und diese Arbeitsstation dann in einen Switch oder Hub einzuhängen, der sich auf der öffentlichen Seite Ihrer Firewall oder Ihres Routers befindet. Ihr Computer schaut dann zwar nicht wirklich vom Internet aus in Ihr Netzwerk, aber die Verbindung arbeitet auf die gleiche Weise, solange sie sich außerhalb Ihrer Firewall und dem Router befindet. Sie können diese Art von Scan natürlich auch von einem externen Büro aus durchführen.

Feststellen, was auf offenen Ports läuft

Wenn Sie mit dem Scannen des Netzwerks fertig sind, können Sie in Ihren Auswertungen nach folgenden offenen Ports Ausschau halten, die von einem Netzwerkscanner häufig als accessible (zugreifbar) oder open (offen) gemeldet werden:

Ping (ICMP-Echo) antwortet und zeigt dabei, dass ICMP-Verkehr zum und vom Host erlaubt ist.

TCP-Port 21; zeigt, dass FTP läuft.

TCP-Port 23; zeigt, dass Telnet läuft.

TCP-Ports 25 oder 465 (SMTP und SMTPS), 110 oder 995 (POP3 und POP3S), oder 143 oder 993 (IMAP und IMAPS); zeigen, dass ein E-Mail-Server läuft.

TCP/UDP-Port 53; zeigt, dass ein DNS-Server läuft.

TCP-Ports 80, 443 und 8080; zeigen, dass ein Webserver oder ein Web-Proxyserver läuft.

TCP/UDP-Ports 135, 137, 138, 139 und ganz besonders 445; zeigen, dass ein ungeschützter Windows-Host läuft.

Tausende von Ports können offen sein – um genau zu sein: 65.534 sowohl für TCP als auch für UDP. Ich gehe im Verlauf des Buches auf viele beliebte Ports ein, wenn ich Hacks beschreibe. Unter www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.txt gibt es eine Liste mit Portnummern, die ständig aktualisiert wird. Sie enthält sowohl die allgemein bekannten (Ports 0–1023) als auch die registrierten Ports (Ports 1024–49151) mit den jeweils zugewiesenen Protokollen und Diensten. Ports, Protokolle und so weiter nachschlagen können Sie unter www.cotse.com/cgi-bin/port.cgi.

Wenn ein Dienst auf einem TCP- oder UDP-Port nicht antwortet, bedeutet dies nicht, dass er nicht läuft. In solch einem Fall müssen Sie sich genauer mit dem Dienst beschäftigen.

Wenn Sie einen Webserver entdecken, der auf dem System läuft, das Sie testen, können Sie seine Softwareversion herausbekommen, indem Sie so vorgehen:

Geben Sie den Namen der Site ein, dem eine Seitenbezeichnung folgt, von der Sie wissen, dass es sie nicht gibt (zum Beispiel www.ihre_domäne.de/1234.html). Viele Webserver geben dann eine Fehlerseite zurück, die detaillierte Versionsinformationen enthält.

Verwenden Sie das Suchwerkzeug What's that site running? von Netcraft (www.netcraft.com), das sich vom Internet aus mit Ihrem Server verbindet und die Version des Webservers und des Betriebssystems anzeigt (siehe Abbildung 4.1).

Abbildung 4.1: Das Versionswerkzeug für Webserver von Netcraft

Sie können auf Ihrem Host auch noch tiefer graben, um sehr spezielle Informationen hervorzuholen:

NMapWindows (http://sourceforge.net/projects/nmapwin) kann die Version des Betriebssystems herausfinden.

Ein Werkzeug, das Benutzer, Gruppen und Datei- und Freigabeberechtigungen direkt aus Windows ausliest, ist DumpSec (www.systemtools.com/somarsoft/?somarsoft.com).

Viele Systeme geben nützliche Informationen zurück, wenn Sie sich mit einem Dienst oder einer Anwendung verbinden, die auf einem Port läuft. Wenn Sie zum Beispiel einen E-Mail-Server auf Port 25 über Telnet ansprechen, indem Sie auf der Befehlszeilenebene telnet mail.ihre_domäne.de 25 eingeben, könnten Sie so etwas zurückerhalten wie 220 mail.ihre_domäne.de ESMTP alle_Versionsinformatio nen_für_Ihr_Hacken Ready

Die meisten E-Mail-Server geben detaillierte Informationen wie die Version und das installierte Servicepack zurück. Wenn Sie erst einmal diese Informationen haben, können Sie (und Angreifer) über eine der Websites, die im nächsten Abschnitt aufgeführt werden, die Schwachstellen des Systems ermitteln.

Ein Werkzeug zum Finden von Freigaben wie das von GFI LanGuard, kann offene Windows-Freigaben aufspüren.

Eine E-Mail an eine ungültige Adresse kann manchmal detaillierte Informationen über den Kopf der E-Mail (den sogenannten E-Mail-Header) zurückliefern. Eine abgewiesene Nachricht gibt oft Daten preis, die gegen Sie verwendet werden können. Zu diesen Daten gehören interne IP-Adressen und Softwareversionen. Sie können diese Daten auf einigen Windows-Systemen verwenden, um unberechtigte Verbindungen einzurichten, und manchmal gelingt es sogar, Laufwerke freizugeben (siehe Kapitel 13).

Schwachstellen bewerten

Nachdem Sie mögliche Sicherheitslöcher gefunden haben, sieht der nächste Schritt so aus, dass Sie festlegen, ob es sich dabei wirklich um Schwachstellen in Ihrem System oder Netzwerk handelt. Bevor Sie testen, suchen Sie manuell. Sie können Hacker-Foren, Websites und Schwachstellendatenbanken wie die folgenden durchsuchen (Vulnerability ist das englische Wort für Schwachstelle):

Allgemeine Schwachstellenanalyse (www.all-about-security.de)

Common Vulnerability and Exposures (dies bedeutet bekannte Schwachstellen und Gefahrenpotenziale – http://cve.mitre.org/cve)

US-CERT Vulnerability Notes Database (www.kb.cert.org/vuls)

NIST National Vulnerability Database (http://nvd.nist.gov)

Diese Sites listen bekannte Schwachstellen – zumindest deren formale Klassifizierung – auf. Wie ich aber in diesem Buch darlege, gibt es viele Schwachstellen, die von Haus aus existieren und nicht klassifiziert werden können. Wenn Sie auf einer dieser Seiten kein passendes Schwachstellendokument finden, durchsuchen Sie die Site Ihres Systemlieferanten. Wenn Sie auf eine Schwachstellenanalyse verzichten und gleich zum Testen gehen können, haben Sie diese Möglichkeiten:

Die manuelle Überprüfung: Sie können die potenziellen Schwachstellen überprüfen, indem Sie sich mit den Ports verbinden, die zu einem Dienst oder einer Anwendung gehören, und in diesen Ports herumstochern. Sie sollten bestimmte Systeme (wie Webanwendungen) manuell überprüfen. Die Schwachstellenberichte der vorstehenden Datenbanken verraten oft – zumindest allgemein –, wie dies zu machen ist. Wenn Sie Zeit genug haben, führen Sie die Tests ruhig manuell durch.

Die automatisierte Überprüfung: Das manuelle Überprüfen ist eine großartige Methode, etwas zu lernen, aber normalerweise haben Sie dafür nicht die Zeit. Wenn Sie wie ich sind, scannen Sie Schwachstellen automatisch.

Viele großartige Werkzeuge für die Schwachstellenüberprüfung testen Schwachstellen auf bestimmten Plattformen (wie Windows oder Unix) und Netzwerken (verdrahtete oder drahtlose). Sie testen auf bestimmte Systemschwachstellen, und einige davon haben als Schwerpunkt die Top-20-Liste von SANS. Einige Werkzeuge können die Arbeitslogik einer Web anwendung abbilden. Andere sind in der Lage, Software-Entwicklern helfen zu testen, ob es Codefehler gibt. Der Nachteil dieser Werkzeuge ist, dass sie immer nur bestimmte Schwachstellen finden. Sie bauen in einem Netzwerk kein Beziehungsgeflecht von Schwachstellen auf. Allerdings erlaubt es das Aufkommen von Anwendungen für das Verwalten von Sicherheit und Ereignissen (SIEM – für Security Information and Event Management) und Anwendungen für die Verwaltung von Schwachstellen, dass diese Werkzeuge die Schwachstellen doch miteinander in eine Beziehung bringen.

Eines meiner Lieblingswerkzeuge beim ethischen Hacken ist ein Schwach-stellenscanner, der QualysGuard heißt und von Qualys stammt (www.qualys.com). Dieses Programm ist sowohl Portscanner als auch ein Werkzeug zum Prüfen auf Schwachstellen, und es ist eine große Hilfe bei der Verwaltung von Schwachstellen. QualysGuard ist ein auf der Cloud basierendes Programm. Suchen Sie einfach die Website von Qualys auf, melden Sie sich an Ihrem Konto an und geben Sie die IP-Adressen der Systeme an, die Sie testen möchten. Qualys verfügt auch über eine Anwendung, die Sie in Ihrem Netzwerk installieren können und die es Ihnen erlaubt, interne Systeme zu scannen. Sie müssen nur den Überprüfungszeitraum vorgeben, und das System führt die Tests durch und erstellt ausgezeichnete Berichte wie diese:

einen Ausführungsbericht, der allgemeine Informationen aus den Scans zusammenfasst (siehe Abbildung 4.2)

Abbildung 4.2: Eine Zusammenfassung der Ausführungsdaten in einem QualysGuard-Bericht einer Schwachstellenüberprüfung

einen technischer Bericht mit einer ausführlichen Erklärung der Schwach-stellen und möglicher Gegenmaßnahmen

QualysGuard ist wie die meisten guten Sicherheitswerkzeuge nicht kostenlos zu haben – und es ist nicht gerade billig, aber es ist sein Geld wert. Sie bezahlen für einen Block von Scans, dessen Kosten von der Anzahl der Scans abhängt, die Sie durchführen wollen. Die Software ist zwar in Englisch, aber Qualis ist auch in Deutschland vertreten (siehe Website). Eine Alternative, auf die viele schwören, ist Nexpose von Rapid7 (www.rapid7.com/products/nexpose/compare-downloads.jsp), von dem es auch eine kostenlose Version (die Community Edition) gibt und mit der Sie 32 Hosts scannen können.

Das Überprüfen von Schwachstellen mit einem Werkzeug wie QualysGuard verlangt eine Nachbereitung. Sie können sich nicht allein auf die Scanergebnisse verlassen. Sie müssen sich die gemeldeten Schwachstellen ansehen. Studieren Sie die Berichte, damit Ihre Empfehlungen einen unmittelbaren Bezug zum Umfeld und der Gefährdung der getesteten Systeme erhalten.

In das System eindringen

Sie können wichtige Sicherheitslöcher, die Sie identifiziert haben, nutzen, um dies zu tun:

weitere Informationen über den Host und seine Daten gewinnen
ein externes Eingabefenster für Befehle erhalten
einen einzelnen Dienst oder eine bestimmte Anwendung starten
auf andere Systeme zugreifen
die Protokollierung oder andere Sicherheitskontrollen deaktivieren

Bildschirmfotos machen
auf sensible Dateien zugreifen
dem Administrator eine E-Mail senden

Angriffe über eine SQL-Injection starten
einen DoS-Angriff ausführen
eine Datei hochladen, die Ihr Eindringen beweist

Eines wirklich gutes Werkzeug zum Ausnutzen vieler der gefundenen Schwachstellen ist Metaploit (www.metaploit.com und www.rapid7.com). Durch diese Anwendung erhalten Sie die Möglichkeit, in das gesamte System einzudringen. Idealerweise haben Sie sich bereits dazu entschlossen, alle gefundenen Schwachstellen auszunutzen. Aber vielleicht sind Sie »großzügig« und möchten Schwachstellen nur aufzeigen, ohne darauf zuzugreifen.

Wenn Sie sich tiefer mit der Methodik des ethischen Hackens beschäftigen möchten, empfehle ich Ihnen, sich mit dem Open Source Security Testing Methodology Manual (Handbuch der Open-Source-Sicherheitstestverfahren) unter www.isecom.org/research/osstmm.html zu beschäftigen. Außerdem lohnt es sich, im Internet nach ethisches hacken methodik zu suchen und sich mit der Vielzahl an deutschsprachigen Artikeln zu beschäftigen, die Sie als Suchergebnisse erhalten.

Teil II

Mit dem ethischen Hacken loslegen

In diesem Teil ...

Jetzt geht's los. Sie haben lange genug gewartet – jetzt ist die Zeit gekommen, mit dem Testen Ihrer Systeme zu beginnen. Aber wo sollen Sie nun anfangen? Wie wäre es mit Menschen, mit den vorhandenen Systemen und mit Kennwörtern? Dies sind schließlich die in einem Unternehmen am leichtesten anzugreifenden Ziele, die auch am häufigsten attackiert werden.

Dieser Teil beginnt mit einem Beitrag zum Hacken von Menschen (als Gegensatz zum Zerhacken von Menschen; hier geht es um Social Engineering und nicht um The Texas Chainsaw Massacre – Blutgericht in Texas). Danach geht es mit physischen Sicherheitsschwachstellen weiter. Und natürlich wäre es mehr als nachlässig von mir, wenn ich in einem Teil, der auch mit Menschen zu tun hat, Kennwörter überginge. Ich behandele natürlich auch die technischen Einzelheiten, um sie zu testen. Damit beginnt das Spiel, und Sie haben eine gute Gelegenheit, sich für weitere, speziellere Hacks aufzuwärmen.

5

Social Engineering

In diesem Kapitel ...

Social Engineering entdecken

Die Auswirkungen des Social Engineerings untersuchen

Techniken des Social Engineerings verstehen und anwenden

Ein Unternehmen gegen Social Engineering schützen

Social Engineering, die zwischenmenschlichen Beeinflussungen mit dem Ziel, unberechtigt an Informationen oder technische Infrastrukturen zu gelangen« (Wikipedia). Im IT-Umfeld hat sich die englische Bezeichnung des deutschen Wortes Sozialtechnik durchgesetzt, weshalb auch wir diesen Terminus beibehalten wollen.

Social Engineering nutzt im sicherheitstechnischen Umfeld das schwächste Glied der Verteidigungsmaßnahmen eines Unternehmens aus: den Menschen. Social Engineering ist »Hacken von Menschen«. Dazu gehört das bösartige Ausnutzen eines vertrauensseligen menschlichen Wesens, um Informationen zu erhalten, die dann zu persönlichen Zwecken verwendet werden.

Social Engineering ist einer der schwierigsten Hacks, um irgendwo reinzukommen, weil es viel Wagemuts und großer Fähigkeiten bedarf, um bei Fremden vertrauenswürdig aufzutreten. Gleichzeitig ist dies der Hack, gegen den ein Schutz am schwierigsten zu erreichen ist, weil es hier um Menschen geht. Ich untersuche die Auswirkungen des Social Engineerings, die Techniken für Ihr eigenes ethisches Hacken und gezielte Maßnahmen gegen Social Engineering.

Eine Einführung in Social Engineering

Normalerweise spielen böswillige Hacker eine Rolle, um an Informationen zu gelangen, die sie ansonsten nicht bekommen hätten. Sie nehmen sich dann die Informationen, die sie von ihren Opfern erhalten haben, und richten verheerenden Schaden an Netzwerkressourcen an, stehlen oder löschen Dateien und begehen sogar Industriespionage oder eine andere Form von Betrug. Social Engineering unterscheidet sich vom physischen Ausnutzen von Sicherheitsschwächen wie Shoulder Surfing und Dumpster Diving, geht aber oft mit diesen einher. (Beide Begriffe werden weiter hinten in diesem Buch ausführlich erklärt.)

Einige Beispiele für Social Engineering sind:

Falsche Supportmitarbeiter behaupten, dass sie einen Patch oder eine neue Softwareversion auf dem Computer eines Benutzers installieren müssen, bringen den Benutzer dazu, die Software herunterzuladen, und erhalten dadurch eine Kontrolle aus der Ferne über das System. (Fern wird in der IT gerne auch remote genannt.)

Falsche Lieferanten behaupten, dass sie das Warenwirtschafts- oder das Telefonsystem neu installieren müssen, fragen nach dem Administratorkennwort und erhalten vollen Zugang zum System.

Phishing-E-Mails, die von externen Angreifern gesendet werden, holen sich von nichts ahnenden Empfängern Benutzer-IDs und Kennwörter. Die Bösewichte benutzen dann diese Kennwörter, um Zugang zu Bankkonten und mehr zu erhalten. Damit verwandt ist das Cross-site Scripting (deutsch: seitenübergreifendes Skripting) bei Webformularen.

Falsche Mitarbeiter informieren die Hausverwaltung, dass sie den Schlüssel zum Serverraum verloren haben, erhalten Ersatzschlüssel und damit unberechtigten Zugang zu Geräten und zu elektronischen Informationen.

Manchmal treten die »Sozialtechniker« (Social Engineers) auch als energische und allwissende Mitarbeiter wie Manager oder Mitglieder der Geschäftsführung auf, und dann gibt es wieder Gelegenheiten, bei denen sie die Rolle eines extrem uninformierten und naiven Mitarbeiters spielen. Sie können aber auch in die Rolle eines Außenstehenden, zum Beispiel eines IT-Beraters oder von Wartungspersonal schlüpfen. Je nachdem, mit wem sie es zu tun haben, wechseln Social Engineers oft von einer Rolle in eine andere.

Eine wirksame Sicherheit der Daten – ganz besonders die Sicherheit, die notwendig ist, um das Social Engineering zu bekämpfen – beginnt und endet bei den Benutzern. In anderen Kapiteln dieses Buches gibt es ausgezeichnete technische Tipps, aber häufig wird ganz einfach vergessen, dass schon die einfache Kommunikation unter Kollegen und das zwischenmenschliche Handeln zentrale Sicherheitsaspekte berühren können. Es gibt hierzu einen sprichwortartigen Vergleich mit einer Zuckerstange: »Außen hart und knusprig; innen weich und zart.« Bei »außen hart und knusprig« handelt es sich um die mechanischen Ebenen wie Firewalls, Systeme zum Verhindern eines Eindringens und um Verschlüsselung, auf die sich Unternehmen verlassen, wenn es um Datensicherheit geht. »Innen weich und zart« verweist auf die Menschen und die Abläufe in einem Unternehmen. Wenn es die Bösewichte schaffen, die dicke äußere Hülle zu knacken, können sie in der Regel problemlos auf die (meist) wehrlose innere Ebene zugreifen.

Erste Tests in Social Engineering

Ich gehe in diesem Kapitel anders mit dem ethischen Hacken um als im restlichen Buch. Social Engineering ist eine Kunst und gleichzeitig auch eine Wissenschaft. Wenn Sie als ethischer Hacker Social Engineering durchführen wollen, müssen Sie viel können. Letztendlich hängt Ihr Erfolg von Ihrer Persönlichkeit und Ihrem umfassenden Wissen über das Unternehmen ab, das Sie testen wollen.

Wenn Social Engineering für Sie zumindest jetzt noch nicht infrage kommt, sollten Sie die Informationen dieses Kapitels dafür nutzen zu lernen, bis Sie mehr Zeit haben, das Zielobjekt zu studieren. Gegebenenfalls sollten Sie nicht zögern, jemanden zu engagieren, mit dem Sie die Tests üben können.

Eine Fallstudie in Social Engineering mit Ira Winkler

Ira Winkler (CISSP und CISM) ist einer der weltweit führenden Social Engineers. Er ist Gründer und Präsident der Internet Security Advisors Group.

Die Situation

Ira Winklers Kunde wollte eine allgemeine Einschätzung davon haben, wie es mit dem Sicherheitsbewusstsein im Unternehmen aussieht. Winkler ließ sich das nicht entgehen und testete zusammen mit einem Begleiter die Anfälligkeit des Unternehmens für Social Engineering. Als Erstes inspizierten sie die Eingangshalle des Firmengebäudes und fanden heraus, dass sich der Empfangsbereich mit den Sicherheitseinrichtungen in der Mitte einer großen Lobby befand und mit einer Person besetzt war. Am nächsten Morgen betraten sie das Gebäude, als dort viel los war, und taten so, als ob sie mit ihren Handys telefonierten. Sie passierten den Empfang in einer Entfernung von weniger als fünf Metern und ignorierten dabei die Empfangsdame.

Nachdem sie im Gebäude waren, fanden sie einen Besprechungsraum, in dem sie sich niederließen. Sie machten es sich bequem, um die Vorgehensweise für den Rest des Tages zu planen, und waren der Meinung, dass ein Firmenausweis kein schlechter Anfang wäre. Herr Winkler rief die Zentrale an und fragte nach der Person, die für die Ausweise zuständig ist. Er wurde mit dem Empfang verbunden. Ira Winkler gab dann vor, der Vorstand der Informationstechnologie zu sein, und sagte der Person am anderen Ende der Leitung, dass er Ausweise für ein paar Subunternehmer benötige. Die Person antwortete: »Schicken Sie die Leute zum Empfang.«

Als Herr Winkler und sein Begleiter dort erschienen, wurden sie von einer uniformierten Wache gefragt, woran sie gerade arbeiteten, und sie erwähnten Computer. Die Wache fragte sie dann, ob sie auch Zugang zum Serverraum haben müssten. Ihre Antwort lautete: »Natürlich! Das wäre sehr hilfreich.« Innerhalb von Minuten hatten die beiden Ausweise, die Zugang zu den Bürobereichen und dem Computerzentrum ermöglichten. Sie gingen ins Untergeschoss und benutzten ihre Ausweise, um die Tür zum zentralen Serverraum zu öffnen. Sie gingen hinein und konnten auf Windows-Server zugreifen, ein Werkzeug zur Verwaltung von Benutzern laden, der Domäne einen Benutzer hinzufügen und diesen Benutzer zu einem Mitglied der Administratorengruppe machen. Dann verschwanden sie wieder.

Die beiden Männer hatten innerhalb von zwei Stunden Zugriff auf das gesamte Firmennetzwerk mit administrativen Rechten erhalten. Darüber hinaus haben sie ihre Ausweise dazu genutzt, nach dem Ende der Bürozeiten einen Spaziergang durch das gesamte Gebäude zu machen. Dabei stießen sie auch auf den Schlüssel für das Büro des Vorstandsvorsitzenden und hinterließen dort eine Pseudowanze.

Wie es weiterging

Niemand außerhalb des Teams wusste, was die beiden Männer getan hatten, bis sie es erzählten. Nachdem die Mitarbeiter informiert worden waren, rief der Leiter der Wachleute Herr Winkler an und wollte wissen, wer die Ausweise ausgestellt hätte. Herr Winkler meinte daraufhin, dass die Tatsache, dass das Sicherheitsbüro noch nicht einmal wüsste, wer die Ausweise ausgestellt hätte, ein Problem des Büros sein, und dass er diese Information nicht preisgäbe.

Wie das hätte verhindert werden können

Wenn es nach Mr. Winkler geht, müsste der Empfang näher zum Eingang hin postiert werden und die Firma müsste eine Verfahrensweise für das Ausstellen von Betriebsausweisen einführen. Der Zugang zu bestimmten Bereichen wie dem Serverraum dürfe nur aufgrund einer ausdrücklichen Bestätigung durch eine bekannte Person erfolgen. Nachdem dies erfolgt sei, müsste der Person per E-Mail eine Bestätigung zugesendet werden. Außerdem solle der Bildschirm des Servers gesperrt und das unbeaufsichtigte Anlegen von Windows-Konten unmöglich gemacht werden. Das Hinzufügen eines Kontos der administrativen Gruppe solle überwacht und die entsprechenden Verantwortlichen gewarnt werden.

Sie können die Informationen dieses Kapitels dazu verwenden, um besondere Tests durchzuführen oder um in einem Unternehmen die Aufmerksamkeit für die Datensicherheit zu verbessern. Social Engineering kann die Arbeitsplätze von Menschen und deren Ruf bedrohen, und vertrauliche Informationen könnten öffentlich gemacht werden. Gehen Sie vorsichtig vor und denken Sie nach, bevor Sie handeln.

Am besten kann jemand die Techniken des Social Engineerings durchführen, der kein Mitglied des Unternehmens ist. Wenn Sie diese Tests in Ihrem eigenen Unternehmen machen, kann es ziemlich schwierig werden, als Außenstehender aufzutreten, wenn Sie jeder kennt. Das Risiko, erkannt zu werden, ist in größeren Unternehmen vergleichsweise gering, aber wenn es um kleinere Firmen geht, können Sie sehr schnell durchschaut werden.

Sie können die Social-Engineering-Tests auch an ein vertrauenswürdiges Beratungsunternehmen vergeben oder Sie kennen einen vertrauenswürdigen Kollegen, der die Tests für Sie durchführt. Das Schlüsselwort lautet hier vertrauenswürdig. Wenn Sie eine dritte Person einbinden, benötigen Sie Referenzen, müssen sich Hintergrundinformationen einholen und diese Art von Test im Vorfeld schriftlich von der Geschäftsleitung genehmigen lassen. Ich behandele die Vergabe von Aufträgen über sicherheitsbedingtes und ethisches Hacken an Dritte in Kapitel 18.

Warum Angreifer Social Engineering verwenden

Viele Angreifer verwenden Social Engineering, um in Systeme einzubrechen, weil es für sie der einfachste Weg ist, das zu bekommen, wonach sie suchen. Sie möchten, dass jemand die Tür zum Unternehmen aufmacht, damit sie sie nicht aufbrechen müssen und dabei riskieren, geschnappt zu werden. Firewalls, Zugriffskontrollen und Geräte für die Authentifizierung können keinen entschlossenen Social Engineer stoppen.

Die meisten Social Engineers führen ihre Angriffe behutsam durch, um zu vermeiden, Verdacht zu erregen. Social Engineers sammeln Informationen stückchenweise über einen längeren Zeitraum hinweg und verwenden diese Informationen dann, um von der Organisation, in die sie eindringen wollen, ein umfassendes Bild zu erstellen. Es gibt aber im Bereich des Social Engineerings auch Angriffe in Form eines schnellen Anrufs oder einer E-Mail. Die Methode, die letztendlich eingesetzt wird, hängt vom Stil und von den Fähigkeiten des Angreifers ab.

Social Engineers wissen, dass viele Unternehmen Daten nicht klassifiziert haben, keine Systeme für die Zugriffskontrolle besitzen und auf Notfallpläne und Programme zur Stärkung des Sicherheitsbewusstseins der Mitarbeiter verzichten, was es ihnen ermöglicht, diese Schwachstellen auszunutzen.

Social Engineers wissen häufig ein wenig von vielen Dingen – sowohl von innerhalb als auch von außerhalb des Unternehmens –, weil ihnen dieses Wissen bei ihren Anstrengungen hilft. Je mehr Informationen Social Engineers über ein Unternehmen erhalten, desto leichter ist es für sie, sich als Mitarbeiter oder Interne auszugeben. Das Wissen und die Entschlossenheit lassen einen Social Engineer die Oberhand gegenüber einem durchschnittlichen Mit arbeiter gewinnen, der den Wert der Informationen, nach denen ein Social Engineer sucht, gar nicht erkennt.

Die Auswirkungen verstehen

Viele Unternehmen haben Feinde, die durch Social Engineering einfach nur Probleme bereiten wollen. Diese Feinde können aktuelle oder frühere Mitarbeiter sein, die Rache üben, Konkurrenten, die sich einen Vorsprung verschaffen wollen, oder Hacker, die sich und ihre Fähigkeiten beweisen möchten.

Unabhängig davon, wer nun die Schwierigkeiten hervorruft, ist jedes Unternehmen in Gefahr – besonders durch das Web, das das Hacken und Sammeln von Informationen vereinfacht. Größere Firmen sind über mehrere Standorte verteilt und dadurch häufig angreifbarer, aber auch kleinere Unternehmen werden angegriffen. Jeder, angefangen beim Empfang über das Sicherheitspersonal bis hin zu den Mitarbeitern der IT, ist ein potenzielles Opfer des Social Engineerings. Besonders die Mitarbeiter von Helpdesks und Callcentern sind Schwachstellen, weil sie darin geschult sind, hilfreich und auskunftsfreudig zu sein.

Social Engineering hat ernsthafte Folgen. Der Sinn des Social Engineerings ist es, jemanden aus illegalen Gründen dazu zu bringen, Informationen preiszugeben. Ein erfolgreiches So cial Engineering kann zur Preisgabe folgender Informationen führen:

Kennwörter von Benutzern oder Administratoren

Sicherheitsausweise oder Schlüssel für ein Gebäude, selbst für den Serverraum
geistiges Eigentum wie besondere Entwurfsvorlagen, Formeln oder andere Forschungs- und Entwicklungsdokumente
vertrauliche Finanzberichte
private und vertrauliche Informationen über Mitarbeiter

Kundenlisten und Vertriebsinformationen

Wenn Informationen dieser Art erst einmal nach draußen gelangt sind, kann das zu finanziellen Verlusten, einer geringeren Motivation der Mitarbeiter, einer Abnahme der Kundenbindung und rechtlichen Komplikationen führen. Hier gibt es unendlich viele (negative) Möglichkeiten.

Es ist schwierig, sich gegen Social Engineering zu schützen, weil Angriffe dieser Art nur schlecht dokumentiert sind. Selbst nach einem Angriff ist es schwierig, den angerichteten Schaden zu beseitigen und sich zu schützen, weil so viele Angriffsmethoden existieren. Außerdem rufen Firewalls und Systeme zum Verhindern von Eindringlingen oft ein falsches Gefühl von Sicherheit hervor, was das Problem nur größer macht.

Beim Social Engineering kennen Sie nie die nächste Angriffsmethode. Das Beste, was Sie unternehmen können, ist, aufmerksam zu sein, die Vorgehensweise der Social Engineers zu verstehen und sich gegen die bekanntesten Angriffsarten zu schützen, indem Sie in Ihrem Unternehmen dafür sorgen, dass Sicherheitsdinge einen hohen Stellenwert erhalten. Wie das geht, behandele ich im Rest dieses Kapitels.

Social-Engineering-Angriffe durchführen

Die Abläufe des Social Engineerings sind eigentlich ziemlich einfach. Grundsätzlich sieht es so aus, dass die Social Engineers die Einzelheiten der Prozesse in einem Unternehmen und den Informationssystemen herausfinden, um dann ihre Angriffe durchzuführen. Wenn sie diese Informationen haben, wissen sie, wie sie weitermachen müssen. Hacker führen Social Engineering normalerweise in vier einfachen Schritten durch:

1. eine Recherche durchführen

2. Vertrauen bilden

3. Beziehung ausnutzen, um durch Worte, Aktionen oder Technik an Informationen zu gelangen

4. die gesammelten Informationen für bösartige Zwecke ausnutzen

Diese Schritte können abhängig von der Art des Angriffs, der durchgeführt werden soll, zahlreiche Unterschritte und Techniken enthalten.

Bevor Social Engineers ihre Angriffe starten, benötigen sie ein Ziel. Dies ist der erste Schritt. Was wollen sie erreichen? Was werden sie wohl hacken? Warum? Wollen sie an geistiges Eigentum, Kennwörter oder Betriebsausweise gelangen oder wollen sie nur beweisen, dass die Verteidigungslinie eines Unternehmens durchbrochen werden kann? Wenn Sie als ethischer Hacker Social Engineering durchführen wollen, müssen Sie für sich genau diese Fragen beantworten.

Informationen abgreifen

Wenn Social Engineers wissen, was sie wollen, beginnen sie normalerweise ihren Angriff damit, dass sie öffentlich zugängliche Informationen über ihr(e) Opfer einholen. Viele Social Engineers sammeln diese Informationen über einen längeren Zeitraum hinweg, um keinen Verdacht zu erregen. Wenn Sie sich gegen Social Engineering schützen wollen, sollten Sie also unter anderem darauf achten, ob jemand offensichtlich Informationen über Ihr Unternehmen einholt.

Unabhängig davon, wie die Ausforschungsmethode letztendlich aussieht, benötigen alle Hacker für ein Eindringen in ein Unternehmen eine Liste der Mitarbeiter, einige zentrale Telefonnummern, das Neueste aus den sozialen Medienseiten des Internets oder einen Firmenkalender.

Das Internet verwenden

Heutzutage ist das Internet zum grundlegenden Suchmedium geworden. Einige Minuten der Suche in Google oder einer anderen Suchmaschine mit einfachen Schlüsselwörtern wie dem Namen des Unternehmens oder bestimmter Mitarbeiter liefert häufig sehr viele Informationen. Sie können weitere Informationen finden, indem Sie zum Beispiel unter de.finance.yahoo.com, list.genealogy.net oder 123people.de suchen. (Viele Organisationen – insbesondere deren Management – wären erschrocken, wenn sie sich einmal um die Informationen kümmerten, die online verfügbar sind.) Indem die Angreifer die Informationen der Suchmaschinen nutzen und die Website einer Firma durchstöbern, gewinnen sie häufig genügend Wissen, um einen Social-Engineering-Angriff zu starten.

Die Angreifer zahlen ein paar Euro, um jemanden ausführlich online ausforschen zu lassen. Diese Untersuchungen bringen so gut wie alle öffentlichen – und häufig auch viele private – Informationen über jemanden zutage.

Dumpster Diving

Dumster Diving, das »Tauchen im Abfall« ist ein wenig risikoreicher – und es hat etwas mit Schmutz zu tun. Aber es handelt sich dabei um eine sehr effektive Methode, um an Informationen zu gelangen. Dabei müssen Sie sich im wahrsten Sinne des Wortes durch Abfalleimer wühlen, um an Informationen über eine Firma zu gelangen.

Dumpster Diving kann extrem vertrauliche Informationen zutage fördern, weil viele Mitarbeiter glauben, dass ihre Informationen sicher sind, wenn sie erst einmal im Müll landen. Die meisten Menschen denken nicht über den potenziellen Wert der Dokumente nach, die sie wegwerfen. Diese Dokumente enthalten oft wertvolle Informationen, die einen Social Engineer mit genau dem Wissen versorgen, das er benötigt, um in ein Unternehmen einzudringen. Ein gerissener Social Engineer hält nach folgenden gedruckten Dokumenten Ausschau:

interne Telefonlisten

Organisationsdiagramme

Stellenbeschreibungen, die häufig auch Sicherheitshinweise enthalten

Netzwerkdiagramme

Kennwortlisten

Besprechungsnotizen

Tabellenblätter und Berichte

Ausdrucke von E-Mails, die vertrauliche Informationen enthalten

Das Schreddern von Dokumenten ist nur dann effektiv, wenn das Papier in konfettigroße Stücke geschnitten wird. Billige Schredder, die Papier nur in lange Streifen schneiden, sind bei einem entschlossenen Social Engineer wertlos. Mit ein wenig Zeit und Tesa kann ein Social Engineer ein Dokument wieder zusammensetzen. (Oder er überlässt diese Arbeit einem Scanner und der entsprechenden Software.)

Hacker verschaffen sich vertrauliche Informationen über Personen oder das Geschäftliche oft dadurch, dass sie in Restaurants, Cafés und Flughäfen Gesprächen lauschen. Menschen, die laut in ihr Handy sprechen, sind ebenfalls eine sehr gute Quelle für sensible Informationen. (Nennt man das ausgleichende Gerechtigkeit?) Es ist erstaunlich, was ich an öffentlichen Orten oder beim Essen in Restaurants alles zu hören bekommen habe, ohne lauschen zu wollen.

Die Bösewichte suchen im Abfall auch CD-ROMs und DVDs, alte Computergehäuse (ganz besonders die mit noch lauffähigen Festplatten) und Sicherungsbänder.

Lesen Sie Kapitel 6, um mehr über Abfall und andere körperlich existierende Sicherheitsdinge und die entsprechenden Gegenmaßnahmen zu erfahren.

Telefonsysteme

Angreifer können Informationen dadurch erhalten, dass sie die Funktion Wählen-durch-Ansagen-eines-Namens verwenden, die bei den meisten Voicemail-Systemen existiert. Um auf diese Funktion zugreifen zu können, geben Sie im Anschluss an die zentrale Telefonnummer des Unternehmens oder nach dem Erreichen der Voicemailbox einer Person 0 ein. Dieser Trick funktioniert am besten, wenn die Geschäftszeiten vorbei sind, weil dann in der Regel niemand mehr antwortet.

Angreifer können ihre Identität dadurch verheimlichen, dass sie verbergen, von wo aus sie anrufen. Einige Wege, um dies zu erreichen, sind:

Die eigene Telefonnummer kann normalerweise unterdrückt werden. Informationen hierzu finden Sie beim Telefonanbieter oder im Handbuch einer eventuell vorhandenen Telefonanlage.

Geschäftliche Telefone, die in einem Büro einen Telefonswitch verwenden, sind schwieriger auszutricksen. Aber normalerweise benötigt ein Hacker nur das Handbuch und das administrative Kennwort der Switchsoftware. Bei Telefonsystemen, die mit dem Voice over Internet Protocol (VoIP) arbeiten, klappt so etwas nicht.

VoIP-Server wie der Open-Source-Server Asterisk (www.asterisk.org) können benutzt und so konfiguriert werden, dass sie jede beliebige Nummer senden.

Social Engineers können gelegentlich auch dann Informationen finden, wenn ihre Opfer abwesend sind, indem sie nur Voicemail-Nachrichten zuhören. Sie können sogar die Stimme eines Opfers studieren, indem sie dessen Voicemail-Nachrichten, Podcasts oder Webcasts lauschen und dabei lernen, diese Personen nachzuahmen.

Phishing-E-Mails

Obwohl seit Jahren bekannt, sind Phishing-E-Mails, das betrügerische Entlocken von Daten mithilfe von E-Mails, immer noch eine sehr beliebte und – erstaunlicherweise – sehr erfolgreiche Methode, mit der Angreifer Informationen über beziehungsweise Zugriff auf sensible Daten erhalten. Häufig reicht es aus, ein paar E-Mails gezielt zu versenden, um Kennwörter oder Informationen zu erhalten oder Malware auf Computern unterzubringen.

Sie können Ihre eigenen Phishing-Erfahrungen sammeln. Richten Sie zu diesem Zweck ein fingiertes E-Mail-Konto ein, über das Sie Informationen anfordern oder E-Mails mit Verknüpfungen auf bösartige Webseiten an Mitarbeiter oder Benutzer versenden, und warten Sie ab, was geschieht. Das ist wirklich so einfach. Sie werden überrascht sein, wie anfällig Ihre Benutzer auf diesen Trick reagieren. Bei meinen Phishing-Tests hatte ich immer eine Erfolgsquote von zehn bis fünfzehn Prozent. (»Erfolgsquote« bedeutet hier, dass die E-Mails angeklickt und Informationen offengelegt wurden.) So etwas ist nicht gut für die Sicherheit oder das geschäftliche Umfeld eines Unternehmens.

Zum Durchführen von Phishing-Tests können Sie aber auch fertige Werkzeuge verwenden. Es gibt für dies kommerzielle Programme, aber eine gute Open-Source-Alternative hier-zu ist das Simple Phishing Toolkit, das auch unter dem Namen spt bekannt ist (www.sptoolkit.com). Seine Installation und Konfiguration ist nicht unbedingt einfach, aber wenn Sie diese Hürde erst einmal genommen haben, kann es Ihre Phishing-Tests mit erstaunlichen Dingen unterstützen. Es gibt E-Mail-Vorlagen, die Möglichkeit, echte Webseiten »abzukratzen« (to scrape; Kopien der Webseiten herzustellen) und für eigene Zwecke umzukonfigurieren, und Sie können diverse Berichte erstellen.

Vertrauen bilden

Vertrauen – schwierig zu gewinnen und so leicht zu verlieren. Vertrauen ist der Kern des Social Engineerings. Die meisten Menschen vertrauen anderen, bis sie zum Gegenteil gezwungen werden. Menschen wollen einander helfen, und zwar ganz besonders dann, wenn Vertrauen aufgebaut werden kann und die Bitte um Hilfe ernsthafter Natur zu sein scheint. Die meisten Menschen möchten am liebsten im Team arbeiten und erkennen gar nicht, was sie anrichten, wenn sie zu viele Informationen preisgeben. Auch wenn es häufig längere Zeit dauert, ein tiefes Vertrauen aufzubauen, gelingt so etwas ausgefuchsten Social Engineers in Minuten oder Stunden. Wie schaffen die das?

Liebenswürdigkeit: Wer unterhält sich nicht gerne mit einer liebenswürdigen Person? Jeder mag Höflichkeit. Je freundlicher Social Engineers – ohne zu übertreiben – sind, desto besser stehen ihre Chancen, das zu erhalten, was sie haben wollen. Social Engineers beginnen eine Beziehung häufig dadurch, dass sie auf gemeinsame Interessen verweisen. Sie verwenden dazu die Informationen, die sie in der Ausspähungsphase gewonnen haben, um herauszufinden, was ein Opfer mag. Einige wenige unauffällige, aber gut platzierte Kommentare können der Beginn einer netten neuen Freundschaft sein. Und es schadet nicht, wenn man dabei auch noch gut aussieht.

Glaubwürdigkeit: Glaubwürdigkeit beruht zum einen aus dem Wissen, das der Social Engineer hat, und zum anderen daraus, wie liebenswürdig er ist. Social Engineers schlüpfen gerne in eine Rolle – sie treten zum Beispiel als neue Mitarbeiter oder als Mitarbeiter auf, die das Opfer bisher noch nicht getroffen hat. Sie können aber auch einen Lieferanten spielen, der mit dem Unternehmen in geschäftlichen Beziehungen steht. Sie zeigen häufig eine gewisse Autorität, um das Opfer zu beeindrucken. Der beliebteste Trick beim Social Engineering ist, etwas sehr Nettes zu tun, weil sich dann das Opfer verpflichtet fühlt, ebenfalls nett zu sein.

Die Beziehung ausnutzen

Nachdem Social Engineers das Vertrauen ihrer ahnungslosen Opfer gewonnen haben, bringen sie sie dazu, mehr Informationen auszuplaudern, als sie sollten. Das war's dann. Jetzt fehlen nur noch ein paar Kleinigkeiten, die sich ein Social Engineer entweder von Angesicht zu Angesicht oder über die Kommunikationsmethode holt, mit der das Opfer am besten klarkommt.

Durch Worte und Taten täuschen

Gerissene Social Engineers kennen viele Wege, um von ihren Opfern interne Informationen zu erhalten. Sie sind häufig redegewandt und halten die Konversation in Gang, ohne dass die Opfer viel Zeit bekommen, über das nachzudenken, was sie von sich geben. Und wie können Sie Social Engineers erkennen? Hier ein paar Tipps:

Es wird besonders freundlich aufgetreten oder man ist besonders bemüht.

Es werden Namen von Personen fallen gelassen, die im Unternehmen bekannt sind.

Es wird mit der eigenen Position im Unternehmen angegeben.

Es wird mit Beschwerden gedroht, wenn Anfragen nicht beantwortet werden.

Auf Fragen wird nervös reagiert (die Lippen werden gespitzt und es wird herumgezappelt – insbesondere mit den Händen und den Füßen, weil es viel mehr Konzentration verlangt, Körperteile zu kontrollieren, die weiter vom Gesicht fern sind).

Einzelheiten werden übertrieben dargestellt.

Es kommt zu physiologischen Veränderungen wie einer Erweiterung der Pupillen oder einer Erhöhung der Stimmlage.

Man wirkt gehetzt.

Es kommt zu einer Weigerung, selbst Informationen zu geben.

Informationen werden freiwillig gegeben, und ungestellte Fragen beantwortet.

Es werden Informationen gekannt, die nur für Interne bestimmt sind.

Man redet auch als Außenstehender wie ein Interner.

Es werden komische Fragen gestellt.

Bei einer schriftlichen Kommunikation werden Wörter falsch geschrieben.

Bei einem guten Social Engineer fallen diese Aktionen kaum auf, aber es sind Signale dafür, dass irgendetwas nicht in Ordnung ist.

Oft tun Social Engineers andern einen Gefallen und drehen dann den Spieß herum, indem sie selbst um Hilfe bitten. Dieser gerne angewandte Trick funktioniert eigentlich ganz gut. Social Engineers setzen häufig auch etwas ein, das umgekehrtes Social Engineering genannt wird. Dabei wird Hilfe angeboten, falls es einmal zu einem besonderen Problem kommen sollte. Dann vergeht in der Regel einige Zeit, es kommt zu diesem Problem (das der Social Engineer häufig selbst hervorgerufen hat), und dann hilft er, es zu lösen, und ist der große Held. Danach wird ein argloser Mitarbeiter des Unternehmens um einen Gefallen gebeten. Und viele fallen darauf rein.

Es ist relativ einfach, wie ein Mitarbeiter eines Unternehmens aufzutreten. Social Engineers können etwas tragen, das wie eine Firmenuniform aussieht, einen Betriebsausweis fälschen oder sich einfach wie ein ganz normaler Angestellter anziehen. Die Leute denken dann: »Mensch, der sieht aus wie ich und handelt auch so, also muss er einer von uns sein.« Social Engineers spielen auch gerne einen Angestellten, der von unterwegs anruft. Dieser Trick ist ein sehr beliebter, um das Personal einer Supportabteilung oder eines Callcenters auszunutzen. Social Engineers wissen, dass sich die Aufgaben dieser Leute ständig wiederholen, weshalb sie leicht in eine Routine verfallen.

Selbst Profis können hereinfallen

Und so wurde ich einmal die Beute eines Social Engineers, weil ich geredet habe, ohne nachzudenken. Ich habe meinen ISP angerufen und dem Mitarbeiter des technischen Supports dort erzählt, dass ich mich nicht mehr an mein Kennwort erinnern könne. Dies hörte sich wie der Anfang eines von mir gestarteten trickreichen Social Engineerings an, aber stattdessen erwischte es mich. Der clevere Supportmitarbeiter machte eine kurze Pause, so als ob er meine Accountinformationen aufriefe, und fragte mich dann: »Welches Kennwort haben sie denn schon ausprobiert?«

Ich Dummkopf fing nun an, alle Kennwörter herunterzubeten, an die ich mich erinnern konnte. Das Telefon wurde für einen Augenblick still. Er setzte mein Kennwort zurück und gab mir das neue Kennwort durch. Nachdem ich aufgelegt hatte, schoss es mir durch den Kopf: »Was ist da gerade passiert? Ich bin über Social Engineering ausspioniert worden.« Das mag von seiner Seite aus noch nicht einmal bewusst der Fall gewesen sein, da seine Fragen Teil der Prozedur zum neuen Aufsetzen eines Kennwortes sein konnten, aber auf meiner Seite war es ein mehr als dummer Fehler. Sie können sich nicht vorstellen, wie sehr ich mich über mich geärgert habe. Ich änderte alle Kennwörter, die ich ausgeplaudert hatte – für den Fall, dass sie gegen mich verwendet werden würden.

Und was lehrt uns das? Geben Sie Ihre Kennwörter unter keinen Umständen preis – gegenüber niemandem, weder Kollegen, dem Chef oder irgendjemandem sonst, und zwar selbst dann nicht, wenn Sie dazu aufgefordert werden.

Durch Technik täuschen

Technik kann das Leben eines Social Engineers erleichtern – und angenehmer gestalten. Oft kommt eine bösartige Anfrage von einem Computer oder einem anderen elektronischen Gerät, das das Opfer zu kennen glaubt. Aber das Manipulieren eines Computernamens, einer E-Mail-Adresse, einer Faxnummer oder einer Netzwerkadresse ist nicht schwer. (Diese Vorgehensweise wird auch Spoofing genannt.) Glücklicherweise können Sie, wie ich im folgenden Abschnitt beschreibe, gegen diese Art von Angriff Maßnahmen ergreifen.

Hacker können mithilfe von Technik täuschen, indem sie zum Beispiel eine E-Mail senden, in der das Opfer nach kritischen Informationen gefragt wird. Solch eine E-Mail enthält meistens eine Verknüpfung, die das Opfer zu einer professionell und seriös aussehenden Website führt, die Kontendaten wie Benutzer-IDs, Kennwörter und Kontonummern »aktualisiert«. Dies kann auch auf Seiten wie Facebook oder Myspace geschehen.

Auch viele Spam- und Phishingnachrichten verwenden diesen Trick. Die meisten Benutzer werden mit so viel Spam und anderen unerwünschten E-Mails überschüttet, dass sie häufig vorhandene Schutzmechanismen nicht aktivieren und E-Mails mit Anhängen öffnen, bei denen sie dies besser unterlassen hätten. Auch diese E-Mails sehen professionell und glaubwürdig aus. Sie verleiten Leute häufig dazu, im Gegenzug für ein Geschenk persönliche Informationen preiszugeben. Diese Tricks des Social Engineerings werden in Form von gefälschten Internet-Popup-Fenstern oder versendeten Nachrichten auch von Hackern eingesetzt, die bereits in das Netzwerk eingedrungen sind. Auch Beiträge in Foren und SMS über Handys sind davor nicht gefeit.

In einigen bekannt gewordenen Fällen sind Hacker hingegangen und haben ihren Opfern Software zugeschickt, die angeblich Fehler behebt (man nennt so etwas auch einen Patch). Dabei wurde vorgegeben, dass diese Software von Microsoft oder einem anderen bekannten Softwarehersteller stamme. Und nun geschieht Folgendes: Der Benutzer denkt, dass das zwar wie eine Ente aussieht und wie eine Ente quakt – aber keine Ente sein kann! In Wirklichkeit stammt die Nachricht von einem Hacker, der nur will, dass Sie den »Patch« installieren, was dann dafür sorgt, dass Sie ein trojanisches Pferd (das in diesem Umfeld auch nur als Trojaner bezeichnet wird) installieren, das Anmeldeinformationen mitschreibt oder in einer Anwendung, die auf Ihrem Computer oder in Ihrem Netzwerk läuft, eine Hintertür öffnet. Hacker verwenden eine solche Hintertür, um sich in das System des Unternehmens zu hacken, oder sie benutzen die Computer des Opfers (die despektierlich auch Zombies genannt werden) als Ausgangsplattform für den Angriff auf ein anderes System.

Sogar Viren und Würmer können Social Engineering verwenden. So gaukelte zum Beispiel der LoveBug-Wurm Benutzern vor, dass sie eine(n) geheime(n) Verehrer(in) hätten. Wenn die Opfer die E-Mail öffneten, war es bereits zu spät. Ihre Computer waren infiziert (und – was vielleicht noch schlimmer war – es gab keine geheimen Verehrer).

Viele Computer verwendende Vorgehensweisen des Social Engineerings können anonym über Internet-Proxys, Anonymisierer, Remailer (das sind anonymisierende E-Mail-Dienste im Internet) und Relay-SMTP-Server erfolgen. Wenn jemand auf eine solche Anfrage nach persönlichen oder firmeninternen Informationen hereinfällt, ist es so gut wie unmöglich, die Quelle des Angriffs ausfindig zu machen.

Maßnahmen gegen Social Engineering

Gegen Social Engineering können Sie nur wenige gute Verteidigungslinien aufstellen. Selbst bei starken Sicherheitssystemen kann der naive oder unwissende Benutzer den Social Engineer in das Netzwerk hineinlassen. Unterschätzen Sie niemals einen Social Engineer.

Richtlinien

Richtlinien helfen bei der Abwehr von Social Engineering auf lange Sicht gesehen am besten in diesen Bereichen:

Klassifizierung von Daten, damit Benutzer nur auf bestimmte Informationen zugreifen können

Vergabe von Personalnummern direkt bei der Einstellung von Mitarbeitern und Leiharbeitern

Vorgaben für eine akzeptable Computernutzung

Löschen von Personalnummern für Mitarbeiter, Leiharbeiter und Berater, die nicht länger im Unternehmen tätig sind

Festlegen von Kennwörtern und Einrichten eines Kennwortturnus

Reaktion auf Sicherheitsprobleme wie verdächtiges Verhalten
saubere Handhabung geheimer und vertraulicher Informationen

Begleitung von Gästen

Diese Richtlinien müssen für jeden im Unternehmen verpflichtend sein. Halten Sie sie aktuell und geben Sie sie an die Endbenutzer weiter.

Das Bewusstsein der Benutzer und Benutzerschulung

Die beste Verteidigungslinie bildet eine Schulung der Mitarbeiter, damit diese in der Lage sind, Social Engineering zu erkennen und darauf zu reagieren. Dem folgt eine Initiative, die auf Dauer die Aufmerksamkeit der Benutzer wachhalten soll, um das Sicherheitsbewusstsein der Einzelnen für die Gefahren des Social Engineerings nicht einschlafen zu lassen. Verbinden Sie die Schulungen und das Bewusstseinstraining mit besonderen Sicherheitsrichtlinien – wobei auch Sie sich um ein spezielles Sicherheitstraining kümmern sollten.

Sie sollten darüber nachdenken, das Sicherheitstraining von einem bewährten Trainer extern durchführen zu lassen. Mitarbeiter nehmen Schulungen häufig ernster, wenn sie von einem Außenstehenden abgehalten werden. Die Vergabe des Sicherheitstrainings an Dritte ist eine gute Investition.

Während Sie allmählich mit den Benutzerschulungen und dem Wecken eines Sicherheitsbewusstseins vorankommen, können die folgenden Tipps helfen, Social Engineering auf lange Sicht zu bekämpfen:

Behandeln Sie das Wecken des Sicherheitsbewusstseins und die Schulungen als Investition.

Führen Sie die Schulungen dauerhaft durch, damit der Sicherheitsgedanke immer frisch im Gedächtnis haften bleibt.

Nehmen Sie den Datenschutz und Sicherheitsaufgaben in die einzelnen Stellenbeschreibungen auf.

Passen Sie die Schulungsinhalte so weit wie möglich an Ihr Publikum an.

Erstellen Sie für die Funktionsträger und Benutzerrollen ein Programm, das das Bewusstsein für Social Engineering weckt.

Packen Sie so wenig Technik wie möglich in Ihre Botschaften.

Entwickeln Sie ein Anreizprogramm für das Verhindern und Melden von Störfällen.

Gehen Sie mit gutem Beispiel voran.

Geben Sie die folgenden Tipps an Ihre Benutzer weiter, um Social-Engineering-Angriffe zu verhindern:

Geben Sie niemals Informationen weiter, wenn Sie nicht sicher sind, dass die Person, die die Informationen anfordert, sie auch benötigt und die Person ist, die zu sein sie vorgibt. Wenn die Anforderung telefonisch erfolgt, überprüfen Sie die Identität des Anrufers und rufen Sie zurück.

Klicken Sie niemals in einer E-Mail auf eine Verknüpfung, die auf Informationen verweist, die angeblich aktualisiert werden müssen. Dies gilt ganz besonders für nicht angeforderte E-Mails.

Es kann schon gefährlich sein, die Maus über einer Verknüpfung schweben zu lassen, da bereits dadurch seitenübergreifendes Skripting (das so genannte Cross-site Scripting) und andere Exploits ausgeführt werden können.

Seien Sie vorsichtig, wenn es darum geht, in einem sozialen Netzwerk wie Facebook oder LinkedIn persönliche Daten preiszugeben. Seien Sie auch vor Leuten auf der Hut, die behaupten, Sie zu kennen oder die Ihr »Freund« sein wollen. Ihre Absicht könnte böser Natur sein.

Begleiten Sie in einem Gebäude alle Gäste.

Öffnen Sie niemals Anhänge von E-Mails oder Dateien, die von Fremden stammen.

Geben Sie Kennwörter niemals weiter.

Auch diese Vorschläge können helfen, Social Engineering abzuwehren:

Lassen Sie es niemals zu, dass sich ein Fremder in Ihr Netzwerk einstöpselt oder sich mit Ihrem drahtlosen Netzwerk verbindet – auch nicht für nur wenige Sekunden. Ein Hacker kann einen Netzwerkanalysator, einen Trojaner oder andere Malware direkt in Ihrem Netzwerk platzieren.

Führen Sie von Ihren IT-Gegenständen eine Bestandsliste – sowohl in Papierform als auch elektronisch. Unterweisen Sie alle Mitarbeiter darin, wie mit den einzelnen Beständen umzugehen ist.

Entwickeln Sie Richtlinien für Computermedien und für das unwiderrufliche Löschen von Dokumenten und setzen Sie diese Richtlinien durch. Dies sorgt dafür, dass sorgfältig mit Daten umgegangen wird und dass sie an Ort und Stelle bleiben.

Verwenden Sie einen Schredder mit Partikelschnitt. Besser noch ist es, eine Firma zu engagieren, die sich hauptberuflich mit dem Schreddern vertraulicher Dokumente beschäftigt.

Diese Techniken unterstützen die Inhalte der formalen Schulungen:

Einarbeitung neuer Mitarbeiter, Mittagessen bei Schulungen, E-Mails und Rundschreiben

Anleitung zum Überleben von Social Engineerings mit Tipps und häufig gestellten Fragen

Nettigkeiten wie Bildschirmschoner, Mauspads, Haftnotizen, Poster im Büro, die Nachrichten tragen, die an die Sicherheitsprinzipien erinnern sollen

6

Physische Sicherheitseinrichtungen

In diesem Kapitel ...

Die Bedeutung physischer Sicherheitseinrichtungen verstehen

Nach Schwachstellen bei den physischen Sicherheitseinrichtungen Ausschau halten

Maßnahmen gegen Angriffe auf die physischen Sicherheitseinrichtungen ergreifen

Ich bin der festen Überzeugung, dass Datensicherheit mehr auf nicht technischen Richtlinien, Prozeduren und geschäftlichen Abläufen als auf Hardware und Softwarelösungen beruht, auf die viele schwören. Physische Sicherheitseinrichtungen – der Schutz des körperlich vorhandenen Eigentums – umfasst sowohl technische als auch nicht technische Komponenten.

Physische Sicherheitseinrichtungen sind ein wichtiger Bestandteil eines Programms zur Datensicherheit, der gerne übersehen wird. Ihre Fähigkeit, die Daten zu sichern, hängt davon ab, wie gut Sie Ihre Site physisch schützen können. Ich gehe in diesem Kapitel auf physische Sicherheitslücken ein, die bei Computern und Daten vorkommen können und um die Sie sich in Ihren Systemen kümmern sollten. Ich zeige aber auch kostenlose oder preiswerte Gegenmaßnahmen, die Sie einrichten können, um die Gefahr physischer Schwachstellen in Ihrem Unternehmen zu minimieren.

Ich empfehle nicht, in ein System einzubrechen oder dort einzudringen, was notwendig wäre, um bestimmte physische Schwachstellen der Sicherheitseinrichtungen vollständig zu testen. Beschäftigen Sie sich stattdessen mit diesen Bereichen, um herauszufinden, wie weit Sie gehen können. Schauen Sie sich die in diesem Kapitel behandelten Schwachstellen einmal mit anderen Augen an – aus der Perspektive eines Außenstehenden. Vielleicht entdecken Sie dabei Löcher in der physischen Sicherheitsstruktur, die Ihnen bisher entgangen sind.

Erste physische Sicherheitslöcher identifizieren

Was auch immer Sie an Sicherheitstechnik in Ihre Computer und Netzwerke gesteckt haben, kann so gut wie immer gehackt werden, wenn sich ein Angreifer in Ihrem Gebäude oder dem Serverraum befindet. Deshalb ist es wichtig, physische Schwachstellen der Sicherheitseinrichtungen zu finden und zu beseitigen, bevor sie ausgenutzt werden können.

In kleineren Unternehmen mögen physische Schwachstellen keine große Rolle spielen. Viele physische Sicherheitslücken basieren auf Faktoren wie diesen hier:

Größe des Gebäudes

Zahl der Mitarbeiter

Standort und Zahl der Ein- und Ausgänge des Gebäudes

Unterbringung der Datenzentrale und anderer vertraulicher Informationen

Es gibt buchstäblich Tausende von möglichen physischen Schwachstellen in Ihren Sicherheitseinrichtungen. Und die Bösen halten ständig Ausschau nach ihnen – es ist also besser, wenn Sie es sind, der sie zuerst findet. Hier kommen Beispiele physischer Schwachstellen, auf die ich gestoßen bin, als ich Sicherheitsüberprüfungen durchgeführt habe:

Der Empfang ist nicht besetzt.

Besucher müssen sich weder anmelden noch werden sie auf ihrem Weg durch das Gebäude begleitet.

Die Mitarbeiter vertrauen Besuchern, weil diese die Uniform eines Lieferanten tragen oder behaupten, den Kopierer oder einen Computer zu reparieren.

Es gibt keine elektronischen Zugriffskontrollen für Büros oder Türen können aufgrund fehlender Schlösser nicht gesichert werden.

Auf die Videoüberwachungsanlage und die Verwaltungssysteme des Datenzentrums kann mit normalen Benutzerkonten über das Netzwerk zugegriffen werden.

Türen sind offen verkeilt.

Der Serverraum ist öffentlich zugänglich.

Medien für die Datensicherung liegen herum.

Computerhardware wie Laptops, Handys und Tablets und Softwaremedien liegen ungesichert herum.

Sensible Daten werden einfach über den Papierkorb entsorgt.

In Papierkörben finden sich CDs und DVDs mit vertraulichen Daten.

Wenn jemand diese physischen Sicherheitslücken ausnutzt, kann Dramatisches geschehen. Jeder, der sich im Gebäude aufhält, könnte diese Schwachstellen problemlos ausnutzen.

Fragen an Jack Wiles zur physischen Sicherheit

Hier beantwortet Jack Wiles, ein Pionier auf dem Gebiet der Sicherheit in der Informa tionstechnologie mit über 30 Jahren Erfahrung, Fragen zu physischen Sicherheitseinrichtungen und dazu, wie ihr Fehlen häufig zu ungeschützten Daten führt.

Für wie wichtig halten Sie physische Sicherheitsstrukturen im Vergleich mit der technischen Sicherheit?

JW: Diese Frage ist mir schon oft gestellt worden, und aufgrund meiner jahrzehntelangen Erfahrung mit physischen und mit technischen Sicherheitseinrichtungen habe ich darauf eine Standardantwort: Die teuersten sicherheitstechnischen Gegenmaßnahmen und Werkzeuge sind wertlos, wenn die physischen Sicherheitsmaßnahmen nur schwach ausgeprägt sind. Wenn ich mein Team in Ihr Firmengebäude hineinbekomme, bin ich in der Lage, ein Büro aufzusuchen und mich als Benutzer anzumelden. Dabei habe ich dann Ihre gesamten technischen Sicherheitssysteme links liegen gelassen. Wenn wir in der Vergangenheit während Sicherheitsüberprüfungen erst einmal im Gebäude waren, ist uns immer wieder aufgefallen, dass man einfach dachte, wir wären Mitarbeiter. Wenn wir mit echten Mitarbeitern in Berührung kamen, waren wir immer freundlich und hilfsbereit. Die Reaktion auf unsere Freundlichkeit bestand dann fast immer darin, dass uns bei allem geholfen wurde, nach dem wir fragten.

Wie gelangten Sie in der Regel in die Gebäude, wenn Sie für Firmen »Ich-komme-rein-Tests« durchgeführt haben?

JW: In vielen Fällen sind wir einfach in das Gebäude hinein- und bei mehrstöckigen Gebäuden direkt zum Fahrstuhl gegangen. Wenn wir im Gebäude aufgehalten wurden, hatten wir immer eine Geschichte bereit. Normalerweise sah die so aus, dass wir behaupteten, wir wären davon ausgegangen, dass hier die Personalabteilung sei und wir uns bewerben wollten. Wenn wir an der Tür gestoppt wurden und die Information erhielten, wo die Personalabteilung zu finden sei, sind wir gegangen und haben an demselben Gebäude nach weiteren Eingängen gesucht. Wenn wir an einer anderen Tür einen Raucherbereich im Freien gefunden haben, hielten wir uns dicht an andere Mitarbeiter und gingen einfach zusammen mit ihnen in das Gebäude. Dieses Sich-eng-an-andere-Halten funktioniert auch bei den meisten Eingängen, die den Zugang nur über eine Karte zulassen. Ich bin in meiner Laufbahn niemals angehalten und ausgefragt worden. Wir sagten beim Hineingehen einfach »Danke« und konnten dann im Gebäude tun und lassen, was wir wollten.

Was konnten Sie alles aus einem Gebäude herausholen?

JW: Es war ziemlich einfach, genügend wichtige Dokumente mitzunehmen, um nachzuweisen, dass wir drinnen gewesen sind. In vielen Fällen fanden wir die Dokumente in Papierkörben neben Schreibtischen (insbesondere dann, wenn deren Besitzer wichtig waren). Für uns war das so, als riefen sie: »Nimm mich zuerst!« Es war interessant zu erfahren, dass viele Firmen Sammelstellen für Altpapier erst dann leeren, wenn sie voll sind. Wir halten weiterhin Ausschau nach Räumen mit Schreddern. Die klein geschnittenen Unterlagen werden häufig in normale Plastiksäcke gepackt, die wir dann einfach in unseren Wagen luden. Es gelang uns, viele dieser Dokumente in wenigen Stunden wieder zusammenzusetzen. Wir haben herausgefunden, dass ein Dokument selbst dann problemlos zu lesen war, wenn die einzelnen Papierstreifen einer Seite in einem Abstand von zwei bis drei Zentimetern auf eine Tafel geklebt wurden.

Jack Wiles ist Präsident von The TrainingCo (www.thetrainingco.com) und führt die jährliche Sicherheitskonferenz Techno Security durch.

Schwachstellen im Büro lokalisieren

Es gibt physische Schwachstellen, von denen niemand glaubt, dass sie ausgenutzt werden könnten, aber jede Organisation, die sich nicht ernsthaft mit physischen Sicherheitsproblemen beschäftigt, kann zu einem Opfer werden.

Schauen Sie sich die Schwachstellen an, die in den nächsten Abschnitten behandelt werden, wenn Sie die physischen Sicherheitseinrichtungen eines Unternehmens prüfen. Dazu benötigen Sie so gut wie kein technisches Verständnis oder teure Geräte. Es spielt zwar auch die Größe des Gebäudes eine Rolle, aber die Tests kosten eigentlich nur wenig Zeit. Hier geht es im Prinzip darum, herauszufinden, ob die physischen Sicherheitskontrollen den Risiken entsprechen. Auf jeden Fall sollten Sie praktisch denken und Ihren Verstand gebrauchen.

Die Infrastruktur eines Gebäudes

Türen, Fenster und Wände sind die kritischen Stellen eines Gebäudes – und besonders eines Serverraums oder eines Bereichs, in dem vertrauliche Informationen gelagert werden.

Angriffspunkte

Hacker sind in der Lage, eine Handvoll Schwachstellen in der Infrastruktur eines Gebäudes auszunutzen. Ziehen Sie die folgenden gerne übersehenen Angriffspunkte in Ihre Über legungen ein:

Stehen Türen offen und sind sie blockiert? Wenn ja, warum?

Lassen es Spalten unten an wichtigen Türen zu, dass jemand einen Ballon oder ein anderes Hilfsmittel verwendet, um einen Sensor in das Innere eines »sicheren« Raumes zu bringen?

Ist es schwierig, Türen aufzubrechen? Häufig reicht ein einfacher Tritt gegen das Türschloss aus.

Woraus besteht das Gebäude oder der Serverraum (Stahl, Holz, Beton), und wie stabil sind die Wände und die Zugänge? Wie widerstandsfähig ist das Material gegen Erdbeben, Stürme, heftigen Regen und Fahrzeuge, die in das Gebäude fahren? Würden Katastrophen das Gebäude so »öffnen«, dass Plünderer und andere Personen mit böswilligen Absichten Zugang zum Serverraum und anderen wichtigen Bereichen erhielten?

Bestehen Türen und Fenster aus Glas? Ist das Glas durchsichtig? Ist das Glas schlagfest oder schusssicher?

Befinden sich Türangeln an Außenseiten, was es Eindringlingen erleichtert, sie auszuhebeln?

Sind Türen, Fenster und andere Zutrittsmöglichkeiten mit der Alarmanlage verbunden?

Gibt es Rollos, die nach oben gedrückt werden könnten? Gehen die Wände bis an die Decke? Anderenfalls könnte jemand darüberklettern und Zugriffskontrollen an Fenstern und Türen umgehen.

Gegenmaßnahmen

Viele Maßnahmen gegen Schwachstellen bei der Sicherheit von Gebäuden können nur von einem Experten für die Wartung, Konstruktion oder Verwaltung eines Gebäudes vorgenommen werden. Wenn dies nicht gerade Ihr Fachgebiet ist, sollten Sie während der Entwurfs-, Überprüfungs- und Umbaumaßnahmen externe Fachkräfte anheuern, damit alles auch ver nünftig kontrolliert wird. Hier kommen ein paar Tipps, um die Sicherheit von Gebäuden zu erhöhen:

massive Türen und hochwertige Schlösser
fensterlose Wände für den Serverraum
ein ständig überwachtes Alarmsystem mit netzwerkbasierten Kameras an allen Zutrittspunkten

Beleuchtung (besonders an Eingangs- und Ausgangsbereichen)

Drehkreuze und Schleusen, die nur das Passieren einer Person gleichzeitig zulassen

Zäune (aus Stacheldraht)

Versorgung

Sie müssen sich auch über die Versorgung des Gebäudes und des Serverraums mit Strom und Wasser und gegen Feuer Gedanken machen, wenn es um die physischen Sicherheitseinrichtungen geht. Dies kann im Unglücksfall helfen, Feuer zu bekämpfen und die Zugangskontrollen im Falle einer Stromunterbrechung am Laufen zu halten. Leider kann die Gebäudeversorgung aber auch gegen Sie verwendet werden, wenn ein Eindringling in das Gebäude gelangen sollte.

Angriffspunkte

Eindringlinge nutzen gerne die Schwachstellen aus, die mit der Versorgung des Gebäudes zu tun haben. Beachten Sie die folgenden Angriffspunkte, die gerne übersehen werden:

Befinden sich die Geräte zur Aufrechterhaltung der Stromversorgung (Mehrfachsteckdosen, USV und Generatoren) an Ort und Stelle? Wie einfach kann auf die Ein-/Ausschalter dieser Geräte zugegriffen werden? Kann ein Eindringling an die Geräte kommen und einen Schalter umlegen?

Was geschieht mit physischen Sicherheitsmechanismen, wenn es zu einer Stromunterbrechung kommt? Öffnen sie sich und lassen jeden durch oder schließen sie sich und lassen niemanden passieren, bis der Strom wieder da ist?

Wo befinden sich Sensoren zum Erkennen und Verhindern von Bränden – einschließlich Rauchmelder, Feuerlöscher und Sprinkleranlage? Finden Sie heraus, wie ein bösartiger Eindringling diese Einrichtungen missbrauchen könnte. Sind sie Bestandteil des Netzwerks und mit einer automatischen Anmeldung versehen? Sind die Geräte so platziert, dass sie bei einem Fehlalarm Schäden an elektrischen Geräten hervorrufen können?

Wo befinden sich Absperrventile für Wasser und Gas? Haben Sie Zugang dazu oder muss im Falle eines Falles ein Hausmeister gerufen werden?

Befinden sich Telefonleitungen (Kabel und Glasfaser) außerhalb des Gebäudes über dem Boden, wodurch sie jemand mit den entsprechenden Werkzeugen anzapfen könnte? Können sie beim Graben leicht durchtrennt werden? Hängen sie an Masten, die bei Unfällen oder vom Wetter zerstört werden könnten?

Gegenmaßnahmen

Sie müssen gegebenenfalls während der Entwurfsphase, der Überprüfung oder beim Umbau von Etagen Experten hinzuziehen. Der Schlüsselbegriff hier heißt Platzierung:

Sorgen Sie dafür, dass die zentralen Kontrollen der Gebäudeversorgung hinter Türen platziert sind, die geschlossen und abschließbar sind und sich außerhalb der Sichtweite eines Publikumsverkehrs befinden.

Sorgen Sie dafür, dass niemand, der durch das Gebäude geht, die Kontrollen erreichen und sie ein- oder ausschalten kann.

Wirksame Verteidigungsmaßnahmen sind Abdeckungen für Schalter und Steuerelemente von Thermostaten und abschließbare Schalter bei Servern, USB-Ports und Erweiterungsschächten von PCs. Verlassen Sie sich aber nicht nur auf Sicherheitsmaßnahmen dieser Art, weil sie mit einem Hammer schnell aufgebrochen werden können.

Ich habe einmal die physischen Sicherheitseinrichtungen eines großen Unternehmens überprüft, das Speicherplatz im Internet vermietet. Ich passierte die Kontrolle am Eingang, hielt mich eng an andere und schlüpfte dadurch durch alle Türkontrollen, um zum Serverraum zu gelangen. Nachdem ich da hineingegangen war, passierte ich Ausrüstungsgegen stände wie Server, Router, Firewalls, unterbrechungsfreie Stromversorgungen (USVs) und Leitungen, die sehr großen Dot-Com-Firmen gehörten. Jeder, der sich in diesem Bereich aufhielt, konnte darauf zugreifen. Ein kurzes Umlegen eines Schalters oder ein unglückliches Stolpern über ein Netzwerkkabel, das sich über den Boden schlängelte, hätte ein komplettes Regal mit Geräten – und damit ein weltweit agierendes E-Commerce-System – zum Absturz gebracht.

Gestaltung und Nutzung von Büros

Die Gestaltung und die Nutzung von Büros kann physische Sicherheit entweder fördern oder behindern.

Angriffspunkte

Hacker nutzen gerne einige Schwachstellen von Büros aus. Berücksichtigen Sie diese Angriffspunkte:

Beobachtet jemand am Empfang oder ein Wachmann den Verkehr, der durch den Haupteingang strömt?

Lassen die Mitarbeiter vertrauliche Informationen auf ihren Schreibtischen liegen? Wie sieht das mit Post und Paketen aus – liegt so etwas außerhalb des Büros oder – was noch schlimmer ist – außerhalb des Gebäudes herum und wartet darauf, abgeholt zu werden?

Wo befinden sich Papierkörbe und Abfalleimer? Kann jemand leicht darauf zugreifen? Wo wird recycelt oder geschreddert?

Offene Behälter mit zum Recyceln bestimmten Dingen und anderes sorgloses Umgehen mit Abfall sind offene Einladungen für Dumpster Diving, wenn Hacker nach vertraulichen Firmenunterlagen wie Telefonlisten und Memos suchen. Dumpster Diving kann dazu führen, dass Sicherheitsstrukturen offengelegt werden.

Wie sicher sind die Poststelle und der Kopiererraum?

Wenn Eindringlinge Zugang zu diesen Räumen bekommen, sind sie in der Lage, Post oder Briefbögen mit dem Firmenkopf zu stehlen, die gegen das Unternehmen verwendet werden können. Außerdem können Eindringlinge Ihr(e) Faxgerät(e) missbrauchen.

Gibt es eine Videoüberwachung, die auch ausgewertet wird?

Welche Zugangssperren gibt es an den Türen? Werden normale Schlüssel, Schlüsselkarten, Kombinationsschlösser oder biometrische Schließmechanismen verwendet? Wer hat Zugang zu diesen Schlüsseln und wo werden sie aufbewahrt?

Schlüssel und programmierbare Zugangskarten werden häufig von mehreren Personen gemeinsam genutzt, was es schwierig macht, Verantwortlichkeiten auszumachen. Finden Sie heraus, wie viele Leute sich Schlüssel teilen.

Ich bin einmal bei einem Kunden angekommen und der Haupteingang stand jedem offen. Im Eingangsbereich gab es auch ein Telefon, das jeder nutzen konnte und das Voice over IP (VoIP) nutzte. Niemand ist auf die Idee gekommen, dass jemand das Telefon abklemmen und seinen Laptop mit der Leitung verbinden könne und damit vollen Zugang zum Netzwerk hätte. Die Wahrscheinlichkeit, dass dies entdeckt würde und der Eindringling unbequeme Fragen hätte beantworten müssen, war minimal. Dies hätte verhindert werden können, indem Telefon- und Datenverkehr über getrennte Leitungen laufen.

Gegenmaßnahmen

Wenn Sie einfache Maßnahmen wie die folgenden ergreifen, können Sie die Gefährdung durch Schwachstellen im Bürobereich reduzieren:

Personal am Empfang oder ein Wachmann, der die Leute beobachtet, die kommen und gehen. Das ist die wichtigste Gegenmaßnahme. Diese Person kann dafür sorgen, dass sich jeder Besucher anmeldet und dass alle neuen oder wenig vertrauenswürdigen Besucher begleitet werden.

Erstellen Sie eine Richtlinie und legen Sie Prozeduren fest, damit alle Mitarbeiter Fremde befragen und über ungewöhnliches Verhalten im Gebäude berichten.

Schilder mit der Aufschrift Nur für Personal oder Nur für berechtigte Personen zeigen den Eindringlingen nur, wohin sie gehen sollten, und halten sie nicht vom Betreten dieser Räume ab.

nur ein einziger Zugang zum Datenzentrum
sichere Bereiche für Abfälle

IP-basierende Videokameras, die kritische Bereiche (einschließlich des Müllraums) überwachen

Schredder mit Partikelschnitt oder sichere Recyclingbereiche für Ausdrucke
nur eine begrenzte Anzahl an Schlüsseln und Schließcodes

Jede Person sollte möglichst einen individuellen Schlüssel oder Kenncode erhalten. Besser noch ist es, elektronische Ausweise zu verwenden, die zentral aktiviert und deaktiviert werden können.

Systeme für eine biometrische Identifikation können sehr wirksam sein, aber sie sind in der Regel auch sehr teuer und nicht einfach in der Verwaltung.

Netzwerkkomponenten und Computer

Nachdem Hacker physischen Zugang zu einem Gebäude erlangt haben, schauen sie sich nach dem Serverraum und leicht erreichbaren Computern und Netzwerkgeräten um.

Angriffspunkte

Die Schlüssel zum Königreich sind häufig so nah wie der nächste Computer auf einem Schreibtisch und nicht weiter weg als ein ungeschützter Serverraum oder Kabelschrank. Böswillige Eindringlinge können Folgendes tun:

Sie erhalten Zugang zum Netzwerk und versenden als angemeldeter Benutzer bösartige E-Mails.

Sie knacken Kennwörter direkt am Computer, indem sie ihn neu starten und ein Werkzeug wie die Ophcrack Live CD (http://ophcrack.sourceforge.net) verwenden. Ich behandele dieses Werkzeug und andere Hilfsmittel zum Knacken von Kennwörtern in Kapitel 7.

Sie platzieren ein Kästchen wie das von Pwnie Express (http://pwnieexpress.com) in einer ganz normalen Steckdose. Geräte dieser Art erlauben es Eindringlingen, sich über ein Handy wieder mit dem Netzwerk zu verbinden und darüber in das System einzudringen.

Sie stehlen vom Computern Dateien, indem sie sie auf einen auswechselbaren Datenträger wie ein Smartphone, einen MP3-Player oder ein USB-Laufwerk kopieren oder als E-Mail an eine externe Adresse versenden.

Sie betreten nicht abgeschlossene Serverräume, um mit Servern, Firewalls und Routern Unsinn anstellen.

Sie nehmen beim Verlassen Netzwerkdiagramme, Kontaktlisten, Übersichten zur Geschäftsentwicklung und Notfallpläne mit.

Sie erhalten Telefonnummern und Zugangscodes zu Telefonanlagen.

Praktisch so gut wie jedes Bit, das unverschlüsselt Informationen im Netzwerk überträgt, kann aufgezeichnet werden, um später über eine dieser Methoden analysiert zu werden:

Verbinden Sie einen Computer, auf dem eine Software zum Analysieren des Netzwerks läuft, mit einem Hub oder einen gespiegelten Port auf einem Switch, der im Netzwerk hängt.

Installieren Sie auf einem vorhandenen Computer eine Software zum Analysieren des Netzwerks.

Es ist sehr schwer, einen Netzwerkanalysator zu entdecken. Ich behandele Netzwerkanalysatoren in Kapitel 8.

Wie werden Hacker zukünftig auf die Informationen zugreifen?

Die einfachste Angriffsmethode ist die Installation einer Software für die ferne (remote) Administration auf einem Computer (zum Beispiel VNC (www.realvnc.com).

Ein ausgekochter Hacker mit genügend Zeit kann eine öffentliche IP-Adresse an den Computer binden, wenn sich dieser außerhalb einer Firewall befindet. Hacker (und interne Benutzer), die über ausreichende Netzwerkkenntnisse verfügen, können zu diesem Zweck neue Regeln für die Firewall festlegen.

Denken Sie auch an diese Schwachstellen:

Wie leicht kann jemand während der normalen Bürozeiten auf einen Computer zugreifen? Was ist mit der Mittagspause? Was nach Büroschluss?

Sind Computer – besonders Laptops – über eine Sperre fest am Schreibtisch angebracht? Werden Festplatten für den Fall verschlüsselt, dass sie verloren gehen?

Lassen Mitarbeiter Handys und Tablets herumliegen? Wie gehen sie mit den Geräten um, wenn sie auf Reisen sind oder von zu Hause aus arbeiten?

Sind Kennwörter auf Haftnotizen »gespeichert«, die am Computerbildschirm kleben?

Liegen Datensicherungsmedien herum, sodass jeder sie mitnehmen könnte?

Werden Safes für die Ablage von Sicherungsmedien verwendet? Sind die Safes feuer sicher, damit die Medien im Brandfall nicht schmelzen? Wer hat Zugang zum Safe?

Wie leicht kann sich jemand mit einem drahtlosen Zugriffspunkt oder dem Zugriffspunkt selbst verbinden, um sich in das Netzwerk hineinzuhängen? Auch sollten Sie »getarnte« Zugriffspunkte (die nicht zu Ihrem Netzwerk gehören, aber so tun, als wenn das der Fall wäre) in Ihre Überlegungen einbeziehen. Ich gehe in Kapitel 9 auf drahtlose Netzwerke ein.

Ist es einfach, auf Firewalls, Router, Switches und Hubs (grundsätzlich auf alles mit einem Ethernet-Anschluss) zuzugreifen, was es Hackern ermöglicht, sich problemlos mit dem Netzwerk zu verbinden?

Befinden sich alle Patchkabel im Patchpanel des Kabelschranks, damit kein Netzwerk kabel lose herumliegt?

Lose heraushängende Netzwerkkabel sind eigentlich üblich, aber eine sehr schlechte Idee, weil sich dann jeder sofort mit dem Netzwerk verbinden kann.

Gegenmaßnahmen

Die Gegenmaßnahmen, die Netzwerke und Computer sicherer machen, zählen zu denen, die am einfachsten zu implementieren, aber am schwierigsten durchzusetzen sind, weil tagtäglich daran gedacht werden muss. Hier eine Übersicht über diese Maßnahmen:

Halten Sie die Benutzer an, aufmerksam zu sein.

Verlangen Sie von den Benutzern, dass sie ihre Bildschirme sperren, wenn sie ihren Computer allein lassen. Das kostet unter Windows und Unix nur wenige Mausklicks oder einen Tastaturbefehl.

Sorgen Sie dafür, dass starke Kennwörter verwendet werden. Ich behandele dieses Thema in Kapitel 7.

Verlangen Sie von den Benutzern eines Laptops, dass sie ihr System mit einem speziellen Kabel an den Schreibtisch »anbinden«. Dies ist ganz besonders in größeren Firmen oder dort notwendig, wo es Publikumsverkehr gibt.

Verlangen Sie, dass auf allen Laptops eine Festplattenverschlüsselung eingesetzt wird. Hier bietet sich PGP Whole Disk Encryption (www.symantec.com/ whole-disk-encryption) und WinMagic SecureDoc Full Disk Encryption (www.winmagic.com/products/securedoc-full-disk-encryption) an.

Halten Sie Serverräume und Kabelschränke verschlossen und beobachten Sie diese Bereiche.

Sorgen Sie für eine aktuelle Inventarliste, die die gesamte Hard- und Software enthält, die in der Organisation verwendet werden, um schnell herausfinden zu können, ob es »neue« Ausrüstungsgegenstände gibt oder ob welche fehlen. Dies gilt besonders für Serverräume.

Sichern Sie Computermedien gründlich, wenn sie gelagert oder transportiert werden.

Suchen Sie nach drahtlosen Netzwerkzugangspunkten, die so tun, als gehörten sie zu Ihrem Netzwerk.

Verhindern Sie (zum Beispiel durch Kabelschlösser) mechanisch, dass Eindringlinge Zugriff auf Netzwerkkabel erhalten.

Verwenden Sie spezielle Löschwerkzeuge, bevor magnetische Medien entsorgt werden.

7

Kennwörter

In diesem Kapitel ...

Schwachstellen bei Kennwörtern identifizieren

Werkzeuge und Techniken zum Hacken von Kennwörtern untersuchen

Kennwörter des Betriebssystems hacken

Kennwortgeschützte Dateien hacken

Das System vor dem Hacken von Kennwörtern schützen

Das Hacken von Kennwörtern ist einer der einfachsten und gebräuchlichsten Wege, über den sich Hacker unberechtigt Zugang zu Netzwerken, Computern oder Anwendungen verschaffen. Obwohl es einfach ist, starke Kennwörter – idealerweise lange und komplexe Kennwortphrasen, die nur schwer zu knacken (oder zu erraten) sind – zu erstellen und zu verwalten, ignorieren sowohl Netzwerkadministratoren als auch Benutzer sie. Deshalb sind Kennwörter eines der schwächsten Glieder in der Sicherheitskette. Kennwörter stützen sich auf Geheimhaltung. Wenn ein Kennwort erst einmal »enttarnt« worden ist, ist sein ursprünglicher Eigentümer nicht mehr die einzige Person, die darüber Zugriff auf das System hat. Das ist dann der Moment, an dem Verantwortlichkeit das Weite sucht und die üblen Dinge beginnen.

Externe Angreifer und böswillige interne Benutzer haben viele Möglichkeiten, an Kennwörter zu gelangen. Sie bekommen Kennwörter durch einfaches Nachfragen heraus oder indem sie Benutzern über die Schulter schauen (was Shoulder Surfing genannt wird), während das Kennwort eingegeben wird. Hacker können Kennwörter auch dadurch herausbekommen, dass sie lokal am Computer Cracking-Software einsetzen. Um in einem Netzwerk an Kennwörter zu kommen, arbeiten Angreifer mit sogenannten Remote Cracking Utilities (das ist Software, die Kennwörter auch »aus der Ferne« knacken kann), Keyloggern (Software, die Kennwörter bei deren Eingabe mitschreibt) und Netzwerkanalysatoren.

Dieses Kapitel zeigt, wie einfach Angreifer an Kennwortinformationen Ihres Netzwerks und Ihres Computersystems gelangen können. Ich zeige bekannte Schwachstellen bei Kennwörtern auf und beschreibe Gegenmaßnahmen, die helfen sollen zu verhindern, dass diese Schwachstellen ausgenutzt werden. Wenn Sie die Tests durchführen und für die Gegenmaßnahmen sorgen, die in diesem Kapitel dargestellt werden, befinden Sie sich auf dem richtigen Weg, um Ihre Systeme sicher zu machen.

Schwachstellen bei Kennwörtern

Wenn Sie den Aufwand für Sicherheitsmaßnahmen mit dem Wert der geschützten Informationen vergleichen, stellen Sie fest, dass die Kombination aus einer Benutzer-ID und einem geheimen Kennwort normalerweise ausreicht. Aber leider ist es so, dass Kennwörter ein falsches Gefühl von Sicherheit vermitteln. Die Angreifer wissen dies und versuchen, über das Knacken von Kennwörtern einen Fuß in die Tür Ihres Computersystems zu bekommen.

Ein großes Problem, zu dem es kommt, wenn Sie sich bei der Sicherheit Ihrer Daten ausschließlich auf Kennwörter verlassen, ist, dass mehr als eine Person von einem Kennwort wissen kann. Manchmal ist das so gewollt; häufig ist so etwas aber nicht der Fall. Unschön ist dabei, dass Sie eigentlich nie wissen, wer außer dem Eigentümer des Kennwortes das Kennwort noch kennt.

Denken Sie daran: Dadurch, dass jemand ein Kennwort kennt, wird er noch lange nicht zu einem berechtigten Benutzer.

Schwachstellen bei Kennwörtern lassen sich generell in zwei Kategorien einteilen:

Schwachstellen im Unternehmen oder beim Benutzer: Hierzu gehören das Fehlen einer Kennwortrichtlinie im Unternehmen und das Fehlen eines Sicherheitsbewusstseins aufseiten der Benutzer.

Technisch begründete Schwachstellen: Hierzu gehören schwache Verschlüsselungsmethoden und die ungesicherte Ablage von Kennwörtern auf Computersystemen.

Ich gehe in den folgenden Abschnitten näher auf diese beiden Kategorien ein.

Bevor es Computernetzwerke und das Internet gab, wurde die physische Umgebung des Benutzers durch eine Kennwortebene geschützt, was auch recht gut funktionierte. Heutzutage aber haben die meisten Computer eine Verbindung mit einem Netzwerk, wodurch sich der alte Schutz in Luft aufgelöst hat. Sie finden in Kapitel 6 Einzelheiten zur Verwaltung physischer Sicherheitsmaßnahmen bei Netzwerkcomputern und mobilen Geräten.

Eine Fallstudie zu Schwachstellen bei Windows-Kennwörtern

2003 entdeckte der Schweizer Dr. Oechslin eine neue Methode, um Windows-Kennwörter zu entschlüsseln – heute ist diese Methode als Rainbow Cracking bekannt. Während Dr. Oechslin ein Werkzeug zum Brute-Force-Knacken von Kennwörtern testete, ging ihm der Gedanke durch den Kopf, dass es eine ziemliche Zeitverschwendung sei, wenn alle, die dieselben Werkzeuge benutzen, immer wieder dieselben Hashwerte erzeugen. (Hashwerte sind die kryptografischen Entsprechungen von Kennwörtern.) Er glaubte, dass es ein großes Verzeichnis mit allen denkbaren Hashwerten einfacher machte, Windows-Kennwörter zu knacken, aber er erkannte schnell, dass ein Verzeichnis der Hashwerte aller denkbaren alphanumerischen Kennwörter des LAN Managers (LM) über ein Terabyte Speicherplatz benötigte.

Während seiner Untersuchungen entdeckte Dr. Oechslin eine Technik, die Time-Memory Tradeoff (deutsch: Zeit-Speicher-Kompromiss oder Zeit-Speicher-Ausgleich) genannt wird. Dabei werden Hashwerte im Voraus berechnet, aber nur ein geringer Teil von ihnen wird gespeichert (ungefähr einer von tausend). Dr. Oechslin entdeckte, dass es die Verwaltungsstruktur der LM-Hashwerte erlaubt, jedes Kennwort zu finden, wenn Sie ein wenig Zeit dafür opfern, einige Hashwerte erneut zu berechnen. Zwar spart diese Technik Speicherplatz, aber sie kostet viel Zeit. Als er sich intensiver mit dieser Methode beschäftigte, fand Dr. Oechslin heraus, wie sich dieser Prozess effizienter gestalten ließ, was es ermöglichte, jeden der 80 Milliarden möglichen Hashwerte herauszufinden, indem eine Tabelle mit 250 Millionen Einträgen (1 GB Daten) verwendet wird und mit vier Millionen Hashwertberechnungen auszukommen. Diese Vorgehensweise ist viel schneller als ein Brute-Force-Angriff, bei dem durchschnittlich 50 Prozent der Hashwerte (das entspricht ungefähr 40 Milliarden) generiert werden müssen.

Diese Untersuchung basiert auf der Abwesenheit eines Zufallselements, wenn Windows-Kennwörter gehasht werden. Dies gilt sowohl für LM-Hashwerte als auch für die in Windows integrierten NTLM-Hashwerte. Letztendlich erzeugt dasselbe Kennwort auf allen Windows-Maschinen denselben Hashwert. Obwohl es bekannt ist, dass es bei Windows-Hashwerten keine Zufallselemente gibt, hat niemand eine Technik wie die verwendet, die Dr. Oechslin entdeckt hat, um Windows-Kennwörter zu entschlüsseln.

Und was ist daran so toll? Diese Methode zum Entschlüsseln von Kennwörtern ist in der Lage, fast jedes alphanumerische Kennwort in wenigen Sekunden zu knacken, während die aktuellen Brute-Force-Werkzeuge dafür Stunden benötigen können. Dr. Oechslin und sein Forschungsteam haben eine Tabelle erstellt, mit der sie jedes Kennwort, das aus Buchstaben, Ziffern und 16 anderen Zeichen besteht, in weniger als einer Minute entschlüsseln können, um zu zeigen, dass Kennwörter, die nur aus Buchstaben und Ziffern bestehen, nicht sonderlich sicher sind (und deshalb aus Ihrer Umgebung verbannt werden sollten). Dr. Oechslin erklärt, dass diese Methode auch für ethische Hacker nützlich ist, denen nur wenig Zeit zur Verfügung steht, um ihre Tests durchzuführen. Unglücklicherweise profitieren natürlich auch böswillige Hacker von dieser Arbeit und können ihre Angriffe ausführen, bevor sie von jemandem entdeckt werden!

Dr. Philippe Oechslin, PhD, CISSP, arbeitet als Dozent an der Eidgenössischen Technischen Hochschule Lausanne, Schweiz, und ist Begründer und CEO der Objectif Sécurité (www.objectif-securite.ch).

Organisatorische Schwachstellen bei Kennwörtern

Es liegt in der Natur des Menschen, es sich so bequem wie möglich zu machen – und zwar ganz besonders dann, wenn es darum geht, sich im Arbeitsalltag und Privatleben an fünf, zehn oder sogar Dutzende von Kennwörtern zu erinnern. Das führt dazu, dass Kennwörter eine der Hürden sind, die von einem Hacker am einfachsten überwunden werden können. Mit den Buchstaben des Alphabets und den Ziffern 0 bis 9 lassen sich mehr als drei Billionen (jawohl, Billionen mit B und 12 Nullen) Kombinationen aus acht Zeichen langen Kennwörtern anlegen. Der Schlüssel zu starken Kennwörtern besteht aus zwei Bestandteilen: 1. Kennwörter sind einfach zu merken und 2. sie sind schwer zu knacken. Benutzer lieben es, Kennwörter wie zum Beispiel Kennwort, ihren Benutzernamen oder ein leeres Kennwort zu verwenden.

So lange Benutzer nicht dazu gebracht werden, starke Kennwörter zu verwenden, gilt normalerweise für ihre Kennwörter:

Sie sind leicht zu erraten.

Sie werden selten geändert.

Sie werden für die unterschiedlichsten Anmeldungen verwendet. Wenn Angreifer ein Kennwort geknackt haben, können sie oft mit diesem Kennwort auch auf viele andere Systeme zugreifen.

Wenn Sie ein Kennwort für die Anmeldung an verschiedenen Systemen und Websites verwenden, heißt das nichts anderes, als dass Sie auf einen Einbruch warten. Jeder ist zwar für sich selbst verantwortlich, aber halten Sie die Benutzer dazu an, ihre Daten so gut wie möglich zu schützen und für die einzelnen Anmeldungen unterschiedliche Kennwörter zu verwenden.

Sie werden an unsicheren Stellen niedergeschrieben. Je komplexer Kennwörter sind, desto schwerer ist es, sie zu entschlüsseln. Wenn Benutzer nun aber komplexe Kennwörter verwenden, ist die Wahrscheinlichkeit hoch, dass sie sie irgendwo hinschreiben. Externe Angreifer und böswillige Insider können diese Kennwörter finden und gegen die Benutzer verwenden.

Technische Schwachstellen bei Kennwörtern

Wenn Sie sich näher mit Schwachstellen bei Kennwörtern beschäftigen, werden Sie oft auf diese technischen Schwachstellen stoßen:

schwache Verschlüsselungsschemata für Kennwörter: Hacker können schwache Speichermechanismen für Kennwörter aufbrechen, indem sie Methoden verwenden, die ich in diesem Kapitel beschreibe. Viele Hersteller und Entwickler glauben, dass Kennwörter so lange sicher sind, wie der Quellcode nicht für eine Entschlüsselung zur Verfügung steht. Falsch! Ein ausdauernder und geduldiger Angreifer ist normalerweise in der Lage, diese Art von verdeckter Sicherheit relativ schnell ad absurdum zu führen. Wenn der Code erst einmal geknackt ist, wird er über das Internet verbreitet und ganz schnell zum Allgemeingut.

Programme, die die Kennwörter im Arbeitsspeicher, in ungeschützten Dateien und in leicht zugänglichen Datenbanken ablegen
unverschlüsselte Datenbanken, die jedem einen direkten Zugriff auf sensible Daten ermöglichen, der Zugriff auf die Datenbank hat

Anwendungen für Benutzer, die Kennwörter während der Eingabe in Klarschrift zeigen

Die National Vulnerability Database (Nationale Schwachstellendatenbank; ein Verzeichnis von Schwachstellen bei Computern, das vom National Institute of Standards and Tech-nology verwaltet wird) enthält aktuell über 2.500 Schwachstellen, die mit Kennwörtern zu tun haben. Sie finden weitere Informationen zu diesem Thema unter http://nvd.nist.gov, um zu erfahren, wie angreifbar einige Ihrer Systeme aus technischer Sicht sind.

Kennwörter knacken

Das Entschlüsseln von Kennwörtern ist eine der Aufgaben, die den böswilligen Hackern am meisten Spaß macht. Es schult ihr Gespür für die Feinheiten des Ausforschens, um ein Problem zu lösen. Sie müssen diesen brennenden Wunsch, jedermanns Kennwort herauszufinden, nicht verspüren, aber es hilft, wenn Sie sich mit dieser Einstellung an das Knacken von Kennwörtern machen. Wie und wo sollten Sie also beginnen, wenn es um das Entschlüsseln von Kennwörtern geht? Allgemein gilt, dass jedes Kennwort eines Benutzers funktioniert. Wenn Sie erst einmal ein Kennwort erhalten haben, gelangen Sie häufig auch an andere, wozu auch administrative und Root-Kennwörter gehören.

Administrative Kennwörter sind wie ein Topf voll mit Gold. Mit einem unberechtigten administrativen Zugang können Sie so ziemlich alles mit einem System anstellen. Wenn Sie sich um die Schwachstellen von Kennwörtern im Unternehmen kümmern, empfehle ich, mit der höchstmöglichen Zugriffsebene (wie der eines Administrators) zu beginnen, und zwar so diskret wie nur möglich.

Um Kennwörter zu erhalten, gibt es mehr oder weniger hochtechnisierte Wege. Sie können zum Beispiel Benutzer dazu bringen, Kennwörter über das Telefon preiszugeben, oder Sie beobachten einfach nur, was sich ein Benutzer notiert. Oder Sie holen sich Kennwörter mit den Werkzeugen, die in den folgenden Abschnitten beschrieben werden, direkt von einem Computer, aus dem Netzwerk oder über das Internet.

Kennwörter auf die herkömmliche Art knacken

Ein Hacker kann technisch nicht besonders anspruchsvolle Methoden verwenden, um Kennwörter zu knacken. Zu diesen Methoden gehören Techniken des Social Engineerings, »Schulter-Surfen« (Shoulder Surfing) und einfaches Erraten von Kennwörtern mithilfe von Informationen, die vom Benutzer bekannt sind.

Social Engineering

Die bekannteste der technisch nicht so anspruchsvolle Methoden, um an Kennwörter zu kommen, ist das Social Engineering, auf das ich in Kapitel 5 ausführlicher eingehe. Social Engineering nutzt die vertrauensselige Natur des Menschen aus, um Informationen zu erhalten, die dann später böswillig weiterverwendet werden. Dabei werden die Leute häufig einfach dazu gebracht, ihre Kennwörter auszuplaudern. Das hört sich lächerlich an, funk tioniert aber immer wieder.

Techniken

Um ein Kennwort durch Social Engineering zu erhalten, müssen Sie einfach nur danach fragen. Sie können zum Beispiel einen Benutzer anrufen und ihm sagen, dass er einige interessant aussehende E-Mails hat, die in der Mail-Warteschlange hängen geblieben sind, und dass Sie sein Kennwort benötigen, um sich anzumelden und die E-Mails freizubekommen. Dies ist der Weg, auf dem oftmals Hacker und böswillige Insider versuchen, an Informationen zu kommen.

Wenn Ihnen ein Benutzer während der Tests sein Kennwort gibt, achten Sie darauf, dass er es danach ändert. Sie möchten schließlich nicht verantwortlich gemacht werden, wenn irgendetwas schiefgeht, nachdem das Kennwort bekannt geworden ist.

Eine gerne verwendete Hilfe bei Angriffen des Social Engineerings sind die Namen, Telefonnummern und E-Mail-Adressen von Mitgliedern der Geschäftsführung, die auf Webseiten veröffentlicht werden. Auch soziale Netzwerke wie LinkedIn, Facebook und Twitter können gegen Ihr Unternehmen verwendet werden, weil es dort Namen und Kontaktdaten von Mitarbeitern geben kann.

Gegenmaßnahmen

Die Aufmerksamkeit der Benutzer und ein ständiges Sicherheitstraining sind die beste Verteidigung gegen Social Engineering. Bewährt hat sich auch Software, die auf E-Mails und Webseiten achtet. Schulen Sie Benutzer, damit ihnen Angriffe (wie verdächtige Anrufe oder betrügerische Phishing-E-Mails) auffallen und sie passend darauf reagieren. Die beste Re aktion ist, keine Informationen herauszugeben und die entsprechenden Sicherheitsverantwortlichen im Unternehmen über den Angriff zu informieren, damit herausgefunden werden kann, ob die Anfrage legitim war und ob weitergehende Reaktionen notwendig sind. Und entfernen Sie zumindest die Namen von IT-Mitarbeitern von Ihrer Website,

Shoulder Surfing

Beim Shoulder Surfing (das Schauen über die Schulter, um mitzubekommen, was jemand eingibt) handelt es sich um eine effektive, keine Technik verlangende Möglichkeit, Kennwörter herauszubekommen.

Techniken

Um bei dieser Angriffsart erfolgreich zu sein, müssen sich die Bösewichte in der Nähe ihrer Opfer aufhalten und dürfen nicht verdächtig erscheinen. Sie ergattern das Kennwort einfach dadurch, dass sie entweder die Tastatur des Benutzers oder den Bildschirm beobachten, an dem sich die Person anmeldet. Ein geschulter Angreifer kann sogar erkennen, ob sich ein Benutzer auf seinem Schreibtisch umblickt, um dort nach einer Gedächtnisstütze für das Kennwort oder dem Kennwort selbst Ausschau zu halten. Bei Angriffen dieser Art kann auch eine Sicherheitskamera oder eine Webcam verwendet werden. Internet-Cafés und Flughäfen bilden die idealen Orte für das Shoulder Surfing.

Sie können das Shoulder Surfing selbst ausprobieren. Laufen Sie einfach im Büro umher und lassen Sie Ihren Blick wie zufällig schweifen. Gehen Sie an die Schreibtische von Benutzern und fordern Sie sie auf, sich am Computer, dem Netzwerk oder der E-Mail-Anwendung anzumelden. Erzählen Sie nur niemandem vorher, was Sie vorhaben, weil die Benutzer dann natürlich versuchen, ihre Eingabe verdeckt vorzunehmen oder sich eben nicht nach ihrer Gedächtnisstütze umzusehen. Seien Sie bei Ihrer Aktion vorsichtig und respektieren Sie die Privatsphäre anderer.

Gegenmaßnahmen

Ermutigen Sie Benutzer, dass sie auf ihre Umgebung achten und ihre Kennwörter nicht eingeben, wenn sie vermuten, dass ihnen dabei jemand über die Schulter schauen könnte. Weisen Sie Benutzer an, Personen, von denen sie meinen, dass sie ihnen bei der Eingabe über die Schulter blicken könnte, bitten wegzuschauen. Oder das zu tun, was ich in solch einem Fall häufig mache: Sich in die Sichtlinie beugen, damit die andere Person daran gehindert wird mitzubekommen, was eingegeben wird.

Inferenz

Bei Inferenz handelt es sich um das Erraten von Kennwörtern, indem Rückschlüsse aus Informationen gezogen werden, die von einem Benutzer existieren – zum Beispiel das Geburtsdatum, die Lieblingsfernsehsendung oder Telefonnummern. Es hört sich verrückt an, aber Kriminelle finden die Kennwörter ihrer Opfer häufig durch Raten heraus!

Die beste Verteidigung gegen einen Inferenzangriff ist, die Benutzer dazu zu bringen, nur sichere Kennwörter zu verwenden, die keine Informationen enthalten, die den Benutzern zugeordnet werden können. Es ist häufig nicht einfach, ein solches Verhalten über technische Lösungen zu erzwingen, indem Komplexitätsfilter für Kennwörter vorgegeben werden. Letztendlich benötigen Sie eine Art Sicherheitsrichtlinie und eine ständige Schulung der Benutzer, um sie daran zu erinnern, wie wichtig sichere Kennwörter sind.

Schwache Authentifizierung

Wenn Sie ältere oder ungeschützte Betriebssysteme verwenden, die für eine Anmeldung kein Kennwort verlangen, haben externe Angreifer und böswillige Insider überhaupt keine Probleme, in ein System einzudringen. Dasselbe gilt, wenn ein Handy oder ein Tablet kein Kennwort verlangt.

Die Authentifizierung umgehen

Sie können eine Authentifizierung mit jedem Computer umgehen, der so eingerichtet worden ist, dass er den Anmeldebildschirm umgeht (weil der Benutzer für seine lokale Anmeldung vielleicht kein Kennwort eingerichtet hat). Wenn Sie dann erst einmal im System sind, können Sie nach Kennwörtern suchen, die an Stellen wie VPN-Verbindun-gen und Bildschirmschonern abgelegt wurden. Es ist nicht schwer, diese Kennwörter zu knacken, indem Sie Proactive System Password Recovery von Elcomsoft (www.elcomsoft.com/pspr.html) oder Cain & Abel (www.oxid.it/cain.html) verwenden. Diese Systeme können als vertrauenswürdige Maschinen dienen – was bedeutet, dass angenommen wird, dass sie sicher sind – und zu Startplattformen für Angriffe auf Netzwerkkennwörter werden.

Gegenmaßnahmen

Die einzige echte Verteidigungsmaßnahme gegen eine schwache Authentifizierung sieht so aus, dass Ihr Betriebssystem beim Hochfahren ein Kennwort verlangt. Um die oben geschilderten Schwachstellen loszuwerden, aktualisieren Sie auf Windows 7 oder 8, oder Sie verwenden die aktuellste Version von Linux oder eine der vielen Spielarten von Unix oder das neueste Mac OS X.

Modernere Authentifizierungssysteme wie Kerberos (das von den neueren Windows-Versionen genutzt wird) und Verzeichnisdienste (wie Microsofts Active Directory) verschlüsseln Kennwörter oder kommunizieren Kennwörter nicht mehr über das Netzwerk.

Kennwörter »profimäßig« knacken

Zum anspruchsvolleren Knacken von Kennwörtern gehört der Einsatz eines Programms, das versucht, das Kennwort zu erraten, indem alle möglichen Kennwortkombinationen ausprobiert werden. Methoden dieser Art laufen in der Regel automatisiert ab, nachdem Sie Zugriff auf den Computer und die Kennwortdatenbank erhalten haben.

Die wichtigsten Methoden zum Knacken eines Kennwortes sind Angriffe über Wörterbücher, Brute-Force-Angriffe (Brute Force bedeutet rohe Gewalt) und Rainbow-Angriffe (ein Rainbow ist eigentlich ein Regenbogen). Die folgenden Abschnitte zeigen, wie die einzelnen Angriffsarten funktionieren.

Software für das Knacken von Kennwörtern

Sie können versuchen, Kennwörter des Betriebssystems und der Anwendungen mit verschiedenen Werkzeugen zu knacken:

Brutus (www.hoobie.net/brutus) knackt HTTP-, FTP-, telnet- und andere Anmeldungen.

Cain & Abel (www.oxid.it/cain.html) knackt Hashcodes von LM und NT LanManager (NTLM), Windows-RPD-Kennwörter, Hashes von Cisco IOS und PIX, VNC-Kennwörter, RADIUS-Hashcodes und viele andere. (Hashwerte oder Hashcodes sind die kryptografischen Entsprechungen von Kennwörtern; sie werden verkürzt auch Hashes genannt.)

Elcomsoft Distributed Password Recovery (www.elcomsoft.com/edpr.html) knackt Kennwörter von Windows, Microsoft Office, PGP, Adobe, iTunes und viele andere. Hierbei wird verteilt vorgegangen, indem bis zu 10.000 über ein Netzwerk verbundene Computer gleichzeitig verwendet werden.

Elcomsoft System Recovery (www.elcomsoft.com/esr.html) knackt Kennwörter von Windows-Benutzern oder setzt sie zurück, richtet administrative Rechte ein und setzt Ablaufdaten von Kennwörtern zurück – und das alles von einer startfähigen CD aus.

John the Ripper (www.openwall.com/john) knackt gehashte Linux/Unix- und Windows-Kennwörter.

ophcrack (http://ophcrack.sourceforge.net) knackt Kennwörter von Windows-Benutzern und verwendet dabei Rainbow-Tabellen, die auf einer startfähigen CD liegen. Bei Rainbow-Tabellen handelt es sich um im Voraus berechnete Hashes von Kennwörtern, die dabei helfen können, den Vorgang des Crackens zu beschleunigen. Mehr Informationen hierzu finden Sie weiter vorn in diesem Kapitel im Kasten Eine Fallstudie zu Schwachstellen bei Windows-Kennwörtern.

Proactive Password Auditor (www.elcomsoft.com/ppa.html) lässt Brute-Force-Wörterbücher und Rainbow-Cracks gegen LM- und NTLM-Kennwörter laufen.

Proactive System Password Recovery (www.elcomsoft.com/pspr.html) stellt praktisch jedes lokal gespeicherte Windows-Kennwort, zum Beispiel Anmeldekennwörter, WEP/WPA-Kennwörter, SYSKEY-Kennwörter und RAS/Einwähl-/VPN-Kennwörter wieder her.

pwdump3/pwdump6 (www.openwall.com/passwords/microsoft-windows-nt-2000-xp-2003-vista-7#pwdump) holt aus der SAM-Datenbank (der Datenbank des Security Account Managers) die Hashes von Windows-Kenwörtern heraus.

RainbowCrack (http://project-rainbowcrack.com) knackt sehr schnell Hashes des LanManagers (LM) und MD5-Hashwerte und verwendet dabei Rainbow-Tabellen.

THC-Hydra (www.thc.org/thc-hydra) knackt Anmeldungen für HTTP, FTP, IMAP, SMTP, VNC und viele mehr.

Um zu verstehen, wie diese Programme zum Knacken von Kennwörtern funktionieren, müssen Sie zuerst wissen, wie Kennwörter verschlüsselt werden. Kennwörter werden normalerweise verschlüsselt, wenn sie auf einem Computer gespeichert werden. Dabei wird ein Verschlüsselungs- oder Hash-Algorithmus wie DES oder MD5 verwendet. Gehashte Kennwörter werden dann als Zeichenfolge mit fester Länge wiedergegeben. Dabei erhält dasselbe Kennwort immer genau dieselbe Zeichenfolge. Diese gehashten Folgen lassen sich in der Praxis nicht wiederherstellen, was dazu führt, dass Kennwörter theoretisch nicht entschlüsselt werden können. Außerdem enthalten Kennwörter wie die unter Linux eine Zufallskomponente, die bei der Kennworterstellung Zufälligkeit hinzufügen soll. Damit soll verhindert werden, dass ein Kennwort, das zwei Personen unabhängig voneinander verwenden, denselben Hashwert erhält.

Werkzeuge, die Kennwörter knacken, verwenden bekannte Kennwörter und lassen sie durch einen Algorithmus laufen, der Kennwörter hasht. Danach werden die dadurch erzeugten Hashwerte blitzschnell mit den Hashwerten verglichen, die aus der originalen Kennwortdatenbank herausgeholt wurden. Wenn nun eine Übereinstimmung zwischen dem neu erstellen Hash und dem aus der Datenbank gefunden wird, ist das Kennwort geknackt worden. So einfach geht das.

Andere Programme zum Knacken von Kennwörtern versuchen einfach nur, sich anzu-melden, und verwenden dabei vordefinierte Benutzer-IDs und Kennwörter. So arbeiten viele Werkzeuge wie zum Beispiel Brutus (www.hoobie.net/brutus) und SQLPing3 (www.sqlsecurity.com/downloads), die mithilfe von Wörterbüchern versuchen, Kennwörter zu hacken. Das Knacken von Kennwörtern von Webanwendungen und Datenbanken behandele ich in Kapitel 14 beziehungsweise 15.

Wenn Sie versuchen, Kennwörter zu knacken, kann es passieren, dass die entsprechenden Konten gesperrt werden. Seien Sie also vorsichtig, wenn im Betriebssystem, den Datenbanken oder Anwendungen die Einstellung zum Sperren von Konten aktiviert ist, denn dann können Ihre Versuche dazu führen, dass sogar alle Benutzerkonten im Unternehmen gesperrt werden.

Wo Kennwörter abgelegt werden, hängt vom Betriebssystem ab:

Windows speichert Kennwörter normalerweise hier:

• Datenbank des Security Account Managers (SAM)

(c:\winnt\system32\config) oder

(c:\windows\system32\config) oder

• Datenbankdatei des Active Directorys, die entweder lokal oder über die Domänencontroller verteilt abgelegt wird (ntds.dit)

Windows-Kennwörter befinden sich auch im Verzeichnis der Datensicherung der SAM-Datei (c:\winnt\repair oder c:\windows\repair).

Einige Windows-Anwendungen legen Kennwörter in der Registry (der Registrierungsdatenbank) oder als einfache Textdatei auf der Festplatte ab! Eine einfache Suche in der Registry oder dem Dateisystem nach password, passwort oder kennwort reicht eventuell schon aus, um das Gesuchte zu finden.

Linux und Unix-Varianten speichern Kennwörter normalerweise in diesen Dateien ab:

• /etc/passwd (kann von jedem gelesen werden)

• /etc/shadow (hierauf können nur das System und das Root-Konto zugreifen)

• /etc/security/passwd (hierauf können nur das System und das Root-Konto zugreifen)

Angriffe mit Wörterbüchern

Bei Angriffen mit Wörterbüchern werden bekannte Begriffe aus Wörterbüchern – und beliebte Kennwörter – als Kennwortdatenbank verwendet. Diese Datenbank ist eine Textdatei mit Hunderten oder Tausenden von Einträgen in alphabetischer Reihenfolge. Sie könnten zum Beispiel eine Wörterbuchdatei besitzen, die Sie von einer der Sites aus der folgenden Liste heruntergeladen haben. Die Datei, die Sie unter Deutsches Wörterbuch herunterladen können, ist zwar nicht umsonst (als dieses Buch übersetzt wurde, kostete sie 19,90 Euro), enthält dafür aber mehr als 600.000 Einträge.

Viele Werkzeuge zum Knacken von Kennwörtern sind in der Lage, auch Wortlisten zu verwenden, die Sie selbst erstellt oder bei Dritten (siehe die folgende Liste) heruntergeladen haben:

Deutsch: http://www.debuggen.com

Englisch: ftp://ftp.cerias.purdue.edu/pub/dict

Englisch: www.outpost9.com/files/WordLists.html

Vergessen Sie auch andere Sprachen wie Spanisch und Klingonisch nicht.

Wörterbuch-Angriffe sind nur so gut wie die Wortlisten, die Sie Ihrem Programm zum Knacken von Kennwörtern zur Verfügung stellen. Sie können Tage, wenn nicht sogar Wochen damit zubringen, ein Kennwort über Wortlisten zu knacken. Wenn Sie dem von Ihnen verwendeten Programm keine zeitliche Begrenzung setzen, werden Sie feststellen, dass Sie in einer absolut sinnlosen Aktion stecken bleiben. Angriffe über Wortlisten eignen sich eigentlich nur bei schwachen (leicht zu erratenden) Kennwörtern.

Brute-Force-Angriffe

Brute-Force-Angriffe können, wenn genügend Zeit zur Verfügung steht, so gut wie alle Kennwörter knacken. Angriffe dieser Art probieren alle denkbaren Kombinationen von Zahlen, Buchstaben und Sonderzeichen aus. Bei vielen Werkzeugen zum Knacken von Kennwörtern können Sie Testkriterien wie Zeichensätze, Kennwortlänge und gegebenenfalls bekannte Zeichen (für »maskierte« Angriffe) vorgeben. Als Beispiel hierfür zeigt Abbildung 7.1 die Einstellungsmöglichkeiten für Brute-Force-Angriffe mit Proactive Password Auditor.

Abbildung 7.1: Einstellungsmöglichkeiten für Brute-Force-Angriffe mit Proactive Password Auditor

Ein Brute-Force-Test kann abhängig von der Anzahl Konten, der Komplexität der Kennwörter und der Geschwindigkeit des Computers, auf dem die Software zum Knacken der Kennwörter läuft, ziemlich lange dauern. So leistungsfähig Brute-Force-Tests auch sein mögen, so kann es doch im wahrsten Sinne des Wortes ewig dauern, bis alle möglichen Kennwörter überprüft worden sind. Dies führt dazu, dass diese Art von Tests nicht immer die ideale Wahl ist.

Clevere Hacker gehen langsam vor oder probieren es zu unterschiedlichen Zeiten, damit fehlgeschlagene Anmeldeversuche in den Protokolldateien des Systems kaum auffallen. Es gibt sogar dreiste interne Benutzer, die sich mit der Systemadministration in Verbindung setzen, um das Konto, das sie gerade mit ihren Fehlversuchen blockiert haben, wieder zurücksetzen zu lassen.

Kann ein abgelaufenes Kennwort einen Hacker-Angriff verhindern und Software zum Knacken von Kennwörtern nutzlos machen? Ja. Nachdem das Kennwort geändert wurde, muss das Hacken wieder ganz neu beginnen. Dies ist einer der Gründe dafür, Kennwörter regelmäßig ändern zu lassen. Eine Verkürzung des Zeitintervalls kann das Risiko, dass Kenn-wörter geknackt werden, weiter verringern, wobei dieser Weg bei vielen Benutzern nicht gerade auf Gegenliebe stößt. Sie müssen den Spagat zwischen Sicherheit und Komfort/Benutzerfreundlichkeit schaffen.

Normalerweise ist es nicht notwendig, das Knacken von Kennwörtern intensiv zu testen. Die meisten Kennwörter sind ziemlich schwach, und wenn Sie minimale Anforderungen an Kennwörter wie die Kennwortlänge kennen, kann dies bei den Tests helfen. Außerdem gibt es Werkzeuge, mit denen Sie Informationen über Sicherheitsrichtlinien herausbekommen können. (Siehe auch Teil IV, in dem es um Werkzeuge und Techniken geht, um die Sicherheit von Betriebssystemen zu testen. In Kapitel 14 finden Sie Informationen zum Testen von Websites/Anwendungen.) Wenn Sie auf Sicherheitsrichtlinien stoßen, sind Sie in der Lage, Ihre Software zum Knacken von Kennwörtern mit zusätzlichen Parametern zu füttern.

Rainbow-Angriffe

Ein Rainbow-Angriff auf Kennwörter verwendet Rainbow-Cracking (siehe hierzu auch weiter vorn in diesem Kapitel den Kasten Eine Fallstudie zu Schwachstellen bei Windows-Kennwörtern), um Kennwort-Hashes von LM, NTLM, Cisco PIX und MD5 schneller und mit einer ausgesprochen guten Erfolgsquote (von fast 100 Prozent) zu knacken. Das Knacken mit der Rainbow-Methode geht deshalb so schnell, weil die Hashes im Voraus berechnet werden, was es überflüssig macht, sie wie beim Verwenden von Wörterbüchern oder Brute-Force-Angriffen individuell zu erstellen.

Rainbow-Angriffe können, anders als Wörterbuch- oder Brute-Force-Angriffe keine Kennwörter mit unbegrenzter Länge knacken. Zurzeit liegt die maximale Länge von LM-Hashes bei 14 Zeichen. Bei den (verzeichnisbasierten) von Windows Vista und 7 (die auch NT-Hashes genannt werden) dürfen es 16 Zeichen sein. Sie können die Rainbow-Tabelle über die ophcrack-Website (http://ophcrack.sourceforge.net) erwerben und herunterladen. Dort gibt es eine Längenbegrenzung, denn das Erstellen der Rainbow-Tabellen kostet sehr viel Zeit.

Wenn Sie sich die entsprechenden Tabellen – von ophcrack oder über Project RainbowCrack (http://project-rainbowcrack.com) – besorgt haben, können Sie Kennwörter in Sekunden, Minuten oder Stunden knacken und benötigen dafür keine Tage, Wochen oder sogar Monate mehr, wie das bei Wörterbüchern und Brute-Force der Fall sein kann.

Windows-Kennwörter mit »pwdumpx« und »John the Ripper« knacken

Das folgende Beispiel verwendet zwei meiner Lieblingswerkzeuge zum Testen der Sicherheit von Windows-Kennwörtern:

pwdump3 (um Kennwort-Hashes aus der Windows-SAM-Datenbank zu extrahieren) beziehungsweise pwdump6 (für neuere Windows-Versionen)

John the Ripper (um die Windows-Hashes und Unix/Linux-Kennwörter zu knacken)

Der folgende Test verlangt administrativen Zugriff auf Ihren Windows-Computer oder den Server.

1. Legen Sie im Root des Windows-Laufwerks C: ein neues Verzeichnis an, das den Namen passwords erhält.

2. Falls Sie so etwas noch nicht besitzen, laden Sie ein Werkzeug zum Entpacken von Dateien herunter und installieren Sie es.

Ein gutes kommerzielles Werkzeug ist WinZip (www.winzip.com) und als kostenloses Werkzeug zum Entpacken von Dateien empfehle ich 7-zip (www.7-zip.org). Windows XP, Windows Vista und Windows 7 verfügen über integrierte Werkzeuge zum Entpacken von Dateien.

3. Laden, entpacken und installieren Sie im Verzeichnis passwords:

• pwdump3 beziehungsweise eine neuere Version des Programms wie pwdump6: Laden Sie die Datei von www.openwall.com/passwords/microsoft-windows-nt-2000-xp-2003-vista-7#pwdump herunter.

• John the Ripper: Laden Sie die Datei von www.openwall.com/john herunter.

4. Geben Sie beim Arbeiten mit pwdump3 den folgenden Befehl ein, um pwdumpt3 laufen zu lassen und seine Ausgabe in eine Datei mit dem Namen cracked.txt umzuleiten:

c:\passwords\pwdump3 computername cracked.txt

Wenn Sie mit pwdump6 arbeiten, lautet die Anweisung
c:\passwords\pwdump6\pwdumprelease\pwdump computername -o cracked.txt

Diese Datei nimmt die Hashes der Windows-SAM-Datenbank auf. Abbildung 7.2 zeigt die Inhalte der Datei cracked.txt.

Abbildung 7.2: Die Ausgabe von pwdump3

5. Geben Sie die folgende Anweisung ein, um John the Ripper gegen die Windows-SAM-Kennwort-Hashes laufen zu lassen und die geknackten Kennwörter anzuzeigen:

c:\passwords\john\run\john cracked.txt

Dieser Vorgang – siehe Abbildung 7.3 – kann abhängig von der Anzahl der Benutzer und der Komplexität der Kennwörter Sekunden oder Tage dauern. Mein Windows-Beispiel benötigte nur fünf Sekunden für fünf schwache Kennwörter.

Abbildung 7.3: Von John the Ripper geknackte Kennwörter

Unix-Linux-Kennwörter mit »John the Ripper« knacken

John the Ripper kann auch Unix/Linux-Kennwörter knacken. Sie benötigen für Ihr System und die Kennwort- und Shadow-Kennwort-Dateien (/etc/passwd beziehungsweise /etc/shadow) Root-Berechtigungen. Führen Sie diese Schritte aus, um Unix/Linux-Kennwörter zu knacken:

1. Laden Sie von www.openwall.com/john die Unix-Quelldateien herunter.

2. Geben Sie die folgende Anweisung ein, um das Programm zu extrahieren:

[root@localhost kbeaver]#tar -zxf john-1.7.9.tar.gz

Passen Sie gegebenenfalls den Namen der TAR-Datei an.

Sie können Unix/Linux-Kennwörter auch auf einem Windows-System knacken, indem Sie die Windows/DOS-Version von John the Ripper verwenden.

3. Ändern Sie das Verzeichnis /src, das beim Extrahieren des Programms erstellt worden ist, und geben Sie diese Anweisung ein:

make generic

4. Ändern Sie das Verzeichnis /run und geben Sie den folgenden Befehl ein, um das Programm unshadow zu verwenden, um die Dateien passwd und shadow zusammenzuführen und in die Datei cracked.txt zu kopieren:

./unshadow /etc/passwd /etc/shadow > cracked.txt

Das Programm unshadow funktioniert nicht mit allen Unix-Varianten.

5. Geben Sie den folgenden Befehl ein, um den Prozess des Crackens zu starten:

./john cracked.txt

Wenn John the Ripper fertig ist (was einige Zeit dauern kann), ähnelt die Ausgabe der des weiter oben beschriebenen Ablaufs für Windows.

Nachdem die vorstehenden Schritte für Windows und/oder Unix/Linux abgeschlossen worden sind, müssen Sie die Benutzer, die Kennwörter verwenden, die Kennwortrichtlinien nicht entsprechen, dazu bringen, das Kennwort dementsprechend zu ändern.

Gehen Sie mit den Ergebnissen vorsichtig um. Durch Ihre Tests kennt nun mehr als eine Person die Kennwörter. Behandeln Sie die Kennwortinformationen Dritter immer streng vertraulich. Sollten Sie die Ergebnisse Ihres Tests auf einem System speichern, sorgen Sie dafür, dass niemand außer Ihnen darauf Zugriff hat. Am besten ist es, wenn Sie in diesem Fall die Festplatte vorsorglich verschlüsseln.

Zahlenspiele mit Kennwörtern

In normalen Computer-Kennwörtern werden einhundertachtundzwanzig verschiedene ASCII-Zeichen verwendet. (In der Realität werden nur 126 Zeichen verwendet, weil Sie weder NULL noch das Zeichen für den Zeilenumbruch – Carriage Return – benutzen können.) Ein aus wirklich zufällig ausgewählten acht Zeichen bestehendes Kennwort lässt 63.527.879.748.485.376 verschiedene Kombinationen zu. Gehen wir einen Schritt weiter und stellen wir uns vor, es wäre möglich, alle 256 ASCII-Zeichen (254 ohne NULL und Carriage Return) in einem Kennwort zu nutzen (was unter Unix/Linux möglich ist). Damit gibt es 17.324.859.965.700.833.536 Kombinationen. Das wären 2,7 Milliarden Mal mehr Kombinationsmöglichkeiten, als es Menschen auf der Erde gibt.

Eine Textdatei, die alle möglichen Kennwörter enthielte, benötigte Millionen von Terabyte Speicherplatz. Selbst wenn Sie in die Datei nur die realistischeren Kombinationen von rund 95 ASCII-Buchstaben, Ziffern und Standardsatzzeichen aufnähmen, würde die Datei immer noch Tausende von Terabyte Speicherplatz einnehmen. Diese Anforderungen an den Speicherplatz zwingen Programme, die Kennwörter über Wörterbücher oder Brute-force knacken wollen, dazu, die Kennwortkombinationen während der Programmausführung zu erstellen, statt alle denkbaren Kombinationen aus einer Textdatei zu lesen. Das ist auch der Grund, warum Rainbow-Angriffe beim Knacken von Kennwörtern viel effektiver als andere Angriffsarten sind.

Durch die Effektivität der Rainbow-Kennwortangriffe können Sie davon ausgehen, dass eigentlich jeder in der Lage ist, alle denkbaren Kennwortkombinationen zu knacken – und das mit der heute vorhandenen Technologie und einer durchschnittlichen eigenen Lebenserwartung.

Kennwortgeschützte Dateien knacken

Wollen Sie wissen, wie angreifbar kennwortgeschützte Dateien von Textverarbeitungen, Tabellenkalkulationen und ZIP-Dateien sind, wenn die Benutzer sie in die unendlichen Weiten schicken? Es gibt einige großartige Werkzeuge, die zeigen können, wie leicht es ist, an Kennwörter zu kommen.

Dateien knacken

Die meisten durch ein Kennwort geschützten Dateien sind in Sekunden oder Minuten geknackt. Wie so etwas geht, zeigt das folgende hypothetische Szenario, zu dem es auch problemlos im echten Leben kommen kann:

1. Ihr Finanzvorstand möchte vertrauliche Zahlen als Excel-Tabelle an ein Mitglied des Aufsichtsrates senden.

2. Der Tabelle wird während des Speicherns in Excel ein Kennwort zugewiesen.

3. Die Datei wird mit WinZip komprimiert und dabei mit einem weiteren Kennwort versehen, damit sie wirklich sicher ist.

4. Die Datei wird als E-Mail-Anhang verschickt, und es wird unterstellt, dass die E-Mail ihren Empfänger erreicht.

Im Netzwerk des Aufsichtsratsmitglieds gibt es einen inhaltsabhängigen Filter, der eingehende E-Mails auf Schlüsselwörter und Anhänge hin überprüft. Unglücklicherweise schaut sich der Administrator dort das Filtersystem an, weil er wissen will, was da so alles hereinkommt.

5. Dieser üble Netzwerkadministrator findet die E-Mail mit dem vertraulichen Anhang, den er speichert, um dann festzustellen, dass dieser mit einem Kennwort geschützt ist.

6. Der Administrator erinnert sich an ein tolles Werkzeug zum Knacken von Kenn-wörtern, das es bei Elcomsoft gibt und das Archive Password Recovery heißt (www.elcomsoft.com/archpr.html). Dieses Programm kann ihm dabei helfen, das Kennwort zu knacken.

Es gibt kaum etwas Einfacheres, als das Kennwort einer Datei zu knacken! Alles, was dieser Netzwerkadministrator dann noch machen muss, ist, die vertrauliche Tabelle an seine Kumpels oder die Konkurrenz zu schicken.

Wenn Sie in Advanced Archive Password Recovery sorgfältig die richtigen Einstellungen auswählen, können Sie Ihre Testzeit drastisch reduzieren. Wenn Sie zum Beispiel wissen, dass das Kennwort nicht mehr als fünf Zeichen hat oder nur aus Kleinbuchstaben besteht, können Sie die Zeit für das Knacken halbieren.

Ich empfehle, Tests zum Knacken von mit Kennwörtern geschützten Dateien auszuprobieren, die Sie über einen Inhaltsfilter oder ein Netzwerk-Analysewerkzeug erhalten haben. Auf diese Weise können Sie relativ einfach herausbekommen, ob sich Ihre Nutzer an Richtlinien halten und die entsprechenden Kennwörter verwenden, wenn sie sensible Informationen schützen wollen.

Gegenmaßnahmen

Der beste Schutz gegen schwache Kennwörter ist, zu verlangen, dass die Benutzer auf eine stärkere Form des Dateischutzes umsteigen, wie sie zum Beispiel PGP oder die AES-Verschlüsselung bietet, die Bestandteil von WinZip ist. Wenn Sie einen ungeschützten Transport über E-Mails verhindern wollen, sollten Sie ein inhaltsbezogenes Filtersystem verwenden, das ungeschützte E-Mail-Anhänge blockiert.

Weitere Wege, um am Kennwörter zu gelangen

Im Laufe der Jahre habe ich noch weitere Wege gefunden, um Kennwörter auf technischem Wege und über Social Engineering zu knacken.

Das Protokollieren von Eingaben über die Tastatur

Eine der besten Techniken, um an Kennwörter zu gelangen, ist das ferne Protokollieren von Tastatureingaben. Bei dieser Technik, die auch unter ihrem englischen Namen Keystroke Logging oder verkürzt Keylogger bekannt ist, verwenden Sie Soft- oder Hardware, um Tastatureingaben zu erhalten.

Passen Sie beim Protokollieren von Tastatureingaben auf. Selbst wenn Sie so etwas mit guten Absichten machen, kann es als Überwachung von Mitarbeitern ausgelegt werden und gegen Gesetze verstoßen. Holen Sie sich hier unbedingt rechtzeitig Rückendeckung durch die Rechtsabteilung und die Führungsspitze des Unternehmens und informieren Sie gegebenenfalls vorher den Betriebsrat über Ihre Tests.

Protokollierungswerkzeuge

Mit Keyloggern sind Sie in der Lage, auf Protokolldateien zuzugreifen, um herauszufinden, welche Kennwörter verwendet werden:

Anwendungen zum Protokollieren von Tastatureingaben können auf dem Computer installiert werden, der überwacht werden soll. Ich empfehle, dass Sie eBlaster und Spector Pro von Spectorsoft verwenden (www.spectorsoft.com). Ein anderes beliebtes Werkzeug ist Invisible KeyLogger Stealth, das unter www.amecisco.com/iks.htm heruntergeladen werden kann. Im Internet gibt es noch Dutzende dieser Werkzeuge.

Hardwarebasierende Werkzeuge wie KeyGhost (www.keyghost.com) werden zwischen Tastatur und Computer geklemmt oder ersetzen sogar die Tastatur.

Ein Werkzeug zum Protokollieren von Tastatureingaben, das auf einem freigegebenen Computer installiert wurde, protokolliert die Kennwörter aller Benutzer mit, die diesen Computer nutzen. (Denken Sie bei Ihrem nächsten Besuch im Internetcafé daran.)

Gegenmaßnahmen

Die beste Verteidigung gegen die Installation von Software zum Protokollieren von Tastatureingaben auf Ihren Systemen ist der Einsatz eines Antimalware-Programms. So etwas ist zwar nicht narrensicher, kann aber helfen. Und wenn es um Keylogger als Hardware geht, hilft eine regelmäßige optische Inspektion der Systeme.

Unsichere Kennwortablage

Viele ältere Anwendungen und viele lokal laufende Anwendungen wie E-Mail-Programme, Software für den Aufbau von Einwahlverbindungen in Netzwerke und Programme für die Durchführung von Internetbanking legen Kennwörter lokal ab und machen sie dadurch angreifbar. Ich zum Beispiel habe immer wieder durch eine einfache Textsuche Kennwörter gefunden, die in Klarschrift auf den Festplatten von Maschinen gespeichert waren. Sie können eine solche Suche sogar automatisieren, indem Sie ein Programm verwenden, das Identity Finder heißt und unter www.identityfinder.com/us/Business heruntergeladen werden kann. Ich behandele diese Schwachstellen in Kapitel 15.

Suchen

Sie können die Suche mit Ihrem Lieblingssuchwerkzeug – zum Beispiel die Windows-Textsuche, findstr oder grep – durchführen und auf den Festplatten des Computers nach password, passwd, passwort oder kennwort suchen. Sie werden sich wundern, was Sie alles auf einem System finden. Es gibt sogar Programme, die Kennwörter direkt auf die Festplatte schreiben oder im Arbeitsspeicher ablegen.

Eine unsichere Kennwortablage ist der Traum eines jeden kriminellen Hackers.

Gegenmaßnahmen

Der einzig zuverlässige Weg gegen eine unsichere Kennwortablage sieht so aus, dass Sie nur noch Anwendungen verwenden, die Kennwörter sicher speichern. Das lässt sich zwar nicht immer umsetzen, ist aber die einzige Garantie dafür, dass Ihre Kennwörter nicht von jedem ausgelesen werden können. Außerdem sollten Sie die Benutzer dazu bringen, Kennwörter auch dann nicht zu speichern, wenn sie dazu aufgefordert werden.

Bevor Sie Programme aktualisieren, sollten Sie den Verkäufer der Software ansprechen, um herauszubekommen, wie Kennwörter abgelegt werden. Gegebenenfalls müssen Sie dann auf eine andere Software-Lösung ausweichen.

Netzwerkanalysatoren

Ein Netzwerkanalysator schnüffelt in den Paketen herum, die im Netzwerk umherschwirren. Und genau das machen dann auch Angreifer, wenn sie die Kontrolle über einen Computer gewinnen, sich in Ihr drahtloses Netzwerk einschleichen oder irgendwie physischen Zugriff auf Ihr Netzwerk erhalten und ihre Netzwerkanalysatoren einbinden können.

Testen

Abbildung 7.4 zeigt, wie glasklar Kennwörter über einen Netzwerkanalysator wiedergegeben werden können. Cain & Abel (www.oxid.it/cain.html) ist in der Lage, in wenigen Stunden Tausende von Kennwörtern herauszubekommen, die im Netzwerk transportiert werden. Wie Sie dem linken Teil der Abbildung entnehmen können, lässt sich die Anwendung für FTP, das Web, Telnet und anderes verwenden. (In der Abbildung sind die Benutzernamen und die Kennwörter ausgeblendet worden, um die Benutzer zu schützen.)

Abbildung 7.4: Mit Cain & Abel Kennwörter herausbekommen, die es im Netzwerk gibt

Wenn der Verkehr nicht über ein VPN, SSH, SSL oder eine andere Form einer verschlüsselten Verknüpfung getunnelt wird, ist er angreifbar.

Cain & Abel ist ein Werkzeug zum Knacken von Kennwörtern, das auch über die Fähigkeit verfügt, den Verkehr im Netzwerk zu analysieren. Sie können aber auch einen reinen Netzwerkanalysator wie die kommerziellen Produkte OmniPeek (www.wildpackets.com/products/omnipeek_network_analyzer) und CommView (www.tamos.com/products/commview) oder das kostenlose Open-Source-Programm Wireshark (www.wireshark.org) verwenden. Sie können mit einem Netzwerkanalysator auf verschiedene Weise nach Kennwortverkehr suchen. Um zum Beispiel an POP3-Kennwortverkehr zu gelangen, richten Sie einen Filter und einen Trigger ein und suchen nach dem Befehl PASS. Wenn der Netzwerkanalysator den Befehl PASS im Paket findet, sammelt er die entsprechenden Daten ein.

Netzwerkanalysatoren verlangen, dass Sie Daten in einem Hub-Segment Ihres Netzwerks oder über einen Monitor-/Mirror-/Span-Port eines Switches einsammeln. Ansonsten sehen Sie mit Ausnahme Ihrer eigenen Daten nichts vom Netzwerkverkehr. Prüfen Sie im Handbuch Ihres Switches nach, ob dieser über einen Mirror- oder Monitor-Port verfügt und wie Sie diesen gegebenenfalls konfigurieren müssen. Sie können den Netzwerkanalysator auf der öffentlichen Seite der Firewall mit einem Hub verbinden. Sie sammeln dann nur die Pakete ein, die in das Netzwerk hineingehen oder es verlassen. Ich gehe in Kapitel 8 detailliert auf diese Art des Hackens eines Netzwerkes ein.

Gegenmaßnahmen

Hier einige gute Verteidigungsmaßnahmen gegen Angriffe mit Netzwerkanalysatoren:

Verwenden Sie in Ihrem Netzwerk Switches und keine Hubs. Wenn Sie in Netzwerk-segmenten Hubs verwenden müssen, kann ein Programm wie sniffdet (http://sniffdet.sourceforge.net) für Unix-basierende Systeme oder Pro miseDetect (http://ntsecurity.nu/toolbox/promiscdetect) für Windows Netzwerkkarten entdecken, die sich im promiskuitiven Modus befinden (in diesem Modus werden alle Pakete unabhängig davon akzeptiert, ob sie für die lokale Maschine bestimmt sind oder nicht). Eine Netzwerkkarte, die in diesem Modus läuft, ist ein Hinweis darauf, dass in dem Netzwerk ein Netzwerkanalysator aktiv ist.

Sorgen Sie dafür, dass es in Räumlichkeiten, die nicht ständig beobachtet werden (wie zum Beispiel Schulungsräume), keine Verbindung ins Netzwerk gibt.

Geben Sie niemandem, der keinen triftigen Grund nachweisen kann, Zugriff auf Switches oder Netzwerkverbindungen, die sich auf der öffentlichen Seite Ihrer Firewall befinden. Ein Hacker könnte sich ansonsten Zugriff auf einen Monitor-Port verschaffen.

Switches bieten keine vollständige Sicherheit, da sie Schwächen gegenüber ARP-Poisoning-Angriffen zeigen, die ich in Kapitel 8 behandele.

Schwache BIOS-Kennwörter

Die meisten BIOS-Einstellungen lassen es zu, dass ein Computer beim Einschalten und/oder seine Hardware-Einstellungen über ein Kennwort geschützt wird. Und so können Sie dieses Kennwort umgehen:

Setzen Sie das Kennwort zurück, indem Sie die CMOS-Batterie entfernen oder einen Jumper auf dem Motherboard umsetzen.

Sie finden im Internet Software, die in der Lage ist, BIOS-Kennwörter zu knacken.

Wenn Sie es schaffen, Zugriff auf die Festplatte des Computers zu erhalten, bauen Sie sie aus und in einem anderen Computer wieder ein. Dies beweist eindeutig, dass BIOS-Kennwörter nicht der ultimative Schutz sind, für den sie immer wieder gehalten werden.

Teil III

Netzwerkhosts hacken

In diesem Teil ...

Nachdem Sie nun die Grundlagen für Tests im ethischen Hacken gelegt haben, erreichen wir die nächste Ebene. Die Tests im vorherigen Teil – besonders diejenigen des Social Engineerings und die physischen Sicherheitstests – bewegen sich zwar auf einem hohen Niveau, haben aber nicht viel mit technischen Dingen zu tun. Jetzt ändern sich die Zeiten! Jetzt geht es um Netzwerksicherheit, und es fängt an, kompliziert zu werden.

Dieser Teil beginnt damit, dass wir von innen und von außen nach Löchern im »Grenzzaun« des Netzwerks, nach Exploits bei Netzwerkgeräten, nach DoS-Angriffsmöglichkeiten und mehr Ausschau halten. Danach beschäftigt sich dieser Teil damit, wie Sie die Sicherheit von drahtlosen LANs überprüfen können, denn Netzwerke dieser Art haben für neue Schwachstellen gesorgt. Zum Schluss taucht dieser Teil in die immer größer werdende Zahl mobiler Geräte ein, die Benutzer nach Belieben verwenden, um sich mit dem Netzwerk zu verbinden.

8

Die Infrastruktur des Netzwerks

In diesem Kapitel ...

Netzwerkhosts auswählen

Netzwerkhosts scannen

Die Sicherheit mit einem Netzwerkanalysator überprüfen

Denial of Service und Schwachstellen bei der Infrastruktur des Netzwerks verhindern

Sichere Betriebssysteme und Anwendungen benötigen ein sicheres Netzwerk. Geräte wie Router, Firewalls und Hosts (zu denen auch Server und Arbeitsstationen gehören) müssen als Teil des ethischen Hackens überprüft werden.

In einem Netzwerk gibt es Tausende von möglichen Schwachstellen und genauso viele Werkzeuge und vielleicht sogar noch mehr Testmethoden. Da Sie kaum die Zeit haben, alle Schwachstellen aufzuspüren und mit allen existierenden Werkzeugen die Infrastruktur Ihres Netzwerks zu untersuchen, sollten Sie sich auf Tests konzentrieren, die einen guten allgemeinen Überblick darüber geben, wie sicher Ihr Netzwerk ist – und genau darum geht es in diesem Kapitel.

Der einfachste Weg, um in Netzwerken die meisten bekannten Schwachstellen auszumerzen, sieht so aus, dass Sie auf die Netzwerkhosts die aktuellsten Firmware- und Softwareversionen aufspielen. Und um die restlichen Angriffsmöglichkeiten zu beseitigen, die es in Ihrem Netzwerk gibt, schauen Sie sich die Tests, Werkzeuge und Techniken an, die in diesem Kapitel beschrieben werden.

Je besser Sie sich mit Netzwerkprotokollen auskennen, desto einfacher fällt es Ihnen, die Schwachstellen eines Netzwerks auszutesten, da Netzwerkprotokolle die Grundlage der meisten Konzepte für Datensicherheit bilden.

Eine Fallstudie über das Hacken einer Netzwerkinfrastruktur

Laura Chappell – eine der weltweit führenden Autoritäten für Netzwerkprotokolle – wurde zu einem Kunden gerufen, weil es das Problem »Das Netzwerk ist langsam« gab. Es sei zeitweilig zu Ausfällen gekommen, und die Verbindung ins Internet zeige ein sehr schlechtes Leistungsverhalten. Daraufhin untersuchte Ms. Chappell zuerst den Datenfluss zwischen Clients und Servern. Die lokale Kommunikation schien in Ordnung zu sein, aber sobald es über die Firewall ins Internet oder in die Büros von Niederlassungen ging, kam es zu Verzögerungen. Ms. Chappell untersuchte also den Verkehr, der über die Firewall lief, und versuchte, den Grund für die Verzögerungen herauszubekommen.

Ein kurzer Blick auf den Verkehr, der über die Firewall lief, zeigte, dass die nach außen gehenden Links fast überliefen, was dazu führte, dass Ms. Chappell den Verkehr beobachten und klassifizieren musste. Sie verwendete einen Netzwerkanalysator und untersuchte, was mit den Protokollen los war. Sie sah, dass fast 45 Prozent des Verkehrs nicht zuzuordnen waren. Sie griff einige dieser Daten ab und fand Verweise auf pornografische Bilder. Weitere Untersuchungen der Pakete führten zu zwei Ports, die ständig in den entsprechenden Dateien auftauchten: Port 1214 (Kazaa) und Port 6346 (Gnutella), zwei Anwendungen, die eine Peer-to-Peer-Freigabe (P2P-Freigabe) von Dateien ermöglichen. (Programme dieser Art werden auch Filesharing-Programme genannt.) Ms. Chappell untersuchte daraufhin alle Ports, um zu sehen, was da ablief, und fand heraus, dass auf 30 Systemen Kazaa oder Gnutella lief. Die dadurch übertragenen Dateien fraßen die Bandbreite auf und zwangen die gesamte Kommunikation in die Knie. Es wäre nun ein Einfaches gewesen, die Systeme herunterzufahren und die Anwendungen zu entfernen, aber Ms. Chappell wollte ihre Untersuchungen fortsetzen, ohne dass die Benutzer das merken.

Ms. Chappell entschloss sich, ihre eigenen Kazaa- und Gnutella-Clients einzusetzen, um sich die freigegebenen Ordner des Systems anzuschauen. Dabei fand sie heraus, dass einige Benutzer ihre Netzlaufwerke freigegeben hatten, in denen sich nicht nur vertrauliche Firmendaten und Dienstpläne mit Namen, Adressen und privaten Telefonnummern befanden.

Viele Benutzer sagten, dass sie diese Verzeichnisse freigegeben hätten, um Mitglied im P2P-Netzwerk zu werden, und dass sie nicht davon ausgegangen sind, dass jemand Interesse an den dort abgelegten Daten hätte. Keiner hat daran gedacht, dass durch eine solche Aktion vertrauliche Informationen in die falschen Hände gelangen könnten – ein Irrtum, dem viele Benutzer weltweit unterliegen.

Laura Chappell ist Senior Protocol Analyst am Protocol Analysis Institute, LLC (www.packet-level.com), viel gelesene Autorin und Dozentin.

Schwachstellen an der Infrastruktur von Netzwerken

Schwachstellen, die die Infrastruktur eines Netzwerks aufweist, bilden die Grundlage der meisten Sicherheitsprobleme bei Informationssystemen. Diese für sich genommen relativ unbedeutenden Schwachstellen berühren aber so gut wie alles, was mit Ihrem Netzwerk zu tun hat. Deshalb müssen Sie sie testen und so weit wie möglich ausschalten.

Zur Infrastruktur eines Netzwerks gehören viele Dinge, die sich auf die Sicherheit auswirken. Einige dieser Dinge sind technischer Natur, und wenn Sie die entsprechenden Tests durchführen wollen, benötigen Sie verschiedene Werkzeuge. Bei anderen reicht es aus, mit offenen Augen durchs Leben zu gehen und ein wenig logisch nachzudenken. Einige Schwachstellen lassen sich leicht finden, wenn Sie von außen auf das Netzwerk schauen, während andere problemlos von innen her entdeckt werden können.

Wenn Sie sich anschauen, wie sicher die Infrastruktur eines Netzwerks ist, müssen Sie besonders hierauf achten:

wo Geräte, zum Beispiel eine Firewall oder ein IPS, im Netzwerk platziert wurden und wie sie konfiguriert sind
was externe Angreifer sehen, wenn sie Portscans durchführen, und wie sie eventuell im Netzwerk vorhandene Schwachstellen ausnutzen können
das Design des Netzwerks, zum Beispiel Internet-Verbindungen, Möglichkeiten eines fernen Zugriffs (Remote-Zugriffs), Verteidigungsmaßnahmen auf den Layern und Platzierung der Hosts
die Interaktion vorhandener Sicherheitseinrichtungen, zum Beispiel Firewalls, Systeme zum Verhindern eines Eindringens (IPS – Intrusion Prevention System), Antivirensoftware und so weiter
die verwendeten Protokolle

Ports, die üblicherweise angegriffen werden, aber ungeschützt sind

Wenn jemand bei den Elementen der vorstehenden Liste eine Schwachstelle ausnutzt, könnte es zu folgenden unangenehmen Dingen kommen:

Ein Hacker kann einen Denial-of-Service-Angriff (DoS-Angriff) starten, der Ihre Internetverbindung oder sogar Ihr gesamtes Netzwerk in die Knie zwingt.

Ein böswilliger Benutzer kann mit einem Netzwerkanalysator Zugang zu vertraulichen Daten und E-Mails erhalten.

Ein Hacker kann in Ihr Netzwerk eine »Hintertür« einbauen, um von dort aus auf Ihre Daten zuzugreifen.

Ein Hacker kann bestimmte Hosts angreifen, indem er lokale Schwachstellen im Netzwerk ausnutzt.

Bevor Sie die Sicherheit der Infrastruktur Ihres Netzwerks überprüfen, sollten Sie Folgendes machen:

Testen Sie Ihre Systeme von draußen nach drinnen, von drinnen nach draußen und nur drinnen (das heißt zwischen einzelnen Netzwerksegmenten).

Holen Sie sich die Berechtigung ein, auch Partnernetzwerke überprüfen zu dürfen, die unmittelbaren Einfluss auf Ihr Netzwerk haben können (hier geht es zum Beispiel um offene Ports, fehlende Firewalls oder einen falsch konfigurierten Router).

Werkzeuge wählen

Natürlich benötigen Sie – wie beim gesamten ethischen Hacken – auch für die Sicherheitstests in Ihrem Netzwerk die richtigen Werkzeuge. Sie kommen nicht ohne Portscanner, Protokollanalysatoren und Werkzeuge für die Prüfung auf Schwachstellen aus. Denken Sie daran, dass Sie mehr als ein Werkzeug benötigen, weil es keines gibt, das alles kann.

Wenn Sie ein einfach zu bedienendes Sicherheitswerkzeug suchen, erhalten Sie – gerade für Windows – meistens genau das, was dem gezahlten Betrag entspricht. Unzählige Sicherheitsprofis schwören auf kostenlose Sicherheitssoftware, die oftmals unter Linux oder einem der auf Unix basierenden Betriebssysteme läuft. Viele dieser Werkzeuge bieten wertvolle Dienste – wenn Sie gewillt sind, sich mit ihren Vor- und Nachteilen auseinanderzusetzen. Aber vergleichen Sie auf jeden Fall die Ergebnisse, die die kostenlosen Werkzeuge liefern, mit denen ihrer kommerziellen Gegenspieler. Ich bin dabei auf ziemliche Unterschiede gestoßen.

Scanner und Analysatoren

Diese Scanner hier erledigen fast alle Portscans und Netzwerktests, die Sie benötigen:

Cain & Abel (www.oxid.it/cain.html) für die Analyse des Netzwerks und ARP-Poisoning

Essential NetTools (www.tamos.com/products/nettools) für ein weites Feld an Scanfunktionen

NetScanTools Pro (www.netscantools.com) für Dutzende von Funktionen zur Überprüfung der Netzwerksicherheit, zu denen auch das Testen von Ping, Sweeps, Ports und SMTP-Weiterleitung gehören.

Getif (www.wtcs.org/snmp4tpc/getif.htm) für SNMP-Enumeration

Nmap (http://nmap.org) – oder NMapWin (http://sourceforge.net/projects/nmapwin) – für die Untersuchung von Hosts und dem Fingerprinting von Betriebssystemen

OmniPeek von WildPackets (www.wildpackets.com/products/omnipeek_network_analyzer) für die Analyse von Netzwerken

Wireshark (www.wireshark.org) für die Analyse von Netzwerken

Schwachstellenprüfung

Diese Prüfwerkzeuge erlauben es Ihnen, die Hosts Ihres Netzwerks auf Schwachstellen zu überprüfen:

GFI LANguard (www.gfi.com/lannetscan) für das Absuchen von Ports und für Schwachstellentests

Nexpose (www.rapid7.com/vulnerability-scanner.jsp), eine Komplettlösung zum Testen von Schwachstellen

QualysGuard (www.qualys.com), eine Komplettlösung für in die Tiefe gehende Tests auf Schwachstellen

Das Netzwerk scannen und in ihm herumstochern

Wenn Sie die Infrastruktur Ihres Netzwerks so ethisch hacken wollen, wie es die folgenden Abschnitte beschreiben, müssen Sie diesen Schritten folgen:

1. Sammeln Sie Informationen und erstellen Sie von Ihrem Netzwerk eine grafische Übersicht.

2. Scannen Sie Ihre Systeme, um herauszufinden, auf welche zugegriffen werden kann.

3. Finden Sie heraus, was auf den entdeckten Systemen läuft.

4. Sie sollten versuchen, in die entdeckten Systeme einzudringen.

Jeder Treiber einer Netzwerkkarte und alle TCP/IP-Implementierungen weisen bei den meisten Betriebssystemen, zu denen auch Windows, Linux und selbst Ihre Firewalls und Router gehören, Eigenarten auf, die beim Scannen der Systeme und wenn Sie sich näher mit ihnen beschäftigen, zu einem nicht einheitlichen Verhalten führen. Dies kann ein unterschiedliches Antwortverhalten der verschiedenen Systeme bewirken – angefangen bei einem falsch positiven Ergebnis bis hin zu DoS-Bedingungen. Suchen Sie vorsorglich auf den Hersteller-Sites nach aktuellen Treiberversionen und binden Sie diese in Ihre Systeme ein. Damit sollte sich die Wahrscheinlichkeit verringern, dass es bei Ihren Tests zu Problemen kommt – aber leider ist immer alles möglich.

Ports scannen

Ein Portscanner zeigt Ihnen, was in Ihrem Netzwerk los ist. Sie können dabei helfen, im Netzwerk nicht berechtigte Hosts und Anwendungen und Konfigurationsfehler zu entdecken, die zu ernsthaften Sicherheitslücken führen können.

Die Gesamtübersicht, die ein Portscanner liefert, enthüllt oftmals Sicherheitsprobleme, die ansonsten unentdeckt geblieben wären. Die Bedienung von Portscannern ist einfach und sie können Netzwerkhosts unabhängig davon testen, welche Betriebssysteme und Anwendungen genutzt werden. Die Tests laufen relativ schnell ab, ohne dass einzelne Netzwerkhosts angepackt werden müssen.

Der Trick bei einer Überprüfung der Sicherheit eines ganzen Netzwerks liegt darin, die Ergebnisse eines Portscanners zu interpretieren. Sie können nämlich auch falsch positive Ergebnisse über offene Ports erhalten und Sie müssen gegebenenfalls tiefer graben. So sind zum Beispiel Scans des User Datagram Protocols (UDP) – wie das Protokoll selbst – weniger zuverlässig als Scans des Transmission Control Protocols (TCP), weil sie falsch positive Ergebnisse liefern, da viele Anwendungen nicht wissen, wie sie auf zufällig ankommende UDP-Anfragen reagieren sollen.

Ein mit vielen Funktionen ausgestatteter Scanner wie QualysGuard ist häufig in der Lage, in einem Arbeitsgang Ports und das zu identifizieren, was darauf abläuft.

Sie müssen immer daran denken, nicht nur die wichtigen Hosts zu scannen. Drehen Sie jeden Stein um – wenn nicht beim ersten, dann beim zweiten Mal. Diese anderen Systeme bestrafen Sie, wenn Sie sie ignorieren. Außerdem sollten Sie dieselben Tests mit unterschiedlichen Werkzeugen wiederholen, um herauszufinden, ob dies zu unterschiedlichen Ergebnissen führt. Nicht alle Werkzeuge finden dieselben offenen Ports und Schwachstellen.

Wenn die Ergebnisse der unterschiedlichen Werkzeuge nicht übereinstimmen, müssen Sie dem nachgehen. Wenn etwas nicht ganz richtig aussieht, kann dies ein Warnzeichen sein. Führen Sie in solch einem Fall den Test noch einmal durch – und zwar mit einem anderen Werkzeug.

Wenn möglich, sollten Sie alle 65.534 TCP-Ports aller Netzwerkhosts scannen. Wenn Sie dabei auf fragwürdige Ports stoßen, prüfen Sie nach, ob die entsprechende Anwendung bekannt und berechtigt ist. Auch das Scannen aller 65.534 UDP-Ports ist keine schlechte Idee.

Um Zeit zu sparen, können Sie auch nur die Ports scannen, die gerne von Hackern angegriffen werden (siehe Tabelle 8.1).

Portnummer | Dienst | Protokoll(e)
7 | Echo | TCP, UDP
19 | Chargen | TCP, UDP
20 | FTP-Data (File Transfer Protocol) | TCP
21 | FTP | TCP
22 | SSH | TCP
23 | Telnet | TCP
25 | SMTP (Simple Mail Transfer Protocol) | TCP
37 | Daytime | TCP, UDP
53 | DNS (Domain Name System) | UDP
69 | TFTP (Trivial File Transfer Protocol) | UDP
79 | Finger | TCP, UDP
80 | HTTP (Hypertext Transfer Protocol) | TCP
110 | POP3 (Post Office Protocol Version 3) | TCP
111 | SUN RPC (Remote Procedure Calls) | TCP, UDP
135 | RPC/DCE für Microsoft-Netzwerke | TCP, UDP
137, 138, 139, 445 | NetBIOS über TCP/IP | TCP, UDP
161 | SNMP (Simple Network Management Protocol) | TCP, UDP
443 | HTTPS (HTTP über SSL) | TCP
512, 513, 514 | Berkeley r-Dienste und r-Anweisungen (wie rsh, rexec und rlogin) | TCP
1433 | Microsoft SQL Server (ms-sql-s) | TCP, UDP
1434 | Microsoft SQL Monitor (ms-sql-m) | TCP, UDP
1723 | Microsoft PPTP VPN | TCP
3389 | Windows Terminal Server | TCP
8080 | HTTP-Proxy | TCP

Tabelle 8.1: Häufig gehackte Ports

Ping Sweep

Ein Ping Sweep ist ein guter Weg, um herauszufinden, welche Hosts in Ihrem Netzwerk aktiv sind. (Sie können Sweep mit Razzia übersetzen; Computerleute haben oft einen sonderbaren Humor.) Bei einem Ping Sweep handelt es sich um einen Ping, der an einen Adressbereich geht und Pakete des Internet Control Message Protocols (ICMP) verwendet. Abbildung 8.1 zeigt den Befehl und die Ergebnisse, die mit Nmap bei einem Ping Sweep in einem Teilnetz der Klasse C erzielt wurden.

Abbildung 8.1: Einen Ping Sweep in einem vollständigen Teilnetz der Klasse C durchführen

Nmap kennt Dutzende von Optionen auf Befehlszeilenebene, die Sie überwältigen können, wenn nur ein einfacher Scan ausgeführt werden soll. Geben Sie einfach auf der Befehlszeile nmap ein, um alle verfügbaren Optionen angezeigt zu bekommen.

Sie können die folgenden Optionen auf Befehlszeilenebene verwenden, um einen Ping Sweep mit Nmap auszuführen:

-sP weist Nmap an, einen Ping-Scan auszuführen.

-n weist Nmap an, keine Namensauflösung durchzuführen. Sie können auf die Option -n verzichten, wenn Sie Hostnamen auflösen wollen, um zu sehen, welche Systeme antworten. Die Namensauflösung kostet etwas mehr Zeit.

-T 4 weist Nmap an, schnellere Scans durchzuführen.

192.168.1.1-254 weist Nmap an, das komplette Teilnetz 192.168.1.x zu scannen.

Werkzeuge für das Scannen von Ports verwenden

Die meisten Portscanner arbeiten in drei Schritten:

1. Der Portscanner sendet an den Host oder einen Bereich von Hosts, der gescannt werden soll, TCP-SYN-Anfragen. Einige Portscanner führen zunächst Ping Sweeps durch, um herauszubekommen, welche Hosts ansprechbar sind, bevor sie mit dem Scannen der TCP-Ports beginnen.

Die meisten Portscanner scannen standardmäßig nur TCP-Ports. Vergessen Sie die UDP-Ports nicht. Sie können UDP-Ports mit einem Scanner wie Nmap scannen.

2. Der Portscanner wartet auf Antworten von den Hosts.

3. Der Portscanner überprüft gründlich jeweils bis zu 65.534 mögliche TCP- und UDP-Ports der erreichbaren Hosts – wobei Sie vorgeben können, auf welche Ports sich der Scanner beschränken soll.

Die Portscans sorgen für die folgenden Informationen über die aktiven Hosts in Ihrem System:

welche Hosts im Netzwerk erreichbar sind
die Netzwerkadressen der gefundenen Hosts

Dienste und/oder Anwendungen, die auf den Hosts laufen könnten

Nachdem Sie ein Ping Sweep durchgeführt haben, können Sie sich näher mit den gefundenen Hosts beschäftigen.

Nmap

Wenn Sie einen allgemeinen Überblick darüber erhalten haben, welche Hosts erreichbar und welche Ports offen sind, können Sie abgestuftere Scans laufen lassen, um definitiv sagen zu können, welche Ports tatsächlich offen sind und nicht nur eine falsch positive Meldung zurückgeben. Mit Nmap können Sie folgende zusätzliche Scans ablaufen lassen:

Connect: Dieser grundlegende TCP-Scan sucht auf dem Host nach allen offenen Ports. Sie können diesen Scan verwenden, um herauszufinden, was da läuft, und um festzulegen, ob Systeme zum Verhindern eines Eindringens (Intrusion Prevention System – IPS), Firewalls oder andere Protokollierungssysteme die Verbindungen protokollieren.

UDP Scan: Dieser grundlegende UDP-Scan sucht auf dem Host nach allen offenen UDP-Ports. Sie können diese Scans verwenden, um herauszufinden, was da läuft, und um festzulegen, ob Systeme zum Verhindern eines Eindringens (Intrusion Prevention System – IPS), Firewalls oder andere Protokollierungssysteme die Verbindungen protokollieren.

SYN Stealth: Dieser Scan erzeugt eine halb-offene TCP-Verbindung mit dem Host und versucht dabei, IPS-Systemen und Protokollierungen aus dem Weg zu gehen. Hierbei handelt es sich um einen guten Scan, mit dem Sie IPS, Firewalls und andere Geräte für die Protokollierung testen.

FIN Stealth, Xmas Tree und Null: Bei diesen Scans können Sie die Tests ein wenig mischen, indem Sie ungewöhnliche Pakete an Ihre Hosts im Netzwerk senden, um zu sehen, wie die Hosts antworten. Bei diesen Scans werden reihum die Flags in den TCP-Headern aller Pakete geändert, um zu testen, wie die einzelnen Hosts damit umgehen. Damit sollen schwache TCP/IP-Konfigurationen und fehlende Aktualisierungen aufgezeigt werden.

Seien Sie bei diesen Scans vorsichtig. Sie können Ihren eigenen DoS-Angriff erzeugen und dabei möglicherweise Anwendungen oder das gesamte System zum Zusammenbruch bringen. Wenn es in Ihrem Netzwerk einen Host mit einem schwachen TCP/IP-Stapel gibt (das ist die Software, die die TCP/IP-Kommunikation auf Ihren Hosts steuert), haben Sie kaum eine Chance, Ihren Scan daran zu hindern, einen DoS-Angriff zu erzeugen. Sie könnten die Wahrscheinlichkeit für so etwas verringern, indem Sie für die Scans die Nmap-Optionen für eine langsamer ablaufende Zeitvorgabe verwenden: PARANOID, SNEAKY (das bedeutet heimtückisch) oder POLITE (der englische Ausdruck für höflich).

Abbildung 8.2 zeigt die Registerkarte SCAN von NMapWin, auf der Sie die Optionen von SCAN MODE, dem Scanmodus, auswählen können (CONNECT, UDP SCAN und so weiter). Wenn Sie ein Anhänger der Befehlszeile sind, finden Sie in der linken unteren Ecke des NMapWin-Bildschirms die entsprechenden Parameter.

Abbildung 8.2: Optionen zum Scannen von Ports mit NMapWin

Wenn Sie eine Verbindung zu einem einzelnen Port aufbauen (was einige der Komplettlösungen nicht können), können Sie die Firewall oder das IPS umgehen. Dies ist ein guter Test der Sicherheitskontrollen des Netzwerks. Schauen Sie sich die entsprechenden Protokolldateien an, um herauszufinden, was dort steht.

NetScanTools Pro

NetScanTools Pro (www.netscantools.com) ist eine ganz ordentliche kommerzielle Komplettlösung, um allgemeine Informationen über ein Netzwerk einzusammeln, zum Beispiel wie viele eindeutige IP-Adressen, NetBIOS-Namen und MAC-Adressen es gibt. Außerdem gibt es eine interessante Funktion, die es Ihnen erlaubt, die Betriebssysteme von Hosts mit einem Fingerprint zu versehen. Abbildung 8.3 zeigt die OS FINGERPRINTING-Ergebnisse, während ein Linksys-Router/Firewall gescannt wird.

Abbildung 8.3: Das OS FINGERPRINTING-Werkzeug von NetScanTools Pro

Maßnahmen gegen Ping Sweep und Portscans

Lassen Sie auf den internen Hosts nur den unbedingt notwendigen Verkehr zu. Dies gilt ganz besonders für Standardports wie TCP-Port 80 für HTTP und ICMP für Ping-Anfragen.

Richten Sie Firewalls so ein, dass sie nach Dingen Ausschau halten, die in einem bestimmten Zeitraum geschehen (zum Beispiel die Zahl der Pakete, die in einem vordefinierten Zeitraum empfangen werden), und sorgen Sie für Regeln, die Angriffe unterbinden, wenn zum Beispiel ein bestimmter Schwellenwert – wie 10 Portscans in einer Minute oder 100 aufeinanderfolgende Ping-Anfragen – erreicht wird.

Wenn Sie den Verkehr in Ihrem Netzwerk einschränken, kann es passieren, dass Anwendungen nicht mehr funktionieren. Deshalb müssen Sie ziemlich genau wissen, wie Anwendungen und Protokolle arbeiten, bevor Sie irgendeine Art von Verkehr im Netzwerk deaktivieren.

SNMP scannen

Das Simple Network Management Protocol (SNMP) ist Bestandteil fast aller Netzwerkgeräte. Verwaltungsprogramme für Netzwerke (wie HP Open View und LANDesk) verwenden SNMP für die ferne (oder remote) Verwaltung von Netzwerkhosts. Leider weist SNMP einige Schwächen auf, wenn es um das Thema Sicherheit geht.

Schwachstellen

Das Problem liegt darin, dass SNMP auf den meisten Netzwerkhosts mit den Standardeinstellungen eingerichtet wird (öffentliche und private Community-Strings stehen auf read/write). Hinzu kommt, dass SNMP nur ganz selten wirklich benötigt wird und damit fast immer überflüssig ist.

Wenn es um SNMP geht, kann ein Hacker an ARP-Tabellen, Benutzernamen und TCP-Verbindungen kommen und mit den so gewonnenen Informationen Ihr System weiter angreifen. Wenn Ihre Portscans SNMP zeigen, können Sie sicher sein, dass Hacker versuchen werden, über diesen Weg auf Ihr System zuzugreifen.

Hier kommt eine Liste mit Werkzeugen für SNMP:

die kommerziellen Werkzeuge NetScanTools Pro und Essential NetTools
das kostenlose, auf einer Windows-Oberfläche basierende Getif
das kostenlose, textbasierende Windows-Werkzeug SNMPUTIL (www.wtcs.org/snmp4tpc/FILES/Tools/SNMPUTIL/SNMPUTIL.zip)

Sie können Getif verwenden, um Systeme aufzulisten, auf denen SNMP aktiviert ist (siehe Abbildung 8.4).

Abbildung 8.4: Allgemeine SNMP-Informationen, die mit Getif eingesammelt wurden

Durch diesen Test konnte ich viele Informationen über einen drahtlosen Zugriffspunkt herausbekommen: Modellnummer, Firmware-Version, Laufzeit und so weiter. Das alles kann gegen den Host verwendet werden, wenn ein Angreifer in diesem System schon eine Schwachstelle gefunden hat. Als ich ein wenig tiefer grub, stieß ich auf Benutzernamen dieses Zugriffspunktes, wie Abbildung 8.5 zeigt. Informationen dieser Art sollten Sie lieber nicht der Öffentlichkeit zeigen.

Abbildung 8.5: Benutzer-IDs für die Verwaltung der Schnittstelle, gewonnen mit Getif

Wenn Sie eine Liste mit Herstellern und Produkten sehen möchten, die diese bekannten SNMP-Schwachstellen aufweisen, schauen Sie sich www.cert.org/advisories/CA-2002-03.html an.

Gegenmaßnahmen

Es ist nicht schwer, SNMP-Angriffe zu verhindern:

Deaktivieren Sie SNMP auf Hosts, wenn es dort nicht benötigt wird – Punkt.

Blockieren Sie SNMP-Ports (die UDP-Ports 161 und 162) auf Netzwerkebene.

Ändern Sie die standardmäßige SNMP-Community READ STRING von PUBLIC (öffentlich) und die standardmäßige Community WRITE STRING von PRIVATE (nicht-öffentlich) in eine lange und komplexe Zeichenfolge, die niemand erraten kann.

Aktualisieren Sie unbedingt Ihre Systeme auf SNMP Version 3, das viele der bekannten SNMP-Schwächen nicht mehr aufweist.

Banner-Grabbing

Banner sind die Begrüßungsbildschirme, die auf Netzwerkhosts die Softwareversion und andere Systeminformationen anzeigen. Diese Banner-Informationen können das Betriebssystem, seine Versionsnummer und installierte Servicepacks öffentlich machen und damit Angreifern das Leben erleichtern. Sie können an Banner gelangen, indem Sie entweder das gute alte Telnet oder eines der von mir schon erwähnten Werkzeuge wie Nmap oder Super Scan verwenden.

Telnet

Sie können über den standardmäßigen Telnet-Port (TCP-Port 23) eine Verbindung zu Hosts aufbauen, um herauszufinden, ob Ihnen eine Anmeldeaufforderung oder eine andere Information angeboten wird. Geben Sie einfach in Windows oder Unix die folgende Befehlszeile ein:

telnet ip_adresse

Sie können mit Telnet auch auf andere gerne benutzte Ports zugreifen:

SMTP: telnet ip_adresse 25

HTTP: telnet ip_adresse 80

POP3: telnet ip_adresse 110

Abbildung 8.6 zeigt Versionsinformationen eines Exchange 2003 Servers, auf den mit Telnet über Port 25 zugegriffen wurde. Wenn Sie zur Bedienung von Telnet Hilfe benötigen, geben Sie einfach telnet /? oder tlnet help ein.

Abbildung 8.6: Informationen, die mit Telnet von Exchange 2003 eingesammelt wurden

Maßnahmen gegen Banner-Grabbing-Angriffe

Sie können die Erfolgsaussichten eines Banner-Grabbings reduzieren, wenn keine zwingende Notwendigkeit für Dienste besteht, die Banner-Informationen anbieten: Deaktivieren Sie einfach diese Dienste auf den Hosts.

Firewall-Regeln testen

Sie können als Teil Ihres ethischen Hackens Firewall-Regeln testen, ob diese auch wie geplant funktionieren.

Tests

Nur wenige Tests reichen aus, um herauszubekommen, wie sich Ihre Firewall verhält. Sie können sich mit der Firewall über die offenen Ports verbinden, aber was ist mit Ports, die eigentlich nicht offen sein dürften?

Netcat

Netcat (http://netcat.sourceforge.net) kann bestimmte Firewall-Regeln testen, ohne dabei ein Produktivsystem direkt anzusprechen. Sie können beispielsweise prüfen, ob die Firewall Verkehr über Port 23 (Telnet) zulässt. Folgen Sie diesen Schritten, um herauszufinden, ob eine Verbindung über Port 23 möglich ist:

1. Laden Sie Netcat auf einer Clientmaschine, die sich innerhalb eines Netzwerks befindet.

Dies richtet eine nach draußen gehende Verbindung ein.

2. Laden Sie Netcap auf einem Testcomputer, der sich außerhalb des Netzwerks befindet.

Damit können Sie von draußen nach drinnen testen.

3. Geben Sie auf der (internen) Clientmaschine den Listener-Befehl von Netcap mit der Portnummer ein, die Sie testen wollen.

Wenn Sie beispielsweise Port 23 testen möchten, geben Sie diese Anweisung ein:

nc –l –p 23 cmd.exe

4. Geben Sie auf der (externen) Testmaschine den Netcap-Befehl ein, um eine nach drinnen gerichtete Sitzung zu starten. Diese Anweisung muss die folgenden Informationen enthalten:

• die IP-Adresse der internen Maschine, die Sie testen wollen und

• die Portnummer, die Sie testen wollen.

Wenn beispielsweise die IP-Adresse der internen Clientmaschine 10.11.12.2 ist und es um Port 23 geht, lautet der Befehl:

nc –v 10.11.12.2 23

Wenn sich Netcap auf der externen Maschine mit einer neuen Befehlszeile meldet (das bewirkt cmd.exe in Schritt 3), ist die Verbindung hergestellt, und Sie können auf der internen Maschine Anweisungen ausführen. Dies kann aus unterschiedlichen Gründen geschehen, zu denen das Testen von Firewallregeln, Network Address Translation (NAT), Portweiterleitung und – gut, uhhhhmmm – das Ausführen von Anweisungen auf einem fernen System gehören.

AlgoSec Firewall Analyzer

AlgoSecs Firewall Analyzer (www.algosec.com) ist ein Werkzeug, das mir schon hervorragende Ergebnisse geliefert hat (siehe Abbildung 8.7).

AlgoSec Firewall Analyzer und ähnliche Produkte wie Athena Firewall Grader (www.athenasecurity.net/firewall-grader.html) geben Ihnen die Möglichkeit, in die Tiefe gehende Analysen regelbasierender Firewalls aller größeren Hersteller vorzunehmen und Sicherheitslöcher und Angriffspunkte zu finden, auf die Sie ansonsten nie gestoßen wären.

Abbildung 8.7: Verwenden Sie AlgoSec Firewall Analyzer, um Löcher in der Sicherheit von Firewalls aufzudecken.

Maßnahmen gegen Schwachstellen bei regelbasierenden Firewalls

Die folgenden Gegenmaßnahmen können Hacker daran hindern, Ihre Firewall »zu testen«:

Führen Sie eine Überprüfung der grundlegenden Regeln Ihrer Firewall durch.

Unabhängig davon, wie einfach Ihre Regeln zu sein scheinen, können Sie erst dann davon ausgehen, dass sie sicher sind, wenn Sie das mit einem automatisch arbeitenden Werkzeug überprüft haben.

Beschränken Sie den Verkehr auf das Notwendige.

Richten Sie auf Ihrer Firewall (und gegebenenfalls auf dem Router) Regeln ein, die nur Verkehr durchlassen, der wirklich hindurch muss. So sollte es Regeln geben, die ein gehenden HTTP-Verkehr für einen Webserver, eingehenden SMTP-Verkehr für einen E-Mail-Server und ausgehenden HTTP-Verkehr in das Internet zulassen.

Das ist die beste Verteidigung gegen Leute, die in Ihrer Firewall herumstochern.

Blockieren Sie ICMP, um externe Angreifer daran zu hindern, in Ihrem Netzwerk herumzuschnüffeln, um herauszubekommen, welche Hosts es dort gibt.

Aktivieren Sie auf der Firewall die zustandsorientierte Untersuchung aller Pakete, um unerwünschte Anfragen zu blockieren.

Netzwerkdaten untersuchen

Bei einem Netzwerkanalysator handelt es sich um ein Werkzeug, mit dem Sie in das Netzwerk hineinschauen und die Daten untersuchen (analysieren), die durch die Kabel flitzen. Zweck der Analyse ist es, das Netzwerk zu optimieren, sicher zu machen und Probleme zu beseitigen. Und so, wie kein Virenforscher ohne Mikroskop auskommt, benötigt jeder Sicherheitsprofi einen Netzwerkanalysator.

Netzwerkanalysatoren werden gerne auch Sniffer (auf Deutsch Schnüffler) genannt (wobei dies eigentlich der Name und die Handelsmarke eines Produkts der Firma Network Associates für die Untersuchung von Netzwerken ist).

Ein Netzwerkanalysator ist praktisch, wenn es darum geht, in den Paketen im Kabel herumzuschnüffeln. Es handelt sich dabei um Software, die auf einem Computer mit einer Netzwerkkarte läuft. Netzwerkanalysatoren funktionieren so, dass sie die Netzwerkkarte in den promiskuitiven Modus versetzen, der es der Karte ermöglicht, den gesamten Verkehr im Netzwerk zu sehen, und zwar unabhängig davon, ob dieser Verkehr für den Host des Netzwerkanalysators bestimmt ist oder nicht. Ein Netzwerkanalysator führt diese Aufgaben durch: Er ...

sammelt den gesamten Verkehr im Netzwerk ein,
interpretiert oder decodiert das Gefundene so, dass es von Menschen verstanden werden kann und
zeigt den Inhalt in chronologischer (oder einer anderen, von Ihnen gewählten) Reihenfolge an.

Wenn Sie eine Sicherheitsüberprüfung durchführen, kann ein Netzwerkanalysator bei folgenden Dingen helfen:

anormalen Netzwerkverkehr erkennen und einen Eindringling aufspüren
eine Solllinie der Aktivitäten im Netzwerk festlegen, zum Beispiel, welche Protokolle verwendet werden, die Netzauslastung und die MAC-Adressen

Wenn es in einem Netzwerk zu Unregelmäßigkeiten kommt, kann ein Netzwerkanalysator zu einer großen Hilfe werden:

den böswilligen Gebrauch eines Netzwerks aufspüren und isolieren

Trojaner entdecken

DoS-Angriffe beobachten und zurückverfolgen

Netzwerkanalysatoren

Sie können für die Analyse von Netzwerken eines der folgenden Programme verwenden:

OmniPeek von WildPackets (www.wildpackets.com/products/omnipeek_network_analyzer) ist mein Favorit, wenn es um Netzwerkanalysatoren geht. Das Programm kann mehr, als ich benötige, und ist einfach zu bedienen. OmniPeek ist für Windows-Betriebssysteme verfügbar.

CommView von TamoSoft (www.tamos.com/products/commview) ist eine preiswerte, auch auf Deutsch verfügbare Alternative.

Cain & Abel (www.oxid.it/cain.html) ist kostenlos und kann Kennwörter wiederherstellen, ARP-Poisoning durchführen, Pakete einsammeln, Kennwörter knacken und vieles mehr.

Wireshark (www.wireshark.org), das früher Ethereal hieß, ist eine kostenlose Alternative. Ich lade dieses Werkzeug herunter und nutze es, wenn ich ein schnelles Ergebnis benötige und meinen Laptop nicht dabeihabe. Das Programm ist nicht so benutzerfreundlich wie die kommerziellen Produkte, aber es ist sehr leistungsstark. Wireshark gibt es für Windows und OS X.

ettercap (http://ettercap.sourceforge.net) ist ein anderes sehr leistungsstarkes (und kostenloses) Werkzeug für die Untersuchung eines Netzwerks. Es existiert für Windows, Linux und andere Betriebssysteme.

Hier ein paar Vorsichtsmaßnahmen, die Sie beim Einsatz eines Netzwerkanalysators beachten müssen:

Um an den Netzwerkverkehr zu gelangen, müssen Sie den Analysator mit einem dieser Dinge verbinden:

• einem Hub im Netzwerk

• einem Monitor-/Span-/Mirror-Port eines Switches

• einem Switch, auf dem Sie einen ARP-Poisoning-Angriff durchgeführt haben

Wenn Sie den Verkehr so sehen wollen, wie das bei einem IPS der Fall ist, sollten Sie den Netzwerkanalysator außerhalb der Firewall so mit dem Port eines Hubs oder Switches verbinden, wie es Abbildung 8.8 zeigt. Auf diese Weise können Sie Folgendes sehen:

Abbildung 8.8: Einen Netzwerkanalysator außerhalb der Firewall anbinden

• was Ihr Netzwerk betritt, bevor die Filter der Firewall zweifelhaften Verkehr herausholen

• was Ihr Netzwerk verlässt, nachdem der Verkehr die Firewall passiert hat

Unabhängig davon, ob Sie den Netzwerkanalysator im Netzwerk oder außerhalb davon anbinden, erhalten Sie sofort Ergebnisse. Die Menge der Informationen könnte Sie überrollen, weshalb Sie zuerst nach diesen Dingen Ausschau halten sollten:

merkwürdiger Verkehr wie:

• ungewöhnlich viele ICMP-Pakete

• außergewöhnlich viel Multicast- oder Broadcastverkehr

• nicht durch Richtlinien zugelassene Protokolle oder Protokolle, die es in Ihrer Netzwerkeinrichtung eigentlich nicht geben dürfte

Gebrauch des Internets: kann dabei helfen, böswillige Insider oder Systeme zu identifizieren, die infiziert wurden
fragwürdige Dinge wie

• viele verloren gegangene oder übergroße Pakete, die auf Hacken oder Malware hinweisen

• hoher Verbrauch an Bandbreite, was auf einen fremden FTP-Server hinweist
aktives Hacken aufgrund von sehr vielen internen UDP- oder ICMP-Anfragen, SYN-Floods oder exzessive Broadcasts

Hostnamen, die nicht dem Standard Ihres Netzwerks entsprechen. Wenn Sie Ihre Computer zum Beispiel Computer1, Computer2 und so weiter nennen, und es taucht plötzlich der Name IchHackeDich auf, sollten bei Ihnen alle Alarmglocken klingeln.

Angriffe gegen bestimmte Anwendungen: Es erscheinen Befehle wie /bin/rm, /bin/ls, echo oder cmd.exe oder SQL-Abfragen und JavaScript-Injections, auf die ich in Kapitel 14 eingehe.

Eventuell müssen Sie Ihren Netzwerkanalysator abhängig von dem, was Sie suchen, eine ganze Zeit laufen lassen – einige Stunden oder Tage. Bevor Sie anfangen, richten Sie den Analysator so ein, dass er die wichtigen Daten einsammelt und speichert.

Bei diesem Speichern können sehr schnell mehrere Hundert Gigabyte Festplattenplatz belegt werden. Ich empfehle deshalb dringend, den Netzwerkanalysator in einem Modus laufen zu lassen, der bei OmniPeek Monitor Mode (beobachtender Modus) heißt und nicht jedes einzelne Paket einsammelt und speichert.

Wenn der Netzwerkverkehr in einem Netzwerkanalysator so aussieht, als wenn er nicht in Ordnung wäre, ist er das in der Regel auch nicht. Vorsicht ist die Mutter der Porzellankiste.

Legen Sie einen Status quo fest, wenn Ihr Netzwerk sauber läuft. Wenn Sie einen solchen Status besitzen, fällt jede Abweichung, die beispielsweise durch einen Angriff hervorgerufen wird, sofort auf.

Eine Sache, die ich gerne prüfe, sind die »Lautschwätzer« eines Netzwerks (das sind Netzwerkhosts, die den meisten Verkehr senden/empfangen). Wenn jemand etwas Bösartiges im Netzwerk unternimmt, zum Beispiel einen FTP-Server hostet oder eine Software zur gemeinsamen Nutzung von Dateien verwendet, ist der Einsatz eines Netzwerkanalysators oftmals die einzige Möglichkeit, so etwas herauszufinden. Außerdem ist ein Netzwerkanalysator auch ein gutes Mittel, um Systeme zu entdecken, die mit Malware wie Viren oder Trojanern infiziert sind. Abbildung 8.9 zeigt, wie es aussieht, wenn es im Netzwerk ein verdächtiges Protokoll oder eine dementsprechende Anwendung gibt.

Abbildung 8.9: OmniPeek kann helfen herauszufinden, ob auf einem System illegale Software wie ein FTP-Server läuft.

Ein weiterer guter Weg, um herauszubekommen, ob es im Netzwerk etwas Verdächtiges gibt, ist eine Beschäftigung mit den Netzwerkstatistiken (zum Beispiel Bytes pro Sekunde, Netzwerkauslastung und die Zahl der eingehenden/abgehenden Pakete). Abbildung 8.10 enthält Netzwerkstatistiken, die von dem leistungsstarken Netzwerkanalysator CommView zur Verfügung gestellt werden.

TamoSoft – der Hersteller von CommView – hat außerdem ein Produkt mit dem Namen NetResident (www.tamos.com/products/netresident) entwickelt, das die Verwendung bekannter Protokolle wie HTTP, E-Mail, FTP und VoIP aufspüren kann. Wie Abbildung 8.11 zeigt, können Sie NetResident verwenden, um Websitzungen zu beobachten und noch einmal abzuspielen.

Abbildung 8.10: Die Oberfläche von CommView für die Anzeige von Netzwerkstatistiken

Abbildung 8.11: NetResident kann die Nutzung des Internets beobachten und dafür sorgen, dass Richtlinien eingehalten werden.

Darüber hinaus verfügt NetResident über die Fähigkeit, ARP-Poisoning vorzunehmen, wodurch das Programm in einem lokalen Netzwerksegment alles sehen kann. Ich gehe weiter hinten in diesem Kapitel im Abschnitt Der Angriff auf die MAC-Adresse auf ARP-Poisoning ein.

Maßnahmen gegen Schwachstellen bei Netzwerkprotokollen

Ein Netzwerkanalysator kann positiv oder negativ eingesetzt werden. Gut ist, dass Sie dafür sorgen können, dass Ihre Sicherheitsrichtlinien befolgt werden. Schlecht ist, wenn jemand einen Netzwerkanalysator gegen Sie verwendet. Es gibt für diesen Fall ein paar Gegenmaßnahmen, aber generell verhindern lässt sich ein solcher Einsatz nicht.

Wenn es ein externer Angreifer oder ein böswilliger Benutzer schafft, sich (physisch oder drahtlos) mit Ihrem Netzwerk zu verbinden, kann er selbst dann Pakete abgreifen, wenn Sie einen Ethernet-Switch verwenden.

Physische Sicherheit

Sorgen Sie für geeignete physische Sicherheitsmaßnahmen, die verhindern, dass sich jemand in Ihr Netzwerk einhängt:

Niemand, der dort nichts zu suchen hat, darf Zugang zum Serverraum und zu Schaltschränken bekommen.

Sorgen Sie dafür, dass Bereiche wie eine Eingangshalle oder Schulungsräume keinen Zugang zum Hausnetz haben.

Einzelheiten zur physischen Sicherheit eines Netzwerks finden Sie in Kapitel 6.

Netzwerkanalysatoren entdecken

Es gibt Werkzeuge, mit denen Sie herausfinden können, ob jemand in Ihrem Netzwerk einen Netzwerkanalysator laufen lässt:

Sniffdet (http://sniffdet.sourceforge.net) für auf Unix basierende Systeme

PromiscDetect (http://ntsecurity.nu/toolbox/promiscdetect) für Windows

Der Angriff auf die MAC-Adresse

Angreifer können in einem Netzwerk ARP (Address Resolution Protocol – das Protokoll für die Namensauflösung) nutzen, um Systeme so aussehen zu lassen, als wenn es Ihre wären.

ARP-Spoofing

Eine ungewöhnlich große Anzahl an ARP-Anfragen kann ein Zeichen von ARP-Spoofing sein, das auch ARP-Poisoning genannt wird. (Spoofing bedeutet auf Deutsch Änderung, Fälschung oder Vortäuschung.)

Ein Client, auf dem ein Programm wie dsniff (www.monkey.org/~dugsong/dsniff) oder Cain & Abel (www.oxid.it/cain.html) läuft, ist in der Lage, die ARP-Tabellen – die Tabellen, die die Zuordnung von MAC-Adressen (MAC bedeutet Media Access Control) zu IP-Adressen enthalten – zu ändern. Dies bewirkt, dass die Computeropfer den Netzwerkverkehr lieber an den Computer des Angreifers als an das eigentliche Ziel senden. ARP-Spoofing wird bei Man-in-the-Middle-Angriffen (MITM) verwendet.

Gefälschte ARP-Antworten können an einen Switch gesendet werden, der in den Broadcast-Modus versetzt und damit im Prinzip in einen Hub umgewandelt wird. Wenn dies geschieht, kann sich ein Hacker jedes Paket vornehmen, das über den Switch läuft und damit wirklich alles einsacken, was im Netzwerk vor sich geht.

Und so läuft ein typischer ARP-Spoofing-Angriff ab, an dem der Computer (Hacky) eines Hackers und die Computer (Jim und Bob) von zwei berechtigten Benutzern beteiligt sind:

1. Hacky »vergiftet« (Poisoning bedeutet auch Vergiftung) den ARP-Cache von Jim und Bob, indem dsniff, ettercap oder ein selbst geschriebenes Werkzeug verwendet wird.

2. Jim vermutet hinter Hackys MAC-Adresse die IP-Adresse von Bob.

3. Bob vermutet hinter Hackys MAC-Adresse die IP-Adresse von Jim.

4. Sowohl Jims als auch Bobs Verkehr werden zuerst an Hackys IP-Adresse gesendet.

5. Der auf Hacky laufende Netzwerkanalysator nimmt sich sowohl Bobs als auch Jims Netzwerkverkehr.

Wenn Hacky so eingerichtet wurde, dass er als Router fungiert und Pakete weiterleitet, leitet er den gesamten Verkehr an seine ursprünglichen Ziele weiter. Sowohl Sender als auch Empfänger werden davon nie etwas mitbekommen.

ARP-Poisoning mit Cain & Abel

Sie können in Ihrem mit einem Switch versehenen Ethernet-Netzwerk ARP-Poisoning durchführen, um Ihr IPS zu testen oder um zu sehen, wie einfach es ist, mit einem Netzwerkanalysator aus einem Switch einen Hub zu machen und an den gesamten Netzwerkverkehr zu gelangen.

ARP-Poisoning kann sowohl für die Hardware als auch die Gesundheit Ihres Netzwerks gefährlich werden, weil es zu Ausfallzeiten kommen kann. Seien Sie also vorsichtig!

Wenn Sie für ARP-Poisoning Cain & Abel einsetzen, gehen Sie so vor:

1. Laden Sie Cain & Abel und klicken Sie auf die Registerkarte SNIFFER, um zum Analysator-Modus zu gelangen.

Es öffnet sich standardmäßig die Seite HOST.

2. Klicken Sie auf das Symbol START/STOP ARP (der gelbe Kreis mit den schwarzen Einschlüssen).

Es startet das ARP-Poisoning-Routing (zumindest das, was Cain & Abel darunter versteht).

3. Gegebenenfalls müssen Sie in dem Fenster, das nach Schritt 2 erscheint, die Netzwerkkarte auswählen (die hier Adapter heißt) und auf OK klicken.

4. Klicken Sie auf das blaue Plussymbol (+), um die Hosts hinzuzufügen, auf denen ARP-Poisoning ausgeführt werden soll.

5. Es erscheint nun das Fenster MAC ADDRESS SCANNER, in dem Sie das Optionsfeld ALL HOSTS IN MY SUBNET aktivieren und auf OK klicken.

6. Klicken Sie auf die Registerkarte ARP (das ist die unten im Fenster mit dem kreisförmigen gelb/schwarzen Symbol), um die ARP-Seite zu laden.

7. Klicken Sie direkt unterhalb der Registerkarte SNIFFER auf den weißen Bereich der obersten STATUS-Spalte.

Dies reaktiviert das blaue Plussymbol (+).

8. Klicken Sie auf das blaue +-Symbol und das Fenster NEW ARP POISON ROUTING zeigt die Hosts an, die in Schritt 3 entdeckt wurden.

9. Wählen Sie Ihren Standardrouter aus (in meinem Fall ist das 10.11.12.1).

Die Spalte rechts füllt sich mit den übrigen Hosts (siehe Abbildung 8.12).

Abbildung 8.12: Die Hosts eines Opfers für ARP-Poisoning in Cain & Abel auswählen

10. Klicken Sie bei gedrückt gehaltener Taste alle Hosts in der rechten Spalte an, die Sie in das Poisoning aufnehmen möchten.

11. Klicken Sie auf OK und der Prozess des ARP-Poisonings beginnt.

Dieser Prozess kann abhängig von der Hardware Ihres Netzwerks und dem lokalen TCP/IP-Stapel der einzelnen Hosts Sekunden oder Minuten dauern. Abbildung 8.13 zeigt die Ergebnisse meines Tests mit ARP-Poisoning.

Abbildung 8.13: Die Ergebnisse, die Cain & Abel beim ARP-Poisoning erzielt

12. Sie können die Kennwort-Funktion von Cain & Abel verwenden, um Kennwörter auszulesen, die im Netzwerk von und zu den einzelnen Hosts unterwegs sind, indem Sie einfach auf die Registerkarte PASSWORDS klicken.

Diese Schritte zeigen, wie einfach es ist, eine Schwachstelle auszunutzen, und sie beweisen, dass auch Ethernet-Switches problemlos geknackt werden können.

MAC-Address-Spoofing

Ein Spoofing der MAC-Adresse trickst den Switch so aus, dass er glaubt, Ihr Computer sei jemand anders. Sie ändern einfach die MAC-Adresse Ihres Computers und verkleiden sich als ein anderer Benutzer.

Sie können mit diesem Trick Ihre Zugriffskontrollsysteme wie IPS/Firewall und selbst Anmeldekontrollen der Betriebssysteme testen, die bestimmte MAC-Adressen überprüfen.

Auf Unix basierende Systeme

Unter Unix und Linux fälschen Sie MAC-Adressen mit dem Werkzeug ifconfig. Folgen Sie diesen Schritten:

1. Melden Sie sich als root an und verwenden Sie ifconfig, um einen Befehl einzugeben, der die Netzwerkkarte deaktiviert.

Fügen Sie in dem Befehl die Kennung der Netzwerkkarte ein, die Sie deaktivieren wollen (normalerweise ist es eth0). Der Befehl lautet dann:

[root@localhost root]# ifconfig eth0 down

2. Geben Sie für die MAC-Adresse, die Sie verwenden wollen, einen Befehl ein.

Fügen Sie wie folgt die gefälschte MAC-Adresse und die Kennung der Netzwerkkarte ein:

[root@localhost root]# ifconfig eth0 hw ether
neue_mac_adresse

Auf Linux-Systemen können Sie auf GNU MAC Changer (www.alobbs.com/macchanger) zurückgreifen, das über viel mehr Funktionen verfügt.

Windows

Sie können regedit verwenden, um die Registrierungsdatenbank von Windows zu bearbeiten, aber ich ziehe es vor, mit einem kleinen Windows-Programm zu arbeiten, das SMAC (www.klcconsulting.net/smac) heißt und MAC-Spoofing ganz einfach macht. Folgen Sie diesen Schritten, um SMAC zu verwenden:

1. Laden Sie das Programm.

2. Wählen Sie die Netzwerkkarte aus, deren MAC-Adresse Sie ändern wollen.

3. Geben Sie im Feld NEW SPOOFED MAC ADDRESS die neue MAC-Adresse ein und klicken Sie auf die Schaltfläche UDATE MAC.

4. Verwenden Sie die folgenden Schritte, um die Netzwerkkarte anzuhalten und erneut zu starten:

a. Klicken Sie in NETWORK AND DIALUP CONNECTIONS mit der rechten Maustaste auf die Netzwerkkarte und wählen Sie DISABLE.

b. Klicken Sie erneut mit der rechten Maustaste und wählen Sie ENABLE, damit die Änderung wirksam wird.

Es kann sein, dass Sie den Computer neu starten müssen, damit diese Änderung sauber übernommen wird.

5. Klicken Sie auf der Oberfläche von SMAC auf die Schaltfläche REFRESH.

Um die Änderungen in der Registrierungsdatenbank wieder rückgängig zu machen, gehen Sie so vor:

1. Markieren Sie die Karte, deren MAC-Adresse Sie ändern wollen.

2. Klicken Sie auf die Schaltfläche REMOVE MAC.

3. Verwenden Sie die folgenden Schritte, um die Netzwerkkarte anzuhalten und erneut zu starten:

a. Klicken Sie in NETWORK AND DIALUP CONNECTIONS mit der rechten Maustaste auf die Netzwerkkarte und wählen Sie DISABLE.

b. Klicken Sie erneut mit der rechten Maustaste und wählen Sie ENABLE, damit die Änderung wirksam wird.

Es kann sein, dass Sie den Computer neu starten müssen, damit diese Änderung sauber übernommen wird.

4. Klicken Sie auf der Oberfläche von SMAC auf die Schaltfläche REFRESH.

Maßnahmen gegen Angriffe über ARP-Poisoning und MAC-Address-Spoofing

Sie können mit ein paar Gegenmaßnahmen die Auswirkungen eines Angriffs gegen ARP und MAC-Adressen minimieren:

Vorbeugen: Sie können MAC-Address-Spoofing verhindern, wenn Sie auf den Switches Portsicherheit einschalten können, damit die MAC-Tabellen nicht automatisch geändert werden können.

Gegen ARP-Poisoning gibt es keine wirklich funktionierende Maßnahme. Der einzige Schutz vor ARP-Poisoning sieht so aus, dass Sie in den Switches für jeden Host im Netzwerk statische ARP-Einträge erzeugen und manuell verwalten. Das ist aber etwas, für das kaum ein Netzwerkadministrator Zeit hat.

Entdecken: Sie können diese beiden Angriffsarten mit einem IPS oder einem auf einem Einzelplatz laufendem Werkzeug zur Überwachung der MAC-Adressen entdecken.

Arpwatch (http://linux.maruhn.com/sec/arpwatch.html) ist ein auf Linux basierendes Programm, das Sie mittels E-Mail warnt, wenn es an den Zuordnungen der MAC-Adressen Änderungen feststellt.

Denial-of-Service-Angriffe testen

Angriffe über Denial of Service (kurz DoS, englisch für: Dienstverweigerung) gehören zu den am häufigsten vorkommenden Angriffsarten. Ein Hacker startet so viele unzulässige Anfragen an einen Netzwerkhost, dass der Host seine gesamten Ressourcen dafür verwendet, auf diese Anfragen zu antworten, und die zulässigen Anfragen ignoriert.

DoS-Angriffe

DoS-Angriffe auf ein Netzwerk und seine Hosts können Systeme zusammenbrechen lassen, zu Datenverlusten führen und Benutzer dazu bringen, den Administrator mit Beschwerden zu bombardieren, weil der Zugang zum Internet nicht funktioniert.

Hier einige der üblichen DoS-Angriffsarten, deren Zielrichtung einzelne Computer oder Netzwerkgeräte sind:

SYN-Floods: Der Angreifer überschwemmt (Flood bedeutet auf Deutsch Flut, Überschwemmung) den Host mit TCP/IP-Paketen.

Ping of Death: Der Angreifer sendet IP-Pakete, die die maximale Länge von 65.535 Byte überschreiten, was die TCP/IP-Stapel vieler Betriebssysteme zum Absturz bringt.

WinNuke: Dieser Angriff kann das Arbeiten im Netz auf älteren Computern mit Windows 95 oder Windows NT zum Erliegen bringen.

Angriffe über Distributed DoS (Verteilte Dienstblockade oder DDoS) haben eine um ein Vielfaches höhere Auswirkung auf ihre Opfer. Einer der bekanntesten war der Angriff auf eBay, Yahoo!, CNN und Dutzende anderer Websites durch einen Hacker mit dem Namen MafiaBoy, aber auch Facebook, Twitter und die Sites anderer sozialer Medien haben schon als Angriffsziele herhalten müssen. Hier konnten Sie eventuell am eigenen Leib erfahren, wie es ist, wenn mehrere hundert Millionen Benutzer durch einen gezielten DDoS-Angriff offline gehen.

DoS- und DDoS-Angriffe können mithilfe von Werkzeugen durchgeführt werden, die Angreifer entweder selbst schreiben oder aus dem Internet herunterladen. Diese Werkzeuge eignen sich gut dafür, das IPS und die Firewalls Ihres Netzwerks auf DoS-Schwachstellen zu testen. Es gibt Programme, mit denen Sie so etwas machen können. Einige Programme wie Traffic IQ Professional (www.idappcom.com) von idappcom geben Ihnen die Möglichkeit, An griffe gezielt zu senden.

Tests

Das Testen von Dienstblockaden (DoS) ist eine der schwierigsten Sicherheitsüberprüfun-gen, die Sie vornehmen können. Sie können einige Tests durchführen, um Schwach-stellen aufzufinden. Ihr erster Test sollte eine Suche nach Schwachstellen für DoS-Angriffe sein, die aus der Perspektive eines Schwachstellenscanners heraus erfolgt. Wenn Sie Schwachstellenscanner wie QualysGuard (www.qualys.com) und WebInspect (www.hpenterprisesecurity.com/products/hp-fortify-software-security-center/hp-webinspect) verwenden, sind Sie in der Lage, fehlende Aktualisierungen und Schwächen in der Konfiguration zu finden.

Testen Sie niemals auf DoS, wenn Sie keine Testsysteme haben oder es keine Möglichkeit gibt, Tests kontrolliert mit wirklich guten Werkzeugen durchzuführen. Anderenfalls lassen Sie sich auf etwas ein, bei dem Sie zwar Daten auf einem freigegebenen Netzlaufwerk löschen, gleichzeitig aber hoffen, dass es Zugriffskontrollen gibt, die letztendlich das Löschen verhindern.

Weitere DoS-Testwerkzeuge, die es wert sind, von Ihnen näher betrachtet zu werden, sind UDPFlood (www.mcafee.com/de/downloads/free-tools/udpflood.aspx), Blast (www.mcafee.com/de/downloads/free-tools/blast.aspx), NetScanTools Pro und CommView.

Maßnahmen gegen DoS-Angriffe

Die meisten DoS-Angriffe lassen sich nur schwer vorhersagen, aber es ist einfach, sie zu verhindern:

Testen und installieren Sie Sicherheitsupdates (einschließlich Servicepacks und Aktualisierungen von Firmware auf Hosts im Netzwerk (zum Beispiel auf Routern, Firewalls, Servern und Arbeitsstationen).

Verwenden Sie ein IPS, um ständig auf DoS-Angriffe zu achten.

Richten Sie Firewalls und Router so ein, dass sie nicht den Standards entsprechenden Verkehr blockieren. So etwas geht nur, wenn es von Ihren Systemen unterstützt wird, weshalb Sie gegebenenfalls in Ihren administrativen Handbüchern nachschlagen müssen.

Minimieren Sie IP-Spoofing, indem Sie externe Pakete herausfiltern, die von einer internen Adresse, dem lokalen Host (127.0.0.1) oder einer privaten, nicht routbaren Adresse wie 10.x.x.x, 172.16.x.x-172.31.x.x oder 192.168.x.x zu kommen scheinen.

Blockieren Sie den gesamten eingehenden ICMP-Verkehr, bis Sie ihn wirklich benötigen. Und selbst dann lassen Sie ihn nur für ausgewählte Hosts zu.

Deaktivieren Sie alle nicht benötigten TCP/UDP-Dienste wie Echo und Chargen.

Legen Sie eine Solllinie für Netzwerkprotokolle und Verkehrsmuster fest, bevor es zu einem DoS-Angriff kommt. Auf diese Weise wissen Sie, wonach Sie Ausschau halten müssen. Und suchen Sie in regelmäßigen Abständen in Ihrem Netzwerk nach DoS-Software.

Wenn Sie die Geräte Ihres Netzwerks einrichten, haben Sie dabei immer den Gedanken an das im Hinterkopf, was mindestens benötigt wird:

Identifizieren Sie den Verkehr, der für einen vernünftigen Gebrauch des Netzwerks benötigt wird.

Lassen Sie den Verkehr zu, der benötigt wird.

Verhindern Sie allen anderen Verkehr.

Wenn es dann doch einmal zum schlechtesten aller Fälle kommen sollte, arbeiten Sie mit Ihrem ISP zusammen und versuchen Sie, herauszubekommen, ob von dort aus etwas gegen die DoS-Angriffe unternommen werden kann.

Mit bekannten Schwachstellen bei Router, Switch und Firewall umgehen

Zusätzlich zu den mehr technischen Dingen, die ich in diesem Kapitel behandele, können auf Netzwerkgeräten auch schwerwiegende Sicherheitsmängel gefunden werden.

Unsichere Schnittstellen

Sie müssen darauf achten, dass HTTP- und Telnet-Schnittstellen, die zu Routern, Switches und Firewalls gehören, nicht mit leeren, standardmäßigen oder anderswie leicht zu erratenden Kennwörtern »gesichert« sind. Dieser Ratschlag scheint ziemlich banal zu sein, aber genau das ist eine der üblichen Schwachstellen im System. Wenn ein bösartiger Insider oder ein anderer Angreifer Zugriff auf Ihre Netzwerkgeräte bekommt, gehört das Netz ihm. Er kann den administrativen Zugang aussperren, Benutzerkonten als Hintertür einrichten, Ports neu einrichten und sogar Ihr gesamtes Netzwerk ohne Ihr Wissen herunterfahren.

Ein anderer Schwachpunkt hat mit HTTP und Telnet zu tun, die auf vielen Netzwerkgeräten aktiviert und im Einsatz sind. Aber warum sollte das ein Problem sein? Nun, jeder, der über die kostenlosen Werkzeuge verfügt und ein paar Minuten Zeit hat, kann im Netzwerk herumschnüffeln und Anmeldeberechtigungen abfangen, wenn diese als Klartext gesendet werden.

IKE-Schwächen ausnutzen

Im geschäftlichen Alltag läuft auf einem Router oder einer Firewall oft auch ein VPN. Wenn das auch bei Ihnen der Fall ist, stehen die Chancen gut, dass Ihr VPN das Protokoll Internet Key Exchange (IKE) verwendet, das eine Reihe gut bekannter Schwachstellen aufweist:

Es ist möglich, IKE-Schlüssel mit Cain & Abel und dem Werkzeug IKECrack (http://ikecrack.sourceforge.net) zu knacken.

Einige IKE-Konfigurationen, zum Beispiel die einiger Cisco-PIX-Firewalls, können off line gesetzt werden. Der Angreifer muss nichts anderes tun, als zehn Pakete pro Sekunde zu senden, von denen jedes aus 122 Byte besteht, und Sie erhalten einen wunderbaren DoS-Angriff.

Sie können auch manuell herumstochern, um herauszufinden, ob Ihre Router, Switches und Firewalls dabei Schwächen zeigen. Aber am besten finden Sie Informationen dieser Art dadurch heraus, dass Sie einen Schwachstellenscanner wie QualysGuard verwenden. Wenn Sie dann herausgefunden haben, welche Schwächen Ihr System aufweist, können Sie mit Cisco Global Exploiter weitermachen (das Bestandteil von BackTrack Linux ist). Und so verwenden Sie Cisco Global Exploiter:

1. Laden Sie das ISO-Image von BackTrack Linux herunter und brennen Sie die Datei auf eine CD oder starten Sie das Image direkt über VMware oder VirtualBox.

2. Wenn Sie sich in der grafischen Oberfläche von BackTrack Linux befinden (melden Sie sich mit root/toor an), geben Sie den Befehl startx ein, klicken Sie auf APPLICATIONS|BACKTRACK|EXPLOITATION TOOLS|NETWORK EXPLOITATION TOOLS|CISCO ATTACKS und dann auf CISCO GLOBAL EXPLOITER.

3. Geben Sie den Befehl perl cge.pl ip_address exploit_number ein (siehe Abbildung 8.14).

Abbildung 8.14: Das Werkzeug Cisco Global Exploiter, mit dem sich bekannte Schwachstellen bei Cisco ausnutzen lassen.

Gute Scanner und Werkzeuge zum Ausnutzen von Schwachstellen, sogenannte Exploits, können unheimlich viel Zeit und Mühen einsparen, die Sie dann mit wichtigeren Dingen wie Facebook und Twitter verbringen können.

Einen allgemeinen Verteidigungswall für das Netzwerk einrichten

Unabhängig von der Art der Angriffe auf Ihr System gibt es ein paar Dinge, die generell dabei helfen können, Sicherheitsprobleme im Netzwerk zu vermeiden:

Verwenden Sie zustandsorientierte Regeln, die auf Firewalls den Verkehr von Sitzungen beobachten. Damit können Sie sicherstellen, dass der Verkehr, der über die Firewall läuft, in Ordnung geht und dass DoS- und andere Spoofing-Angriffe verhindert werden.

Richten Sie Regeln ein, die für ein Filtern der Pakete sorgen. Als Grundlage dieser Filter dienen die Art des Verkehrs, die TCP/UDP-Ports, die IP-Adressen und die einzelnen Schnittstellen Ihrer Router. Diese Regeln wirken sich auf den Verkehr aus, bevor dieser in Ihr Netzwerk gelangt.

Verwenden Sie Proxy-Filterung und Network Address Translation (NAT) oder Port Address Translation (PAT).

Suchen und entfernen Sie fragmentierte Pakete, die (über Fraggle oder eine andere Angriffsart) in Ihr Netzwerk gelangen wollen, mit einem IPS.

Nehmen Sie Ihre Netzwerkgeräte in die Schwachstellenscans auf.

Sorgen Sie dafür, dass es auf Ihren Netzwerkgeräten die neueste Version von Firmware und Software gibt.

Richten Sie auf allen Systemen im Netzwerk starke Kennwörter ein. Ich behandele Kennwörter in Kapitel 7.

Verwenden Sie immer SSL (HTTPS) oder SSH, wenn Sie sich mit Netzwerkgeräten verbinden. Besser noch ist es, jeden Zugriff auf die Geräte von außerhalb des Netzwerks zu unterbinden.

Unterteilen Sie das Netzwerk und verwenden Sie hier Firewalls:

• DMZ

• internes Netzwerk

• wichtige Teilnetze, die entsprechend der geschäftlichen Notwendigkeiten oder Abteilungen wie Buchhaltung, Personalabteilung oder Marketing erstellt worden sind

9

Drahtlose Netzwerke

In diesem Kapitel ...

Die Gefahren bei drahtlosen Netzwerken verstehen

Werkzeug zum Hacken drahtloser Netzwerke auswählen

Drahtlose Netzwerke hacken

Risiken bei drahtlosen Netzwerken minimieren

Drahtlose lokale Netzwerke (WLAN, für Wireless Local Area Network, oder Wi-Fi, ein Kunstwort, das gerne als Synonym für WLAN verwendet wird) – und zwar ganz besonders diejenigen, die auf dem Standard IEEE 802.11 basieren – tauchen in immer stärkerem Maße sowohl in geschäftlich genutzten als auch in privaten Netzwerken auf. WLANs könnten eigentlich als Aushängeschilder für schlechte Netzwerksicherheit und Angriffe von Hackern auf Netzwerke dienen, seit vor mehr als zehn Jahren 802.11 eingeführt wurde. Der Makel, dass WLANs unsicher sind, lässt langsam nach, aber das ist kein Grund, Ihre Verteidigungsmaßnahmen nicht mehr ernst zu nehmen.

WLANs bieten gerade im geschäftlichen Umfeld eine Vielzahl von Vorteilen, angefangen bei der Bequemlichkeit bis hin zur Zeitersparnis beim Einrichten eines Netzwerks. Unabhängig davon, ob Ihr Unternehmen ein WLAN zulässt oder nicht, werden Sie mit ziemlicher Sicherheit damit zu tun haben, weshalb es wichtig ist, auch die Sicherheit eines WLANs zu testen. Ich behandele in diesem Kapitel einige häufig vorkommende Schwachstellen bei der Sicherheit von WLANs, die auch Sie überprüfen sollten, und ich zeige einige preiswerte und einfache Gegenmaßnahmen, die Sie einrichten können, damit WLANs für Ihr Unternehmen kein Risiko mehr bedeuten.

Die Folgen von Schwachstellen bei drahtlosen Netzwerken verstehen

WLANs sind sehr empfänglich für Angriffe – und zwar viel stärker als kabelgebundene Netzwerke (die in Kapitel 8 behandelt werden). Drahtlose Netzwerke haben Schwachstellen, die es einem Angreifer erlauben, Ihr Netzwerk in die Knie zu zwingen, oder die es zulassen, dass Ihre sensiblen Daten direkt aus der Luft abgegriffen werden. Wenn Ihr WLAN gefährdet ist, müssen Sie mit folgenden Problemen rechnen:

Verlust des Netzwerkzugriffs – einschließlich E-Mail, Web und anderer Dienste, was zu Ausfallzeiten im geschäftlichen Alltag führen kann

Verlust sensibler Daten – einschließlich Kennwörter, Kundendaten, geistigen Eigentums und mehr
amtliche Konsequenzen und gesetzliche Haftung, die mit unberechtigten Benutzern zusammenhängen, die sich Zugang zu Ihren Systemen verschafft haben

Die meisten Schwachstellen hängen mit dem Standard 802.11 und damit zusammen, wie er arbeitet. Aber auch drahtlose Zugriffspunkte (neudeutsch auch Access Points genannt) und Client-Systeme weisen Schwachstellen auf.

In den letzten Jahren sind viele Versuche unternommen worden, diese Schwachstellen zu reparieren, aber die entsprechenden Programmaktualisierungen sind oft nicht richtig eingerichtet oder standardmäßig nicht aktiviert worden. Außerdem können Mitarbeiter im Netzwerk ohne Ihr Wissen WLAN-Geräte unsauber einbinden. Und dann gibt es praktisch überall, wohin sich jemand begibt, »freie« WLANs. Letztendlich bedeutet genau diese Art von WLAN mit Internetzugang die größte Gefahr für die Sicherheit von Daten. Selbst wenn WLANs geschützt und mit allen aktuellen Softwareversionen versehen worden sind, kann es immer noch – wie bei drahtgebundenen Netzwerken (siehe Kapitel 8) – Sicherheitsprobleme wie DoS, Man-in-the-Middle-Angriffe und Schwächen bei der Verschlüsselung von Schlüsseln geben.

Eine Fallstudie zum Hacken von drahtlosen Netzwerken

Joshua Wright erzählte mir eine interessante Geschichte darüber, wie er das Eindringen in ein drahtloses Netzwerk getestet hat.

Die Situation

Mr. Wright testete bei einem Kunden das Eindringen in dessen drahtloses Netzwerk. Dieser Kunde wollte Sicherheit über das Design und die Einrichtung des Netzwerks haben. Das Netzwerk war sorgfältig so entworfen worden, dass drei Gruppen von Benutzern darauf zugreifen konnten: Mitarbeiter, ältere drahtlose Organizer und Gäste. Die Mitarbeiter erhielten Zugriff auf die internen Systeme und Anwendungen, mussten sich aber zuerst gesondert am drahtlosen Netzwerk anmelden. Die drahtlosen Organizer konnten nur auf bestimmte Ressourcen zugreifen und verwendeten dabei WPA mit freigegebenen Schlüsseln. Die Gastbenutzer konnten nur über ein offenes drahtloses Netzwerk auf das Internet zugreifen. Mr. Wrights Aufgabe war es, in das Netzwerk einzubrechen und dem Kunden die Schwachstellen aufzuzeigen.

Das Ergebnis

Sowohl das Netzwerk für die Benutzer als auch das für die älteren Geräte verwendeten AES-CCMP-Verschlüsselung, was es sehr schwierig machte, auf diesem Weg einzudringen. Mr. Wright versuchte sich zunächst an den freigegebenen Schlüsseln, die das ältere Netzwerk verwendete, aber er hatte auch mit einem Wörterbuch herkömmlicher Kennwörter keinen Erfolg. Das drahtlose Netzwerk war so eingerichtet worden, dass es alles ohne saubere SSID und Authentifizierungseinstellungen zurückwies. Ein Traceroute auf dem Gast-Netzwerk zeigte, dass es physisch vom WAN des Unternehmens getrennt war.

Mr. Wright wollte schon aufgeben, als ihm einfiel, was der Guru Ram Dass einmal gesagt hatte: »Je leiser du wirst, desto mehr kannst du hören.« Statt das Netzwerk weiterhin aggressiv anzugehen, begann Mr. Wright damit, die Aktivitäten auf dem Gast-Netzwerk mit tcpdump zu beobachten. Er hoffte, das System eines Mitarbeiters zu finden, das schlecht konfiguriert war und sich im falschen Netzwerk befand.

Nachdem Mr. Wright rcpdump gestartet hatte, konnte er Broadcast- und Multicast-Verkehr von IP-Adressen sehen, die nicht aus dem DHCP-Pool des Gast-Netzwerks stammten. Die Quelladressen, die er zu sehen bekam, gehörten sowohl in den Bereich des Netzwerks für die Mitarbeiter als auch in den Bereich des Netzwerks für die älteren Geräte. Während er mit dem Gast-Netzwerk verbunden blieb, richtete Mr. Wright seine Netzwerkkarte manuell so ein, dass sie eine unbenutzte IP-Adresse des Mitarbeiter-Netzwerks verwendete. Dadurch erhielt er unbegrenzten Zugang zum internen System und zu einem Windows-2003-Server, dessen Software nicht auf dem neuesten Stand und einem Overflow auf der RPC-DCOM-Schnittstelle schutzlos ausgeliefert war.

Diskussionen mit dem Kunden ergaben dann, dass die WAN-Verbindung des Unternehmens als zu langsam für das Herunterladen großer Programmaktualisierungen angesehen wurde, weshalb die Administratoren interne Systeme zeitweilig mit dem Gast-Netzwerk verbanden, um diese Aktualisierungen herunterzuladen. Dann war vergessen worden, ein System wieder zu trennen, was dazu führte, dass Schnittstellen überbrückt wurden und der Zugriff auf das interne System aus dem Gast-Netzwerk heraus möglich wurde. Mr. Wright konnte einfach dadurch, dass er auf das hörte, was das Netzwerk ihm sagte, die gut geplanten Sicherheitsbemühungen umgehen.

Joshua Wright ist Senior Security Analyst bei InGuard Inc., einem Unternehmen für Computersicherheit, und Senior Instructor beim SANS Institute. Er hat sich auf Angriffe auf drahtlose Systeme spezialisiert und zahllose Bücher, Dokumentationen und Werk zeuge veröffentlicht.

Die Werkzeuge wählen

Es gibt sowohl für Windows als auch für Unix-Plattformen großartige Werkzeuge, um die Sicherheit von WLANs zu testen. Zu diesen Unix-Werkzeugen, die größtenteils unter Linux und BSD laufen, gehören zum Beispiel Kismet (www.kismetwireless.net) und Wellenreiter (http://sourceforge.net/projects/wellenreiter).

Wenn Sie die Leistungsfähigkeit der Werkzeuge genießen wollen, die unter Linux laufen, Sie aber nicht daran interessiert sind, Linux zu installieren und zu erlernen, oder wenn Sie die Zeit nicht haben, mehrere der beliebten Sicherheitswerkzeuge herunterzuladen und einzurichten, sollten Sie sich unbedingt mit BackTrack (www.backtrack-linux.org) beschäftigen. Die bootfähige, auf Debian basierende Linux-CD entdeckt Ihre Hardware-Einstellungen »automatisch« und enthält viele Sicherheitswerkzeuge, die verhältnismäßig einfach zu bedienen sind. Alternativ gibt es auch eine bootfähige, auf Fedora-Linux basierende CD mit dem Network Security Toolkit (www.networksecuritytoolkit.org). Eine bootfähige Linux-CD wird auch Live-CD genannt. Unter www.livecdlist.com finden Sie eine vollständige Liste bootfähiger CDs mit Sammlungen von Linux-Werkzeugen.

Die meisten Tests, die ich in diesem Kapitel beschreibe, verlangen nur auf Windows basierende Werkzeuge. Meine Favoriten beim Überprüfen von drahtlosen Netzwerken sind unter Windows:

Aircrack-ng (http://aircrack-ng.org)

CommView for WiFi (www.tamos.com/products/commwifi)

Elcomsoft Wireless Security Auditor (www.elcomsoft.com/ewsa.html)

OmniPeek (www.wildpackets.com/products/omnipeek_network_analyzer)

Auch eine externe Antenne ist etwas, das Sie in Ihre Überlegungen einbeziehen müssen. Wenn Sie bei Ihren Tests durch die Gebäude wandern, erhöht eine zusätzliche Antenne Ihre Chancen, berechtigte und (was viel wichtiger ist) unberechtigte drahtlose Systeme zu entdecken. Sie können unter drei Arten von Antennen wählen:

Omnidirektional: Sendet und empfängt Signale kugelförmig auf kürzeren Entfernungen, zum Beispiel in Besprechungsräumen oder im Empfangsbereich eines Unternehmens. Diese Antennen, die auch Dipolantennen genannt werden, sind normalerweise schon werksseitig bei Zugriffspunkten (Access Points) vorinstalliert.

Semidirektional: Überträgt und empfängt direktional fokussierte drahtlose Signale über mittlere Entfernungen, zum Beispiel entlang eines Korridors oder einer Seite eines Großraumbüros.

Direktional: Überträgt und empfängt stark fokussierte Signale über größere Entfernungen, zum Beispiel zwischen Gebäuden. Diese Antennen, die auch als Hochleistungsantennen bezeichnet werden, sind bei Hackern die erste Wahl, wenn sie in der Stadt umherfahren und nach ungeschützten WLANs Ausschau halten.

Drahtlose Netzwerke entdecken

Wenn Sie nun eine Netzwerkkarte für drahtlose Netze und die entsprechende Software haben, kann es losgehen. Die ersten Tests, die Sie durchführen, sollten Informationen über Ihr WLAN liefern. Wie das geht, beschreibe ich in den folgenden Abschnitten.

Sie werden weltweit erkannt

Der erste Test benötigt nur die MAC-Adresse Ihres Zugriffspunktes und einen Zugang zum Internet. (Sie können weiter hinten in diesem Kapitel im Abschnitt MAC-Spoofing mehr über MAC-Adressen herausfinden.) Ihre Tests haben den Sinn herauszubekommen, ob jemand Ihr WLAN entdeckt und Informationen darüber veröffentlicht hat, damit die ganze Welt über Sie Bescheid weiß. Und so gehen Sie vor:

1. Suchen Sie die MAC-Adresse des Zugriffspunktes.

Kennen Sie die MAC-Adresse des Zugriffspunktes nicht, sollten Sie den Befehl arp -a oder eine Windows-Befehlszeile verwenden. Pingen Sie zuerst die IP-Adresse des Zugriffspunktes an, damit die MAC-Adresse in den ARP-Cache geladen wird. Abbildung 9.1 zeigt, wie das aussieht.

Abbildung 9.1: Die MAC-Adresse eines Zugriffspunktes mit »arp« herausfinden

2. Wenn Sie die MAC-Adresse des Zugriffspunktes haben, gehen Sie zur WiGLE-Datenbank der WLANs (www.wigle.net).

3. Registrieren Sie sich an der Site, damit Sie eine Datenbankabfrage vornehmen können. Die Anmeldung lohnt sich!

4. Wählen Sie die Verknüpfung QUERY (Abfrage) und melden Sie sich an.

Sie sehen einen Bildschirm wie den in Abbildung 9.2.

Abbildung 9.2: Suchen Sie in der WiGLE-Datenbank nach Ihren drahtlosen Zugriffspunkten.

5. Um herauszubekommen, ob Ihr Zugriffspunkt in der Liste enthalten ist, können Sie Informationen wie geografische Koordinaten eingeben, aber am einfachsten dürfte es sein, die MAC-Adresse in dem Format einzugeben, das als Beispiel im Textfeld BSSID OR MAC gezeigt wird.

Wenn Ihr Zugriffspunkt in der Liste aufgeführt wird, ist er von jemandem entdeckt worden – höchstwahrscheinlich durch Ausspähen. Sie müssen in diesem Fall so schnell wie möglich die Sicherheitsgegenmaßnahmen ergreifen, die in diesem Kapitel beschrieben werden, damit Dritte diese Informationen nicht gegen Sie verwenden können. Darüber hinaus gibt es für mobile Geräte unzählige Apps zum Auffinden drahtloser Netzwerke.

Die lokalen Funkwellen scannen

Beobachten Sie die Funkwellen außerhalb des Gebäudes, um herauszufinden, welche berechtigten und unberechtigten Zugriffspunkte Sie finden können. Sie suchen nach der SSID (Service Set Identifier), bei der es sich um den Namen Ihres drahtlosen Netzwerks handelt. Wenn es mehrere unabhängige drahtlose Netzwerke gibt, hat normalerweise jedes einen eigenen, eindeutigen Namen.

Und da kommt nun das kostenlose Werkzeug NetStumbler (www.netstumbler.com/downloads) ins Spiel. NetStumbler ist in der Lage, SSIDs und weitere Informationen über drahtlose Zugriffspunkte herauszufinden. Zu diesen Informationen gehören:

MAC-Adresse

Name

Verwendeter Kanal

Name des Herstellers

Ob eine Verschlüsselung eingeschaltet ist oder nicht

Signalstärke

Abbildung 9.3 zeigt beispielhaft, was Sie sehen könnten, wenn NetStumbler in Ihrer Umgebung läuft. Die Informationen, die angezeigt werden, entsprechen dem, was auch andere sehen können, wenn sie sich in der Reichweite der Funkwellen Ihres Zugriffspunktes befinden. NetStumbler und die meisten anderen Werkzeuge arbeiten so, dass sie ein Probe-Request-Signal des Clients senden. (Bei einem solchen Signal handelt es sich um eine Anfrage eines Clients an einen Zugriffspunkt zur Übermittlung der aktuellen Gegebenheiten im Netzwerk.) Alle Zugriffspunkte im Bereich dieses Signals müssen – wenn sie dementsprechend eingerichtet worden sind – mit ihren SSIDs antworten.

Abbildung 9.3: NetStumbler zeigt detaillierte Informationen über einen Zugriffspunkt an.

Wenn Sie bestimmte Werkzeuge für die Überprüfung drahtloser Netzwerke verwenden (zum Beispiel NetStumbler oder CommView for WiFi), könnte Ihre Netzwerkkarte in den passiven Beobachtungsmodus wechseln. Dies bedeutet, dass Sie nicht mehr mit anderen drahtlosen Hosts oder Zugriffspunkten kommunizieren können, während das Programm geladen ist.

Angriffe auf drahtlose Netzwerke erkennen und Gegenmaßnahmen ergreifen

Es gibt verschiedene Arten des Hackens von WLANs, zu denen unter anderem auch DoS-Angriffe gehören. Weiterhin gehört dazu, dass Zugriffspunkte gezwungen werden, ihre SSIDs preiszugeben, während sie vom Netzwerk getrennt werden, um danach eine neue Verbindung aufzubauen. Außerdem können Hacker das RF-Signal eines Zugriffspunktes – insbesondere bei 802.11b- und 802.11g-Systemen – im wahrsten Sinne des Wortes blockieren und die drahtlosen Clients zwingen, sich mit einem »feindlichen« Zugriffspunkt neu zu verbinden, der das Aussehen des Zugriffspunktes des Opfers angenommen hat.

Hacker können Man-in-the-Middle-Angriffe durchführen, indem sie Werkzeuge wie ESSID-jack oder monkey-jack missbrauchen, und sie können mit Paketgeneratoren wie Nping oder NetScanTools Pro Ihr Netzwerk mit Tausenden von Paketen in der Sekunde überschwemmen – Angriffe, die gerade bei WLANs nur sehr schwer zu verhindern sind.

Sie können diverse Angriffe gegen Ihr WLAN durchführen. Geeignete Gegenmaßnahmen sorgen dann dafür, dass Ihr Netzwerk umfassend geschützt wird. Wenn Sie die Sicherheit Ihres WLANs testen, halten Sie nach diesen Schwachstellen Ausschau:

unverschlüsselter drahtloser Verkehr
schwache WEP- und WPA-Schlüssel
knackbare WPS-PINs (WPS bedeutet Wi-Fi Protected Setup, der geschützte Aufbau eines drahtlosen Netzwerks)

nicht berechtigte Zugriffspunkte
leicht zu überlistende Kontrollen der MAC-Adressen
drahtlose Ausrüstung, auf die problemlos physisch zugegriffen werden kann

Standardeinstellungen

Ein guter Ausgangspunkt für die Tests ist der Versuch, als Außenstehender auf Ihr WLAN zuzugreifen und ein Universalprogramm zum Testen von Schwachstellen wie LanGuard oder QualysGuard ablaufen zu lassen. Dieser Test gibt Ihnen die Möglichkeit herauszufinden, was andere von Ihrem Netzwerk sehen können. Abbildung 9.4 zeigt, was für Informa tionen über einen Zugriffspunkt ausgelesen werden können – einschließlich eines fehlenden administrativen Kennworts, eines veralteten Betriebssystems und offenen Ports und Freigaben, die ausgenutzt werden können.

Abbildung 9.4: Der Scan eines aktiven Zugriffspunktes mit LanGuard

Übersehen Sie Bluetooth nicht

Zweifellos gibt es auch bei Ihnen zahllose Geräte, auf denen Bluetooth aktiviert ist: Laptops, Smartphones und Tablets. Auch wenn die Schwachstellen hier nicht so ausgeprägt sind wie bei auf 802.11 basierenden Wi-Fi-Netzwerken, so gibt es sie doch (zurzeit werden unter http://nvd.nist.gov über 60 potenzielle Angriffspunkte bei Bluetooth aufgeführt), genauso wie ein paar Werkzeuge zum Hacken von Bluetooth. Sie können sogar die räumlichen Einschränkungen von Bluetooth umgehen, die bei nur wenigen Metern liegen, und Bluetooth-Geräte aus der Ferne angreifen, indem Sie eines der Werkzeuge aus der folgenden Liste verwenden:

Blooover (http://trifinite.org/trifinite_stuff_blooover.html)

BlueScanner (http://sourceforge.net/projects/bluescanner)

Bluesnarfer (www.alighieri.org/tools/bluesnarfer.tar.gz)

BlueSniper rifle (www.tomsguide.com/us/how-to-bluesniper-pt1,review-408.html)

Car Whisperer (http://trifinite.org/trifinite_stuff_carwhisperer.html)

Verschlüsselter Verkehr

Sie können den drahtlosen Verkehr direkt über die Funkwellen einsammeln, was dieses Medium zum idealen Opfer macht, wenn es um das Abhören von Daten geht. Wenn der Verkehr nicht verschlüsselt wird, findet die Datenübertragung wie bei einem verkabelten Netzwerk in Klarschrift statt. Hinzu kommt, dass auch die 802.11-Verschlüsselungsprotokolle Wired Equivalent Privacy (WEP) und Wi-Fi Protected Access (WPA) ihre eigenen Schwächen aufweisen, die es Angreifern erlauben, die Verschlüsselungsschlüssel zu knacken und den Verkehr zu entschlüsseln.

WEP macht seinem Namen in gewisser Weise Ehre. Wired Equivalent Privacy kann grob mit Entsprechung einer Privatsphäre durch Verkabelung übersetzt werden, und genau für eine solche Privatsphäre soll es sorgen. WEP verwendet einen starken symmetrischen (mit einem geteilten Schlüssel arbeitenden) Verschlüsselungsalgorithmus, der RC4 heißt. Hacker können verschlüsselten drahtlosen Verkehr beobachten und den WEP-Schlüssel wiederherstellen, da es bei der Implementierung des RC4-Initialisierungsvektors (IV) in das Protokoll eine echte Schwachstelle gibt. Dies liegt daran, dass der IV nur 24 Bit lang ist, was dazu führt, dass er alle 16,7 Millionen Pakete wiederholt wird – in vielen Fällen sogar noch öfter, wenn es viele drahtlose Clients gibt, die das Netzwerk betreten und verlassen.

Die meisten WEP-Implementierungen initialisieren die WLAN-Hardware mit einem IV von 0 und erhöhen diesen bei jedem gesendeten Paket um 1. Dies kann dazu führen, dass die IVs alle fünf Stunden – wieder mit 0 beginnend – neu initialisiert werden. Aufgrund dieses Verhaltens sind WLANs, bei denen nur wenige Clients eine relativ kleine Zahl drahtloser Daten übermitteln, sicherer als WLANS mit einem großen drahtlosen Verkehr, weil bei ihnen einfach nicht genügend Pakete erzeugt werden.

Wenn Hacker WEPCrack (http://sourceforge.net/projects/wepcrack) oder Aircrack-ng (http://aircrack-ng.org) verwenden, müssen sie (abhängig davon, wie viel drahtloser Verkehr im Netzwerk herrscht) nur wenige Stunden, maximal wenige Tage lang Daten einsammeln, um genügend Pakete zu haben, um den WEP-Schlüssel herauszubekommen. Abbildung 9.5 zeigt airodump (das Teil der Aircrack-ng-Suite ist), wie es Initalisierungsvektoren von WEP einsammelt, und Abbildung 9.6 zeigt Airodump bei der Arbeit: Es knackt die WEP-Schlüssel meines Testnetzwerks.

Abbildung 9.5: WEP-Initialisierungen werden mit airodump eingesammelt.

Abbildung 9.6: Aircrack wird verwendet, um WEP zu knacken.

Airodump und Aircrack-ng laufen problemlos unter Windows. Sie laden einfach unter http://aircrack-ng.org das Programm Aircrack-ng, die cygwin-Linux-Simulationsumgebung und die Unterstützungsdateien herunter und entpacken alles. Dann sind Sie so weit, Pakete einzusammeln und zu knacken.

Ein längerer Schlüssel, zum Beispiel einer, der 128 oder 192 Bit lang ist, macht es nicht in dem gleichen Maße schwieriger, WEP zu knacken. Der Grund liegt darin, dass der statische Verschlüsselungsalgorithmus dafür sorgt, dass es ausreicht, ungefähr 20.000 zusätzliche Pakete für jedes zusätzliche Bit im Schlüssel einzusammeln, um den Schlüssel zu knacken.

Die drahtlose Industrie kam dann mit einer Lösung des WEP-Problems, die Wi-Fi Protected Access (WPA) genannt wurde und auf Deutsch geschützter Zugang zu Wi-Fi bedeutet. WPA verwendet das Verschlüsselungssystem Temporal Key Integrity Protocol (TKIP), bei dem alle bekannten WEP-Probleme beseitigt sind. WPA2, das mittlerweile das ursprüngliche WPA ersetzt hat, verwendet eine viel stärkere Verschlüsselungsmethode mit dem Namen Counter-Mode/CBC-MAC Protocol (wobei CBC für Cipher Block Chining und MAC für Message Authentication Code stehen). Dieses Protokoll, das auch insgesamt mit CCMP abgekürzt wird, basiert auf dem Advanced Encryption Standard (AES). WPA und WPA2 benötigen, wenn sie im sogenannten Enterprise-Modus laufen, einen 802.1x-Authentifizierungsserver (zum Beispiel einen RADIUS-Server), um Benutzerkonten für das WLAN zu verwalten.

Auch für nicht im Enterprise-Modus laufende Zugriffspunkte (von denen es im geschäftlichen Umfeld immer noch sehr viele gibt) existiert kein Grund, nicht auf WPA2 zu setzen.

Sie können aircrack auch benutzen, um Pre-Shared Keys (PSKs, vorher vereinbarte Schlüssel) von WPA und WPA2 zu knacken. Wenn Sie eine WPA-PSK-Verschlüsselung knacken wollen, müssen Sie auf einen drahtlosen Client warten, der sich an seinem Zugriffspunkt authentifiziert. Ein kleiner (und ziemlich schmutziger) Trick, um eine Authentifizierung zu erzwingen, sieht so aus, dass an die Broadcast-Adresse ein De-Authentifizierungspaket gesendet wird.

Sie können airodump verwenden, um Pakete einzusammeln. Dann starten Sie aircrack (beide Programme können übrigens auch gleichzeitig laufen), um mit dem Knacken der Pre-Shared Keys zu beginnen, indem Sie die folgende Befehlszeile verwenden und deren Optionen an Ihre Umgebung anpassen:

#aircrack-ng -a2 -w Pfad_zu_Wortliste <Datei(en)>

CommView for WiFi ist beim Hacken von WEP/WPA das Werkzeug meiner Wahl. Es ist einfach zu bedienen und funktioniert gut. Um WEP oder WPA zu knacken, laden Sie erstens CommView for WiFi, starten zweitens auf dem Kanal, den Sie testen wollen, das Einsammeln der Pakete und klicken drittens im Menü TOOLS auf WEP oder auf WAP KEY RECOVERY. Abbildung 9.7 zeigt einen wiederhergestellten WEP-Schlüssel.

Abbildung 9.7: »Key Recovery« von CommView for WiFi zum Knacken eines WEP-Schlüssels

Das Wiederherstellen von WPA-Schlüsseln hängt von einem guten Wörterbuch ab. Einen guten Ausgangspunkt bilden die Wörterbuchdateien, die Sie unter www.outpost9.com/files/WordLists.html herunterladen können. Außerdem lohnt sich eine Suche im Internet, um Wörterbuchdateien in diversen Sprachen zu finden. Ich muss aber einschränkend festhalten, dass meine Angriffe auf WPA mit Wörterbüchern fast immer gescheitert sind.

Eine kommerzielle Alternative für das Knacken von WPA- oder WPA2-Schlüsseln ist Elcomsoft Wireless Security Auditor (EWSA), das unter http://www.elcomsoft.de/ewsa.html zu finden ist. Um EWSA zu verwenden, sammeln Sie einfach drahtlose Pakete im txpdump-Format ein (jeder WLAN-Analysator unterstützt dieses Format), laden die Dateien mit den gesammelten Daten in das Programm, und kurze Zeit später haben Sie den PSK. EWSA ist in der Lage, WPA- und WPA2-PSKs in einem Bruchteil der Zeit zu knacken, die normalerweise dafür benötigt wird. Das Programm weist nur einen Nachteil auf: Sie benötigen einen Computer mit einer unterstützten NVIDIA- oder ATI-Grafikkarte. Ja, EWSA nutzt nicht nur den Prozessor Ihrer CPU, sondern auch die Beschleunigungseinheit des Prozessors der Grafikkarte (GPU). Das nenne ich eine Innovation! Abbildung 9.8 zeigt die zentrale Oberfläche von EWSA.

Abbildung 9.8: Elcomsoft Wireless Security Auditor für das Knacken von vorher vereinbarten WPA-Schlüsseln

Indem Sie EWSA einsetzen, können Sie versuchen, bis zu 50.000 WPA/WPA2-PSKs pro Sekunde zu knacken. Vergleichen Sie diesen Wert nun mit den paar hundert Schlüsseln pro Sekunde, die zu schaffen sind, wenn nur die CPU benutzt wird, erkennen Sie, wie wertvoll ein Werkzeug wie EWSA ist.

Wenn Sie Ihren WLAN-Analysator dazu verwenden müssen, den Verkehr als Teil der Sicherheitsüberprüfung zu beobachten, sehen Sie nichts, solange WEP oder WPA/WPA2 aktiviert ist und Sie die Schlüssel nicht kennen, die den einzelnen Netzwerken zugeordnet sind. Sie können im Analysator die Schlüssel eingeben, aber Sie sollten immer daran denken, dass auch Hacker das können, wenn sie es schaffen, Ihre WEP- oder WPA-PSKs zu knacken.

Abbildung 9.9 zeigt beispielhaft, wie Sie Protokolle auf Ihrem WLAN beobachten können, indem Sie in OmniPeek den WPA-Schlüssel über das Fenster CAPTURE OPTIONS eingeben, bevor Sie mit dem Einsammeln der Pakete beginnen.

Abbildung 9.9: Den verschlüsselten drahtlosen Verkehr mit OmniPeek beobachten

Maßnahmen gegen Angriffe auf verschlüsselten Verkehr

Die einfachste Lösung für das WEP-Problem ist eine Migration der gesamten drahtlosen Kommunikation zu WPA oder WPA2. Sie können in einer Windows-Umgebung auch ein – kostenloses – VPB verwenden und für die Client-Kommunikation das Point-to-Point Tunneling Protocol (PPTP) aktivieren. Sie können aber auch die in Windows integrierte Unterstützung von IPSec oder Secure Shell (SSH), Secure Sockets Layer/Transport Layer Security (SSL/TLS) beziehungsweise die Sonderlösungen von Drittanbietern verwenden, damit der Verkehr in Ihren Netzen sicher abläuft. Denken Sie aber immer daran, dass es zwar auch für PPTP, IPSec und andere VPN-Protokolle Cracking-Programme gibt, dass Sie aber im Allgemeinen ziemlich geschützt sind.

Es gibt inzwischen auch neuere auf 802.11 basierende Lösungen. Wenn Sie Ihre drahtlosen Hosts so einrichten können, dass sie dynamisch einen neuen Schlüssel erstellen, nachdem eine bestimmte Anzahl an Paketen gesendet wurde, kann die Schwäche von WEP nicht mehr ausgenutzt werden. Viele Hersteller haben diese Lösung bereits als eigenständige Option in ihre Geräte eingebaut. Kümmern Sie sich bei älteren Geräten um eine Aktualisierung der Firmware, um das ständige Wechseln der Schlüssel nutzen zu können.

Im Standard 802.11i des IEEE (der auch WPA2 genannt wird) ist unter anderem die Schwäche von WPA beseitigt worden. Dies bedeutet eine Verbesserung gegenüber WPA, aber der neue Standard ist nicht kompatibel zu älterer 802.11b-Hardware, da er für die Verschlüsselung den Advanced Encryption Standard (AES) enthält.

Wenn Sie WPA mit einem Pre-Shared Key (PSK) verwenden (was für kleinere Netzwerke mehr als ausreichend ist), müssen Sie dafür sorgen, dass der Schlüssel mehr als 20 zufällig ausgewählte Zeichen enthält. Das verhindert, dass er über Offline-Wörterbücher angegriffen und ausgespäht werden kann, die Bestandteil von Programmen wie Aircrack-ng und Elcomsoft Wireless Security Auditor sind.

Denken Sie immer daran, dass WEP und schwache WPA-PSKs zwar geknackt werden können, dass ihr Einsatz aber immer noch besser ist, als auf eine Verschlüsselung ganz zu verzichten. Sie können dies mit einem Schild vergleichen, das darauf hinweist, dass Ihr Haus alarmgeschützt ist und damit Ihr Heim für Einbrecher längst nicht mehr so attraktiv erscheinen lässt. Viele Eindringlinge ziehen es dann vor, sich ein leichteres Ziel zu suchen.

WiFi Protected Setup

Beim WiFi Protected Setup (WPS) handelt es sich um einen drahtlosen Standard, der eine einfache Verbindung zu »sicheren« drahtlosen Zugriffspunkten ermöglicht. Das Problem bei WPS ist, dass seine Einbindung von Registrar-PINs es erleichtert, eine Verbindung zum drahtlosen Netzwerk herzustellen, und Angriffe auf die Pre-Shared Keys von WPA/WPA2 ermöglicht, die verwendet werden, um das System sicher zu machen.

Die Zielrichtung von WPS sind private Benutzer, die zu Hause ein drahtloses Netzwerk haben.

WPS-Angriffe erfolgen ziemlich direkt mit Reaver (http://code.google.com/p/reaver-wps). Das Open-Source-Werkzeug arbeitet mit einem Brute-Force-Angriff gegen den WPS-PIN. Ich habe die kommerzielle Version Reaver Pro (http://hakshop.myshopify.com/products/reaver-pro) verwendet, die es auf einem bootfähigen USB-Stick zusammen mit einer drahtlosen Netzwerkkarte gibt, über die der Vorgang dann abläuft. Abbildung 9.10 zeigt die Oberfläche von Reaver.

Es ist einfach, Reaver ablaufen zu lassen. Folgen Sie nur diesen Schritten:

1. Laden Sie Reaver und klicken Sie in der Mitte des Fensters auf die Schaltfläche PLAY.

2. Klicken Sie in der ATTACK-Spalte neben dem Zugriffspunkt (Access Point oder kurz AP) auf die Schaltfläche PLAY.

3. Lassen Sie Reaver laufen und seinen Job erledigen.

Abbildung 9.10: Das Startfenster von Reaver

Diesen Vorgang zeigt Abbildung 9.11.

Abbildung 9.11: Mit Reaver einen Wi-Fi Protected Setup PIN knacken

Es kann irgendetwas von wenigen Minuten bis hin zu einigen Stunden dauern, aber wenn Reaver Erfolg hat, gibt es den WPA Pre-Shared Key zurück. Sie können das Knacken anhalten und jederzeit wieder aufnehmen.

Die Ergebnisse, die ich mit Reaver erhalten habe, waren gemischter Natur und hingen stark von dem Computer ab, auf dem das Programm lief, und von dem zu testenden Zugriffpunkt. Es lohnt sich aber immer, auf Reaver zuzugreifen, wenn Sie nach Lücken in der Sicherheit Ihres drahtlosen Netzwerks suchen.

Maßnahmen gegen Schwächen beim WPS-PIN

Es kommt nur selten vor, dass es eine so eindeutige Gegenmaßnahme gibt wie diese hier: Deaktivieren Sie WPS. Wenn WPS aktiviert bleiben muss, richten Sie wenigstens auf den Zugriffspunkten Kontrollen der MAC-Adressen ein. Das ist dann zwar nicht narrensicher, aber immer noch besser als nichts.

Gefährliche drahtlose Geräte

Achten Sie auf unberechtigte Zugriffspunkte und drahtlose Clients, die mit Ihrem Netzwerk verbunden worden sind. Indem Sie NetStumbler oder die Verwaltungssoftware Ihres Clients verwenden, können Sie Zugriffspunkte und ad hoc angebundene Geräte testen, die eigentlich nicht zu Ihrem Netzwerk gehören. Sie können dazu aber auch die Netzwerk-Überwachungsfunktionen eines WLAN-Analysators wie OmniPeek oder CommView for WiFi verwenden.

Halten Sie nach folgenden gefährlichen Merkmalen eines Zugriffspunktes Ausschau:

Seltsame SSIDs, zu denen auch die beliebten linksys und free wifi gehören.

Seltsame Systemnamen von Zugriffspunkten. Verwechseln Sie diese Namen nicht mit den SSIDs.

MAC-Adressen, die nicht zu Ihrem Netzwerk gehören. Schauen Sie sich die ersten drei Byte der MAC-Adresse an (das sind die ersten sechs Zahlen), die den Namen des Herstellers bezeichnen. Sie können unter http://standards.ieee.org/develop/regauth/oui/public.html nach Informationen über den Zugriffspunkt suchen, bei denen Sie zweifeln.

Schwache Funksignale, was darauf hindeutet, dass ein Zugriffspunkt versteckt oder außen am Gebäude angebracht wurde.

Kommunikation auf einem Kanal, den Sie standardmäßig nicht verwenden.

Verschlechterung des Datendurchsatzes auf allen WLAN-Clients.

In Abbildung 9.12 hat NetStumbler zwei möglicherweise unberechtigte Zugriffspunkte gefunden. Die beiden, um die es geht, haben die SSIDs BI beziehungsweise LarsWorld. Beachten Sie, dass die beiden auf unterschiedlichen Kanälen senden, unterschiedliche Geschwindigkeiten haben und von zwei verschiedenen Hardwareherstellern stammen. Wenn Sie wissen, was in Ihrem drahtlosen Netzwerk laufen sollte (das wissen Sie doch, oder?), fallen nicht berechtigte Systeme sofort auf.

Abbildung 9.12: NetStumbler weist auf zwei möglicherweise nicht berechtigte Zugriffspunkte hin.

NetStumbler hat eine Einschränkung: Es findet keine Zugriffspunkte, auf denen Probe-Request-Pakete (SSID-Broadcast-Pakete) deaktiviert sind. Sowohl kommerzielle drahtlose Netzwerkanalysatoren wie CommView for WiFi als auch das Open-Source-Produkt Kismet suchen nicht nur, wie NetStumbler, Probe-Response-Pakete von Zugriffspunkten, sondern auch nach 802.11-Verwaltungspaketen wie Association Responses und Beacons. Dies erlaubt es Kismet, die Anwesenheit versteckter WLANs zu entdecken.

Wenn Unix nicht unbedingt Ihr Ding ist und Sie nach einem schnellen Weg suchen, versteckte Zugriffspunkte aufzuspüren, können Sie ein Szenario erstellen, bei dem sich Clients erneut mit Zugriffspunkten verbinden. Dies erzwingt ein Senden der SSIDs mit De-Authentifizierungspaketen.

Der sicherste Weg, um einen versteckten Zugriffspunkt aufzuspüren, ist eine einfache Suche nach 802.11-Verwaltungspaketen. Sie können OmniPeek so einrichten, dass es diese Aufgabe erledigt, indem Sie einen dementsprechenden Filter aktivieren (siehe Abbildung 9.13).

Abbildung 9.13: Sie können OmniPeek so einrichten, dass es Zugriffspunkte entdeckt, die ihre SSID nicht senden.

Abbildung 9.14 zeigt, wie Sie CommView for WiFi verwenden können, um einen zweifelhaften Host im Netzwerk darzustellen. Hier sind es zum Beispiel die Systeme Hon Hai und Netgear, da Sie wissen, dass Sie in Ihrem Netzwerk nur Hardware von Cisco und Netopia verwenden.

Abbildung 9.14: Mit CommView for Windows drahtlose Systeme aufspüren, die fremd sind

WLANs, die im Ad-hoc- oder Peer-to-Peer-Modus eingerichtet wurden, lassen es zu, dass drahtlose Clients direkt miteinander kommunizieren, ohne dass ein Zugriffspunkt dazwischengeschaltet wird. Diese Art von Netzwerk arbeitet außerhalb der normalen drahtlosen Sicherheitseinrichtungen und könnte zusätzlich zu den normalen Schwachstellen von 802.11 ernsthafte Sicherheitsprobleme hervorrufen.

Sie können so gut wie jeden WLAN-Analysator verwenden, um in Ihrem Netzwerk nicht berechtigte Geräte zu finden. Wenn Sie dann auf Ad-hoc-Systeme wie die stoßen, die in CommView for WiFi in der Spalte TYPE (siehe Abbildung 9.15) als STA (für Station) bezeichnet werden, kann dies ein Hinweis darauf sein, dass jemand ein ungeschütztes drahtloses System laufen lässt. Häufig handelt es sich dabei um Drucker und ähnlich harmlose Netzwerksysteme, aber es kann sich dabei auch um Arbeitsstationen oder mobile Geräte handeln. Auf jeden Fall können sie eine Gefahr für Ihr Netzwerk und die Daten darstellen, weshalb Sie so etwas unbedingt überprüfen müssen.

Abbildung 9.15: CommView for WiFi zeigt verschiedene nicht berechtigte Ad-hoc-Clients an.

Sie können aber auch mit einem digitalen Hotspotter herumlaufen und nach Ad-hoc-Systemen suchen. Wenn Sie das machen, denken Sie daran, dass Sie natürlich auch Signale von nahe gelegenen Büros oder Privatwohnungen empfangen. Wenn Sie also etwas finden, gehen Sie nicht immer sofort davon aus, dass es etwas Gefährliches ist. Ein Hinweis darauf, ob sich ein Gerät zum Beispiel in einem benachbarten Büro befindet, kann die Stärke des entdeckten Signals sein. Geräte außerhalb Ihrer Büros sollten ein schwächeres Signal haben als die in Ihren Büros. Indem Sie auf diese Weise einen WLAN-Analysator verwenden, müsste sich der Standort herausfinden und falscher Alarm vermeiden lassen.

Es lohnt sich, die Umgebung des Netzwerks zu kennen. Wenn Sie wissen, wie Ihre Umgebung aussehen sollte, erleichtert dies das Auffinden möglicher Probleme.

Wenn Sie feststellen wollen, ob ein Zugriffspunkt, den Sie entdeckt haben, zu Ihrem drahtlosen Netzwerk gehört, ist das Durchführen von Reverse ARPs (RARPs), um IP-Adressen MAC-Adressen zuzuordnen (reverse bedeutet umgekehrt), zwingend notwendig. Sie können dies auf Befehlszeilenebene mit der Anweisung arp-a machen und einfach die IP-Adressen mit den entsprechenden MAC-Adressen vergleichen, um herauszufinden, ob es eine Übereinstimmung gibt.

Denken Sie auch daran, dass WLANs die drahtlosen Geräte und nicht die Benutzer authentifizieren. Kriminelle Hacker können dies ausnutzen und Zugriff auf einen drahtlosen Client erhalten, indem sie Software für ferne Zugriffe wie Telnet oder SSH verwenden oder eine der bekannten Schwachstellen bei einer Anwendung oder dem Betriebssystem ausnutzen. Danach haben die Angreifer möglicherweise vollen Zugriff auf Ihr Netzwerk und Sie schauen dumm drein.

Maßnahmen gegen gefährliche drahtlose Geräte

Der einzige Weg, um in Ihrem Netzwerk gefährliche Zugriffspunkte und drahtlose Hosts zu entdecken, sieht so aus, dass Sie das WLAN regelmäßig (wöchentlich, vielleicht sogar täglich) kontrollieren und nach Anzeichen Ausschau halten, die auf drahtlose Clients oder gefährliche Zugriffspunkte hinweisen. Für diese Art von Kontrolle ist ein WIPS das geeignete Instrument. Wenn Sie dabei nichts finden, bedeutet dies noch lange nicht, dass Sie Glück haben. Eventuell haben Sie sich nur nicht intensiv genug mit Ihrem drahtlosen IPS, dem entsprechenden Netzwerkanalysator oder anderen Netzwerkverwaltungsanwendungen beschäftigt.

Abhängig von Ihrem Zugriffspunkt sollten Sie einige Änderungen an den Einstellungen vornehmen, die Hacker aus Ihrem WLAN draußen halten können:

Erhöhen Sie, wenn möglich, das Intervall für den Beacon Broadcast so weit es geht auf 65.535 Millisekunden (was ungefähr 66 Sekunden entspricht). Dies kann dazu beitragen, dass umherstreifende Hacker den Zugriffspunkt nicht entdecken, wenn sie an Ihrem Gebäude vorbeifahren. Testen Sie die neuen Einstellungen, weil sie andere, unerwartete Dinge nach sich ziehen können: Berechtigte drahtlose Clients sind plötzlich nicht mehr in der Lage, sich mit dem Netzwerk zu verbinden.

Deaktivieren Sie Probe-Response, um zu verhindern, dass der Zugriffspunkt auf die entsprechenden Anforderungen reagiert.

Verwenden Sie auf allen drahtlosen Hosts lokale Firewalls wie Windows Firewall, um unberechtigten Zugriff auf den Host und damit auf das Netzwerk aus der Ferne zu verhindern.

MAC-Spoofing

Eine allgemein übliche Methode zur Verteidigung drahtloser Netzwerke sind Kontrollen der Media-Access-Control-Adresse (MAC-Adresse). Sie richten Ihre Zugriffspunkte so ein, dass sich nur Clients mit bekannten MAC-Adressen mit dem Netzwerk verbinden können. Folglich besteht ein sehr beliebter Angriff auf drahtlose Netzwerke darin, dass ein MAC-Address-Spoofing vorgenommen wird.

Angreifer können unter Unix MAC-Adressen leicht mit dem Befehl ifconfig fälschen (was Spoofing grob übersetzt bedeutet). Unter Windows verwenden Sie zu diesem Zweck das Werkzeug SMAC, das ich in Kapitel 8 beschreibe. Und wie bei WEP und WPA gilt, dass auf MAC-Adressen basierende Zugriffskontrollen besser sind als nichts. Wenn sich jemand Ihrer MAC-Adressen bedient, können Sie das eigentlich nur herausbekommen, indem Sie ständig kontrollieren, ob es in Ihrem Netzwerk zwei identischen MAC-Adressen gibt.

Wenn Sie herausfinden wollen, ob ein Zugriffspunkt MAC-Adressen kontrolliert, versuchen Sie einfach, sich mit ihm zu verbinden und über DHCP eine IP-Adresse zu erhalten. Wenn das klappt, sind auf dem Zugriffspunkt keine Kontrollen für MAC-Adressen aktiviert worden.

Die folgenden Schritte beschreiben, wie Sie das Kontrollieren der MAC-Adressen testen können, und zeigen, wie leicht es ist, die Kontrollen zu umgehen:

1. Finden Sie einen Zugriffspunkt, mit dem Sie sich verbinden wollen.

Das geht am einfachsten, indem Sie NetStumbler laden (siehe Abbildung 9.16). In diesem Testnetzwerk ist der Zugriffspunkt mit der SSID doh! derjenige, den ich testen möchte. Beachten Sie auch die MAC-Adresse dieses Zugriffspunktes. Dies hilft Ihnen dabei sicherzustellen, dass Sie sich in den folgenden Schritten auch die richtigen Pakete anschauen. Ich habe aus Sicherheitsgründen den größten Teil dieser Adresse ausgeblen det, weshalb wir einmal annehmen, dass es sich dabei um 00:40:96:FF:FF:FF handelt. Beachten Sie weiterhin in Abbildung 9.16, dass NetStumbler in der Lage war, die IP-Adresse des Zu griffspunktes herauszufinden. Wenn Sie eine IP-Adresse haben, kann diese als Bestätigung dafür dienen, dass Sie sich im richtigen Netzwerk befinden.

Abbildung 9.16: Mit NetStumbler Zugriffspunkte finden, auf die zugegriffen werden kann

2. Verwenden Sie einen WLAN-Analysator und halten Sie nach einem Client Ausschau, der an die Broadcast-Adresse ein Probe-Request-Paket sendet oder vom Zugriffspunkt eine Probe-Response als Antwort erhält.

Sie können in Ihrem Analysator einen Filter einrichten, um solche Frames zu finden, oder Sie sammeln einfach Pakete ein, die Sie nach der MAC-Adresse des Zugriffspunktes absuchen, die Sie sich in Schritt 1 notiert haben. Abbildung 9.17 zeigt, wie die Probe-Request- und Probe-Response-Pakete aussehen.

Abbildung 9.17: Suchen Sie in dem Netzwerk, das getestet wird, die MAC-Adresse eines drahtlosen Clients.

Beachten Sie, dass der drahtlose Client (bei dem wir zur Wahrung der Privatsphäre unterstellen, dass seine vollständige MAC-Adresse 00:09:5B:FF:FF:FF lautet) zuerst in Paket 98 einen Probe-Request an die Broadcast-Adresse (FF:FF:FF:FF:FF:FF) sendet. Der Zugriffspunkt, um den es mir geht, sendet eine Probe-Response an 00:09:5B:FF:FF:FF und bestätigt damit, dass dies tatsächlich ein gültiger Client des Netzwerks ist, in dem ich die Kontrolle von MAC-Adressen teste.

3. Ändern Sie die MAC-Adresse Ihres Testcomputers in die des drahtlosen Clients, den Sie in Schritt 2 gefunden haben.

Sie können unter Unix und Linux Ihre MAC-Adresse sehr leicht mit dem Befehl ifconfig ändern:

a Melden Sie sich als root an und deaktivieren Sie die Netzwerkkarte.

Fügen Sie wie folgt die Nummer der Netzwerkkarte, die Sie deaktivieren wollen (normalerweise wlan0 oder ath0), in die Anweisung ein:

[root@localhost root]# ifconfig wlan0 down
b Geben Sie wie folgt die neue MAC-Adresse ein, die Sie verwenden wollen:

[root@localhost root]# ifconfig wlan0 hw ether 01:23:45:67: 89:ab
c Holen Sie die Netzwerkkarte mit diesem Befehl wieder zurück:

[root@localhost root]# ifconfig wlan0 up

Wenn Sie unter Linux Ihre MAC-Adressen häufig ändern, können Sie ein Werk-zeug verwenden, das viele Funktionen aufweist: GNU MAC Changer (www.alobbs.com/macchanger).

Unter Windows könnten Sie es schaffen, über die Systemsteuerung die MAC-Adressen in den Eigenschaften der drahtlosen Netzwerkkarten zu ändern. Sollten Sie es vorziehen, nicht unmittelbar im Betriebssystem oder mit automatisierten Abläufen zu arbeiten, bietet sich ein nettes und nicht allzu teures Werkzeug wie SMAC von KLC Consulting (www.klcconsulting.net/smac) an. Um Ihre MAC-Adresse zu ändern, verwenden Sie die Schritte, die ich in Kapitel 8 beschreibe.

Wenn Sie fertig sind, sollte SMAC etwas anzeigen, das so ähnlich aussieht wie die Darstellung des Bildschirms in Abbildung 9.18.

Wenn Sie eine der vorstehenden MAC-Adressen wieder zurücksetzen wollen, kehren Sie einfach die Schritte um.

Beachten Sie, dass Zugriffspunkte, Router, Switches und Ähnliches herausfinden könnten, dass mehr als ein Gerät im Netzwerk dieselbe MAC-Adresse benutzt. In diesem Fall müssten Sie warten, bis das andere System nicht mehr im Netz aktiv ist.

Abbildung 9.18: SMAC zeigt eine gefälschte MAC-Adresse an.

4. Sorgen Sie dafür, dass Ihre drahtlose Netzwerkkarte mit der entsprechenden SSID umgehen kann.

Ich verwende in diesem Beispiel den Netgear Smart Wizard, um den Zugriff auf doh! zu ermöglichen (siehe Abbildung 9.19).

Abbildung 9.19: Achten Sie darauf, dass die SSID richtig eingerichtet wird.

Sie können die Kontrollen für MAC-Adressen selbst dann testen, wenn es im Netzwerk WEP oder WPA gibt. Sie müssen nur den Verschlüsselungsschlüssel eingeben, bevor Sie die Verbindung aufbauen können.

5. Sie erhalten eine IP-Adresse.

Sie können dies dadurch erreichen, dass Sie Ihr System neu starten oder indem Sie die drahtlose Netzwerkkarte deaktivieren/reaktivieren. Auf einem Windows-Computer können Sie auch den Befehl ipconfig/renew verwenden oder manuell in den Eigenschaften der Karte eine passende IP-Adresse eintragen.

6. Prüfen Sie nach, ob Sie sich nun im Netzwerk befinden, indem Sie einen anderen Host anpingen oder in das Internet gehen.

Mehr ist nicht zu tun! Sie konnten die Kontrollen der MAC-Adressen in sechs einfachen Schritten aushebeln.

Maßnahmen gegen MAC-Spoofing

Der einfachste Weg, um das Umgehen von Kontrollen der MAC-Adressen und damit das unberechtigte Erlangen von Zugriffen auf das drahtlose Netzwerk zu verhindern, ist das Einschalten von WEP oder WPA, besser noch WPA2. Ein anderer Weg sieht so aus, dass Sie ein drahtloses IPS verwenden. Diese zweite Methode ist zwar kostenintensiver, aber diese Geldausgabe lohnt sich in der Regel. Sie müssen nur bedenken, was Sie in diesem Fall an zusätzlichen Sicherheitsfunktionen erhalten.

Physische Sicherheitslöcher

In Ihrem drahtlosen Netzwerk kann es durch Diebstahl, das Rekonfigurieren drahtloser Geräte und das Einsammeln vertraulicher Daten zu physischen Schwachstellen kommen. Sie sollten nach den folgenden möglichen Sicherheitslöchern suchen, wenn Sie die Tests durchführen:

Zugriffspunkte, die außen an einem Gebäude angebracht worden sind und auf die die Öffentlichkeit zugreifen kann.

Schlecht montierte Antennen – oder der falsche Antennentyp –, die so stark senden, dass die Öffentlichkeit auf die Signale zugreifen kann. NetStumbler, die Verwaltungssoftware Ihrer drahtlosen Clients oder eines der kommerziellen Werkzeuge, die ich weiter oben erwähne, zeigen die Signalstärke an.

Probleme dieser Art werden oft übersehen, weil Installationen hastig vorgenommen werden, es keine saubere Planung gibt und das technische Grundwissen fehlt.

Maßnahmen gegen physische Schwachstellen bei der Sicherheit drahtloser Netzwerke

Sorgen Sie dafür, dass Antennen und andere Ausrüstungsgegenstände für Ihr drahtloses Netzwerk sicher untergebracht und physische Zugriffe nur extrem schwer zu realisieren sind.

Wenn drahtlose Signale außerhalb des Gebäudes oder dort, wo sie nichts zu suchen haben, empfangen werden können,
reduzieren Sie die Senderleistung Ihres Zugriffspunktes oder
verwenden Sie eine kleinere (semidirektionale oder direktionale) Antenne, um die Signalstärke herabzusetzen.

Verwundbare drahtlose Arbeitsstationen

Drahtlose Arbeitsstationen weisen unzählige Sicherheitslöcher auf – angefangen bei Kennwörtern bis hin zur lokalen Speicherung von WEP- und WPA-Verschlüsselungsschlüsseln. Viele Schwachstellen sind in den letzten Jahren von den Herstellern beseitigt worden, aber Sie wissen nie, ob auf den drahtlosen Clients auch die neuesten (und damit in der Regel sichersten) Versionen des Betriebssystems und anderer Anwendungen laufen.

Sie können zusätzlich zu den Netzwerkanalysatoren, die ich weiter vorn in diesem Kapitel erwähne, auch allgemein Werkzeuge zum Testen von Schwachstellen verwenden, zum Beispiel LanGuard, QualysGuard und Acunetix Web Vulnerability Scanner. Obwohl diese Programme keine Spezialisten für drahtlose Netzwerke sind, können sie Schwachstellen Ihrer drahtlosen Computer aufzeigen, die Ihnen bisher vielleicht entgangen sind. Schwachstellen bei Betriebssystem und Anwendungen behandele ich in den Teilen IV und V dieses Buches.

Maßnahmen gegen Schwachstellen bei drahtlosen Arbeitsstationen

Sie können diese Gegenmaßnahmen ergreifen, um zu verhindern, dass Ihre Arbeitsstationen als Eingang in Ihr WLAN verwendet werden:

Nehmen Sie alle drahtlosen Arbeitsstationen in Ihre Schwachstellensuche auf.

Sorgen Sie immer für die neuesten Sicherheitsaktualisierungen der Hersteller und für starke Kennwörter.

Sorgen Sie für lokale Firewalls auf den Arbeitsstationen und für Sicherheitssoftware auf allen drahtlosen Systemen (einschließlich Smartphones und Tablets).

10

Mobile Geräte

In diesem Kapitel ...

Die bekannten Schwachstellen bei Laptops, Mobiltelefonen und Tablets ausfindig machen

Sicherheitstests durchführen, um wesentliche Sicherheitslücken bei mobilen Geräten aufzudecken

Mobile Sicherheitsrisiken minimieren

Das mobile Computerwesen bildet die neue Front, um die sich Unternehmen – und Hacker – kümmern müssen. Es sieht so aus, als ob heutzutage jeder ein mobiles Gerät für den privaten und/oder den beruflichen Gebrauch besäße. Wenn diese mobilen Geräte nicht sauber konfiguriert worden sind und sich mit dem Netzwerk des Unternehmens verbinden, stellen sie Abertausende ungeschützter Informationsinseln dar, die sich Ihrer Kontrolle entziehen.

Da auf diesen Telefonen, Tablets und Laptops zahllose Betriebssystemplattformen laufen und sie mit Apps vollgestopft sind, ist das mobile Computerwesen mit unendlich vielen Risiken behaftet. Statt sich nun mit allen Schwachstellen zu beschäftigen, untersucht dieses Kapitel einige der größeren und häufig vorkommenden Sicherheitsmängel, die Auswirkungen auf ein Unternehmen haben können.

Mobile Schwachstellen einschätzen

Die Beschäftigung mit scheinbar unscheinbaren Dingen lohnt sich. Außerdem lohnt sich der Einsatz hier am meisten. Die folgenden Schwachstellen bei Laptops, Telefonen und Tablets sollten auf der Liste dessen, um das Sie sich kümmern müssen, ganz oben stehen:

keine Verschlüsselung
schlecht eingerichtete Verschlüsselung
leicht zu erratende (oder zu knackende) Kennwörter

Kennwörter von Laptops knacken

Die wohl größte Bedrohung für die Sicherheit eines Unternehmens bilden unverschlüsselte Laptops. Konzentrieren Sie sich vollständig auf dieses unentschuldbare Sicherheitsloch, das im Geschäftsleben immer noch Alltag ist. Dieser Abschnitt untersucht Werkzeuge, die Sie verwenden können, um Kennwörter von Windows-, Linux- oder Unix-Systemen zu knacken. Dann erfahren Sie, was Sie grundsätzlich gegen diese Schwachstelle unternehmen können.

Die Werkzeuge wählen

Das Werkzeug, mit dem ich am liebsten die Risiken zeige, die mit unverschlüsselten Lap-tops zusammenhängen, ist das kommerzielle Produkt Elcomsoft System Recovery (www.elcomsoft.com/esr.html). Sie brennen das Programm auf eine CD, mit der Sie das System starten, dessen Kennwort Sie wiederherstellen (oder zurücksetzen) wollen (siehe Abbildung 10.1).

Abbildung 10.1: Elcomsoft System Recovery eignet sich großartig zum Knacken und Zurücksetzen von Windows-Kennwörtern auf ungeschützten Laptops.

Ihnen steht die Möglichkeit zur Verfügung, das Kennwort des lokalen Administrators (oder eines anderen Benutzers) zurückzusetzen oder alle Kennwörter knacken zu lassen. Das ist wirklich so einfach und funktioniert selbst bei den neuesten Betriebssystemen wie Windows 8 ausgesprochen gut. Das Schwierigste und Zeitintensivste bei dieser Aktion ist das Herunterladen des Programms und das Brennen auf CD.

Sie können unter Windows auch ein anderes erprobtes Werkzeug verwenden, das NTAccess heißt (www.mirider.com/ntaccess.html) und lokale Windows-Konten zurücksetzen kann. Dieses Programm ist nichts Besonderes, aber es erledigt seinen Job ganz ordentlich. Elcomsoft und NTAccess bieten wie ophcrack, auf das ich weiter hinten in diesem Kapitel eingehe, eine ausgesprochen gute Art zu zeigen, wie wichtig das Verschlüsseln der Festplatte eines Laptops ist.

Die Leute erzählen dann gerne, dass es auf ihrem Laptop nichts Wichtiges gibt. Selbst auf Laptops, die für Schulungen oder für Verkaufspräsentationen verwendet werden, gibt es sehr viele sensible Daten, die gegen Ihr Unternehmen verwendet werden können. Hierzu gehören Arbeitsblätter von Tabellenkalkulationen, die Benutzer kopiert haben, um sie lokal zu bearbeiten, VPN-Ver bindungen mit gespeicherten Anmeldeberechtigungen, Webbrowser, die den Verlauf in einem Cache aufheben und Kennwörter für Websites.

Wenn Sie das Kennwort des lokalen Administrators oder eines anderen Kontos zurückgesetzt (oder geknackt) haben, können Sie sich an Windows anmelden und haben vollen Zugriff auf das System. Sie können nun im System herumstochern und finden mit ziemlicher Sicherheit sensible Daten, Netzwerkverbindungen und gespeicherte Internetverbindungen. Wenn Sie dann noch tiefer graben wollen, können Sie zusätzliche Werkzeug von Elcomsoft (www.elcomsoft.com/products.html) verwenden, zum Beispiel Elcomsoft Internet Password Breaker, Proactive System Password Recovery und Advanced EFS Data Recovery, um in Windows-Systemen weitere Informationen zu enthüllen. Auch Passware (www.lostpassword.com) bietet ähnliche kommerzielle Werkzeuge an.

Wenn Sie auf Unix- oder Linux-Laptops Vergleichbares machen wollen, sollten Sie den Rechner über eine Distribution wie Knoppix (www.knoppix.net) starten und die lokale Datei passwd (/etc/shadow) bearbeiten. Entfernen Sie für den Eintrag root den verschlüsselten Code zwischen dem ersten und dem zweiten Doppelpunkt oder kopieren Sie das (Ihnen bekannte) Kennwort eines anderen Benutzers in diesen Bereich.

Wenn Sie Probleme mit Ihrem Budget haben und für das Knacken von Windows-Kennwörtern ein kostenloses Programm benötigen, können Sie ophcrack verwenden, indem Sie diesen Schritten folgen:

1. Laden Sie die Quelldatei von http://ophcrack.sourceforge.net herunter.

2. Entpacken Sie das Programm und installieren Sie es mit diesem Befehl: ophcrack-win32-installer-3.4.0.exe (oder wie der aktuelle Dateiname lautet).

3. Starten Sie das Programm über das Windows-Startmenü.

4. Klicken Sie auf die Schaltfläche LOAD und wählen Sie den Testtyp aus, den Sie ablaufen lassen wollen.

In diesem Beispiel, das Abbildung 10.2 zeigt, verbinde ich mich mit einem fernen Server, der test1 heißt. Auf diese Weise authentifiziert sich ophcrack am fernen Server mit meinem lokalen Benutzernamen und lässt pwdump ablaufen, um die Kennwort-Hashes aus der SAM-Datenbank des Servers zu extrahieren. Sie können aber auch Hashes der lokalen Maschine oder von einer früheren pwdump-Sitzung laden. Die Darstellung der extrahierten Benutzernamen sollte so ähnlich aussehen wie in Abbildung 10.3.

Abbildung 10.2: Kennwort-Hashes einer fernen SAM-Datenbank laden

Abbildung 10.3: Mit ophcrack extrahierte Benutzernamen

5. Klicken Sie auf das Symbol LAUNCH, um einen Rainbow-Crack zu beginnen.

Dieser Vorgang kann abhängig von der Geschwindigkeit Ihres Computers eine Weile dauern. Drei der Kennwörter meines Tests waren in wenigen Minuten geknackt (siehe Abbildung 10.4). Dass das vierte Kennwort nicht geknackt wurde, lag daran, dass es am Ende ein Ausrufezeichen hatte und ich den kleineren alphanumerischen »10k«-Zeichensatz von ophcrack verwendet habe, der Sonderzeichen nicht abfragt. ophcrack kennt aber auch Einstellungsmöglichkeiten, um Sonderzeichen zu testen, was dazu führt, dass auch »kreativere« Kennwörter geknackt werden können.

Abbildung 10.4: Mit ophcrack geknackte Hashes

Es gibt von ophcrack auch eine startfähige Linux-Version (unter http://ophcrack.sourceforge.net/download.php?type=livecd), die es Ihnen ermöglicht, ohne eine Anmeldung oder das Programm installieren zu müssen, Kennwörter zu knacken.

Gegenmaßnahmen

Die beste Maßnahme gegen einen Hacker, der ein Programm zum Zurücksetzen von Kennwörtern verwendet, ist die Verschlüsselung der Festplatten, indem Sie zum Beispiel Sy mantec Encryption (www.symantec.com/products-solutions/families/?fid=encryption) oder WinMagic SecureDoc (www.winmagic.com/products) verwenden.

Auch das Einschalten eines Kennworts im Setup des Computers kann helfen – aber leider nicht wirklich. Alles, was jemand machen muss, ist, das BIOS-Kennwort zurückzusetzen oder einfach nur die Festplatte auszubauen und über eine andere Maschine darauf zuzugreifen. Sie müssen also dafür sorgen, dass niemand unbefugt physischen Zugriff auf den Computer erhält.

Trügerische Sicherheit: die Festplattenverschlüsselung

Das scheint doch nicht schwer zu sein: Sie verschlüsseln Ihre Festplatte und das Thema Sicherheit ist für den Laptop erledigt. In einer vollkommenen Welt wäre das auch so, aber solange es Menschen gibt, bin ich vorsichtig und gehe davon aus, dass es auch zukünftig bei mobilen Geräten Schwachstellen geben wird.

Einige Probleme, die mit der Verschlüsselung von Festplatten zu tun haben, sorgen für ein falsches Bild von Sicherheit:

Wahl des Kennwortes: Die Verschlüsselung einer Festplatte ist nur so sicher wie das Kennwort, das für die Verschlüsselung gewählt wird.

Schlüsselverwaltung: Wenn Benutzer keine Möglichkeit haben, wieder in das System zu gelangen, nachdem sie ihre Kennwörter vergessen oder verloren haben, gilt »Verbranntes Kind scheut das Feuer« und sie unternehmen zukünftig alles, um Festplatten nicht mehr verschlüsseln zu müssen. Und dann gibt es noch Verschlüsselungssoftware wie Microsofts BitLocker, die Benutzern die Möglichkeit gibt (oder sie sogar dazu zwingt), den Schlüssel auf einem USB-Stick abzulegen. Stellen Sie sich jetzt vor, dass Sie einen Laptop verlieren, bei dem sich der Schlüssel zum Königreich direkt in der Laptoptasche befindet ...

Sperren des Bildschirms: Die dritte möglicherweise fatale Schwachstelle, die mit der vollständigen Verschlüsselung der Festplatte zu tun hat, ist die Vergesslichkeit der Mitarbeiter, den Bildschirm zu sperren, wenn sie einen verschlüsselten Laptop allein lassen. Kriminelle benötigen nur Sekunden, um einen Laptop zu klauen und damit vollen Zugriff auf ein Gerät zu erhalten, das »sicher und vollständig verschlüsselt« ist.

Und noch eine abschließende, aber dennoch sehr wichtige Information: Bevor Sie auf den BitLocker-Zug aufspringen, sollten Sie wissen, dass die Verschlüsselung mit BitLocker mit einem Programm von Passware vollständig zunichtegemacht werden kann. Dieses Programm heißt Passware Kit Forensic (www.lostpassword.com/kit-forensic.htm). Gleiches gilt für das ebenfalls kostenlose Verschlüsselungs programm TrueCrypt (www.truecrypt.org). Eine weitere Möglichkeit, verschlüs-selte Festplatten zu knacken, ist Elcomsoft Forensic Disk Decryptor (www.elcomsoft.com/efdd.html).

Telefone und Tablets knacken

Es gibt viele Gründe, warum ich IT-Administratoren und Sicherheitsverantwortliche nicht beneide. Der wichtigste ist die Bring-dein-eigenes-Gerät-mit-Bewegung (BDEGM), die sich heutzutage in Büros immer mehr breitmacht. Bei BDEGM müssen Sie darauf vertrauen, dass die Benutzer gute Sicherheitsentscheidungen fällen, und Sie müssen herausbekommen, wie Sie jedes Gerät, jede Plattform und alle Apps verwalten können. Diese Verwaltungsaufgabe ist eindeutig die größte Herausforderung, um die sich IT-Verantwortliche aktuell kümmern müssen. Und um das alles noch ein wenig komplizierter zu machen, haben Sie es mit kriminellen Elementen zu tun, die ihr Bestes geben, um die Komplexität der Situation auszunutzen. Und leider sieht die Realität so aus, dass die wenigsten dafür sorgen, dass ihre Telefone und Tablets sicher sind.

Viele Hersteller reklamieren für sich, dass ihre Verwaltungslösung für mobile Geräte die Antwort auf die Schwachstellen der Telefone und Tablets sei. Sie haben recht ... bis zu einem gewissen Punkt. Die Verwaltungssoftware sorgt dafür, dass bestimmte persönliche Daten von geschäftlichen Daten getrennt werden, und sie achtet darauf, dass Sicherheitskontrollen immer eingeschaltet sind.

Eine der wirklich guten Dinge, die Sie unternehmen können, um Telefone und Tablets vor unberechtigtem Gebrauch zu schützen, ist die Einbindung eines Werkzeugs, das bis in die Anfänge des Computerwesens zurückreicht: Kennwörter. Ja, Ihre Telefon- und Tabletbenutzer sollten sich der guten alten Kennwörter bedienen, an die sie sich zwar leicht erinnern können, die aber nur schwer zu erraten sind. Kennwörter gehören zu den besten Kontrollinstrumenten, die es gibt.

Für das, was ich in den folgenden Abschnitten zeige, verwende ich ein forensisches Werkzeug. Denken Sie daran, dass Werkzeuge dieser Art normalerweise nur für Strafverfolgungsbehörden und Sicherheitsprofis gedacht sind, aber natürlich auch in den Händen von Bösewichtern landen können. Indem Sie diese Werkzeuge für Ihre eigenen Tests benutzen, können Sie Sicherheitsrisiken klar und deutlich aufzeigen und Wege für bessere mobile Kontrollen beschreiten.

Mobile Apps, und zwar ganz besonders Apps für Android, die über Google Play bezogen werden können und nicht immer sicherheitstechnisch sauber untersucht worden sind, können zu einer Vielzahl von Sicherheitslöchern in Ihrer Umgebung führen. Ich habe bei aktuellen Untersuchungen von Quellcode mit CxDeveloper von Checkmarx (siehe Kapitel 14) herausgefunden, dass diese Apps dieselben Schwächen aufweisen wie herkömmliche Software: SQL-Injection, fest in den Code eingebundene Verschlüsselungsschlüssel und Pufferüberlauf; alles Dinge, die zu einem Offenlegen sensibler Daten führen können. Die Bedrohung durch Malware ist bei Apps nicht ganz so groß.

iOS-Kennwörter knacken

Ich bin bereit, darauf zu wetten, dass viele Kennwörter von Telefonen und Tablets (diese vierstelligen PINs) leicht erraten werden können. Ein mobiles Gerät geht verloren oder wird gestohlen, und alles, was die Person machen muss, bei der das Gerät dann landet, ist, ein paar einfache Kombinationen aus Ziffern auszuprobieren: 1234, 1212 oder 0000. Voilà! – das System ist freigeschaltet.

Viele Telefone und Tablets, auf denen iOS, Android oder BlackBerry OS läuft, sind so eingerichtet, dass der Inhalt des Gerätes gelöscht wird, wenn das falsche Kennwort X-mal (häufig 10 Versuche) eingegeben wurde. Das ist zunächst einmal schon eine vernünftige Sicherheitsmaßnahme. Aber was kann sonst noch unternommen werden? Es gibt nämlich kommerzielle Werkzeuge, die in der Lage sind, einfache Kennwörter/PINs zu knacken und Daten auf gestohlenen oder verloren gegangenen Geräten oder bei einer kriminaltechnischen (forensischen) Untersuchung wiederherzustellen.

Elcomsofts iOS Forensic Toolkit (http://ios.elcomsoft.com) stellt ein Mittel dar, mit dem Sie zeigen können, wie einfach es ist, Kennwörter/PINs auf Telefonen und Tablets zu knacken, die auf iOS basieren. Und so geht das:

1. Verbinden Sie Ihr iPhone/iPad mit Ihrem Testcomputer und versetzen Sie es in den Modus für die Aktualisierung der Firmware.

Um in diesen Modus zu gelangen, schalten Sie das Gerät aus, halten die Home-Taste (unten in der Gerätemitte) und die Taste für den Ruhezustand (oben in der Ecke) ungefähr zehn Sekunden lang gleichzeitig gedrückt. Der Bildschirm des mobilen Gerätes wird leer.

2. Laden Sie das iOS Forensic Toolkit, indem Sie den USB-Dongle in Ihren Testcomputer stecken und toolkit.com eingeben.

Sie sehen einen Bildschirm wie den in Abbildung 10.5.

Abbildung 10.5: Die zentrale Seite von iOS Forensic Toolkit

3. Laden Sie die iOS Forensic Toolkit-Ramdisk auf das mobile Gerät, indem Sie Option 2 LOAD RAMDISK wählen.

Durch das Laden von RAMDISK kann Ihr Computer mit dem mobilen Gerät kommunizieren und die Werkzeuge ablaufen lassen, die benötigt werden, um (unter anderem) das Kennwort zu knacken.

4. Wählen Sie das angeschlossene iOS-Gerät aus (siehe Abbildung 10.6).

Ich habe mich für die Option 14 entschieden, da ich ein iPhone 4 mit GSM besitze,

Abbildung 10.6: Wählen Sie in der Liste das entsprechende Gerät aus.

Sie sehen nun, wie sich das Toolkit mit dem Gerät verbindet und das erfolgreiche Laden bestätigt (siehe Abbildung 10.7). Sie sollten nun in der Mitte Ihres mobilen Gerätes das Logo von Elcomsoft sehen.

Abbildung 10.7: Die Ramdisk von iOS Forensic Toolkit ist erfolgreich geladen worden.

5. Um das Kennwort/die PIN des Gerätes zu knacken, wählen Sie im Hauptmenü Option 6 GET PASSWORD aus.

iOS Forensic Toolkit fordert Sie auf, das Kennwort in einer Datei abzuspeichern. Sie können die Taste [Enter] drücken, um den Standard, passcode.txt, zu akzeptieren. Das Knacken des Kennwortes beginnt und mit etwas Glück wird der Kenncode gefunden und angezeigt (siehe Abbildung 10.8).

Abbildung 10.8: Eine aus vier Zeichen bestehende PIN knacken

Zusammenfassend lässt sich festhalten, dass es schlecht ist, für Telefone und Tablets kein Kennwort zu verwenden, dass aber eine aus vier Zeichen bestehende PIN nicht viel besser ist.

Sie können iOS Forensic Toolkit auch verwenden, um Dateien zu kopieren und sogar die Zeichenketten zu knacken, um das Kennwort zu enthüllen, das die Datensicherung des Gerätes in iTunes schützt (Option 5 GET KEYS).

Außerdem sollten Sie sich Gedanken darüber machen, wie mit Ihren geschäftlichen Daten umgegangen wird, die sich auf einem Telefon oder einem Tablet befinden, wenn das Gerät eines Ihrer Mitarbeiter in eine Aktion der Strafverfolgungsbehörden verwickelt wird. Die folgen zwar ihren Vorschriften, aber welcher Aufwand wird dort wohl betrieben, um Ihre geschäftlichen Daten für längere Zeit sicher aufzubewahren?

Passen Sie beim Synchronisieren Ihrer mobilen Geräte auf und achten Sie darauf, wo deren Datensicherung gespeichert wird. Das kann nämlich irgend-wo im Ungewissen (der Cloud) sein, was bedeutet, dass Sie letztendlich keinen Einfluss darauf haben, wie sicher die persönlichen und die geschäftlichen Daten wirklich sind. Wenn Sie andererseits synchronisierte Daten und Datensicherungen ohne Kennwort oder mit einem schwachen Kennwort auf einem nicht verschlüsselten Laptop ablegen, ist das genauso riskant. So kann zum Beispiel Elcomsofts Phone Password Breaker (http://www.elcomsoft.com/eppb.html) verwendet werden, um Datensicherungen von BlackBerrys oder Apple-Geräten freizuschalten oder Online-Datensicherungen aus der iCloud zurückzuholen.

Eine kommerzielle Alternative, die verwendet werden kann, um auf iOS basierende Kennwörter zu knacken, und die noch weitere Wiederherstellungsfunktionen hat, ist Oxygen Forensic Suite (www.oxygen-forensic.com).

Maßnahmen gegen das Knacken von Kennwörtern

Die erfolgreichste Maßnahme gegen das Knacken von Kennwörtern sind starke Kennwörter wie PINs, die aus fünf und mehr Ziffern bestehen. Am besten wäre es natürlich, wenn Sie kein Kennwort, sondern einen Merksatz wie Ich_1iebe_meinen_j0b als sogenannte Kennphrase verwenden könnten. Sie werden damit höchstwahrscheinlich bei Mitarbeitern und Management auf Ablehnung stoßen, aber ich sehe keine andere Möglichkeit, um Angriffe dieser Art zu verhindern. Wie Sie für Ihre Sicherheitsinitiative Unterstützung bekommen können, behandele ich in Kapitel 19.

Teil IV

Betriebssysteme hacken

In diesem Teil ...

Nachdem Sie nun die Netzwerkebene verlassen haben, ist die Zeit gekommen, sich mit dem Wesentlichen zu beschäftigen – diesen Betriebssystemen, die Sie täglich nutzen und die Sie sowohl lieben als auch hassen. Leider habe ich in diesem Buch nicht genügend Platz, um jede Version eines Betriebssystems oder alle Schwachstellen von Betriebssystemen zu behandeln, aber Sie können sicher sein, dass ich auf alle wichtigen Dinge eingehe – und zwar ganz besonders auf diejenigen, die nicht automatisch von Programmaktualisierungen behoben werden.

Dieser Teil beginnt damit, dass wir uns mit dem am häufigsten verwendeten (und kritisierten) Betriebssystem beschäftigen – Microsoft Windows. Ich zeige Ihnen bis hin zu Windows 8 und Server 2012 einige der besten Wege, diese Betriebssystemfamilie anzugreifen und vor Angriffen zu schützen. Danach wirft dieser Teil einen Blick auf Linux und seine weniger bekannten (aber dennoch vorhandenen) Sicherheitslöcher. Viele der hier behandelten Hacks und Gegenmaßnahmen gelten auch für viele Unix-Varianten.

11

Windows

In diesem Kapitel ...

Ports von Windows-Systemen scannen

Ohne Anmeldung Windows-Daten sammeln

Sich um die Sicherheitsmängel von Windows 8 kümmern

Windows-Schwachstellen ausnutzen

Sicherheitsrisiken bei Windows minimieren

Microsoft Windows ist (mit Versionen wie Windows XP, Windows Server 2012, Windows 7 und der neuesten Geschmacksrichtung, mit der viele erst einmal warm werden müssen, Windows 8) das am häufigsten verwendete Betriebssystem (BS) der Welt. Gleichzeitig ist es auch das BS, das am häufigsten missbraucht wird. Liegt das daran, dass sich Microsoft weniger um Sicherheit kümmert als andere BS-Hersteller? Die Antwort ist kurz und bündig: »Nein.« Natürlich sind – ganz besonders in den Tagen von NT – Sicherheitslöcher übersehen worden, aber in den heutigen Netzwerken tauchen Microsoft-Produkte so häufig auf, dass es am einfachsten ist, sich auf diesen Hersteller zu konzentrieren. Eine der positiven Dinge, die man über Hacker erzählen kann, ist, dass sie dafür sorgen, dass die Sicherheitsanforderungen immer höher geschraubt werden.

Viele Sicherheitslöcher sind nicht neu. Es handelt sich dabei um Varianten der Schwachstellen, die es schon seit Langem in Unix und Linux gibt, wie die bei einem Remote Procedure Call (RPC, dem Aufrufen einer fernen Prozedur), die der Blaster-Wurm ausgenutzt hat. Die meisten Angriffe auf Windows können verhindert werden, indem alle Programmaktualisierungen sauber aufgespielt werden. Der wahre Grund dafür, dass Angriffe auf Windows so oft erfolgreich sind, muss häufig bei einem schlechten Sicherheitsmanagement gesucht werden.

Auf ein auf Windows basierendes System sind zusätzlich zu den Angriffen auf Kennwörter, die ich in Kapitel 7 behandele, noch viele andere Angriffsarten möglich. Sie können aus Windows einfach dadurch Unmengen von Informationen herausholen, dass Sie sich über ein Netzwerk mit dem System verbinden und die entsprechenden Werkzeuge verwenden. Viele dieser Tests verlangen noch nicht einmal, dass Sie sich am fernen System authentifizieren. Alles, was jemand mit böswilligen Absichten machen muss, ist, einen Computer mit einer Standardkonfiguration zu finden, der nicht über eine eigene Firewall verfügt und nicht von den neuesten Sicherheitsaktualisierungen geschützt wird.

Wenn Sie anfangen, in Ihrem Netzwerk herumzustochern, werden Sie höchstwahrscheinlich davon überrascht sein, wie viele Windows-Computer Sicherheitslöcher aufweisen. Und Ihre Überraschung wird noch größer sein, wenn Sie erkennen, wie einfach es ist, diese Schwachstellen auszunutzen und Windows aus der Ferne mithilfe von Werkzeugen wie Metasploit vollständig zu kontrollieren. Wenn Sie sich dann mit einem Windows-System verbunden und einen Benutzernamen mit dem passenden Kennwort erwischt haben (indem Sie beide kennen oder mit einer der Methoden zum Knacken von Kennwörtern herausbekommen haben, die ich in Kapitel 7 oder im weiteren Verlauf dieses Kapitels hier beschreibe), können Sie tiefer graben.

Dieses Kapitel zeigt Ihnen, wie Sie einige der wichtigsten Angriffsarten auf Windows testen, und führt die entsprechenden Gegenmaßnahmen auf, um Ihre Systeme sicher zu machen.

Windows-Schwachstellen

Da Windows einfach zu bedienen ist, es über einen für Unternehmen vorbereiteten Dienst mit dem Namen Active Directory verfügt und es die mit vielen Funktionen versehene Entwicklungsplattform .NET gibt, haben sich viele Organisationen entschlossen, für ihre Netzwerke und Computer auf die Microsoft-Plattform zu setzen. Viele Unternehmen – insbesondere die kleineren und mittleren – verlassen sich ganz besonders dann auf das Windows-BS, wenn es um Netzwerke geht. Bei vielen der größeren Organisationen laufen wichtige Server wie Webserver und Datenbankserver unter Windows. Wenn sich dann niemand um die Schwachstellen kümmert, können Sie ein Netzwerk oder eine komplette Organisation in die Knie zwingen.

Wenn Windows und andere Microsoft-Software angegriffen werden – insbesondere über durch das Internet weitverbreitete Würmer und Viren –, sind Hunderttausende von Unternehmen und Millionen von Benutzern betroffen.

Werkzeuge wählen

Es gibt Hunderte von Werkzeugen, um Windows anzugreifen und zu testen. Das Problem ist eigentlich nur, den Werkzeugsatz zu finden, der genau das macht, was Sie gerade wollen.

Viele Sicherheitswerkzeuge – zu denen auch einige gehören, die in diesem Kapitel vorgestellt werden – arbeiten nur mit bestimmten Windows-Versionen zusammen. Die aktuellsten Versionen dieser Werkzeuge sind mit Windows XP und Windows 7/Windows 8 kompatibel – was aber eben nicht generell gilt.

Je mehr Sicherheitswerkzeuge und Anwendungen für erfahrene Anwender – insbesondere Programme, die sich in Netzwerktreiber und TCP/IP-Stapel einklinken – Sie unter Windows installieren, desto instabiler wird das System. Ich meine hier ein schlechtes Leistungsverhalten, Blue Screens und eine generelle Absturzgefahr. Unglücklicherweise bleibt Ihnen dann häufig nur ein Weg offen: Windows und alle Anwendungen müssen neu installiert werden. Nachdem ich das mit meinem Laptop alle paar Monate machen durfte, bin ich klug geworden und habe mir eine VMware-Workstation-Lizenz und einen Computer gekauft, den ich mit Testwerkzeugen vollstopfen kann, ohne dass ich mir ständig Gedanken darüber machen muss, wie ich meine übrige Arbeit erledigt bekomme, weil wieder einmal alles abgestürzt ist.

Kostenlose Microsoft-Werkzeuge

Sie können die folgenden kostenlosen Microsoft-Werkzeuge verwenden, um Ihre Systeme auf die unterschiedlichsten Schwachstellen zu testen:

Vorhandene Windows-Programme für NetBIOS und TCP/UDP, zum Beispiel:

• nbtstat, um Informationen der NetBIOS-Namentabelle zu erhalten

• netstat, um Informationen über im lokalen Windows-System geöffnete Ports zu er halten

• net, um verschiedene Netzwerkbefehle ablaufen zu lassen, zu denen auch die Anzeige von Freigaben auf fernen Windows-Systemen und das Hinzufügen von Benutzern gehört, nachdem Sie mit Metasploit einen Zugriff auf die ferne Befehlseingabe erhalten haben

Microsoft Baseline Security Analyzer (MBSA ) (http://technet.microsoft.com/de-de/security/cc184923.aspx) zum Testen auf fehlende Programmaktualisierungen und grundsätzliche Windows-Sicher heits ein stellungen

Sysinternals (http://technet.microsoft.com/de-de/sysinternals/default.aspx) zum Graben, Wühlen und zum Beobachten der Dienste, Prozesse und Ressourcen von Windows, sowohl lokal als auch über das Netzwerk

Komplettlösungen

Komplettlösungen führen umfassende Sicherheitstests wie die folgenden durch:

Scannen von Ports

BS-Fingerprinting
grundlegendes Knacken von Kennwörtern
detaillierte Hinweise auf die verschiedenen sicherheitstechnischen Schwachstellen, die die Werkzeuge auf Ihren Windows-Systemen finden

Bei meiner Arbeit liefern diese Werkzeuge sehr gute Ergebnisse:

GFI LanGuard (www.gfi.com/network-security-vulnerability-scanner)

QualysGuard (www.qualys.com)

Es ist einfach, den Cloud-Dienst der Qualys-Anwendung zu nutzen. Melden Sie sich einfach auf der Oberfläche an, geben Sie die IP-Adresse ein, die Sie untersuchen wollen, und sagen Sie dem Dienst, dass er loslegen soll. Der Dienst führt sehr detaillierte und genaue Tests durch – und ist mein Favorit, wenn es um das Testen von Schwachstellen bei Betriebssystemen und Netzwerken geht. Ein anderer Scanner, von dem ich Gutes gehört habe, ist Nexpose von Rapid7 (www.rapid7.com/vulnerability-scanner.jsp).

Aufgabenspezifische Werkzeuge

Die folgenden Werkzeuge erledigen eine oder zwei spezielle Aufgaben. Sie sorgen für eine detaillierte Sicherheitsüberprüfung Ihrer Windows-Systeme und für Einsichten, die Sie von Komplettlösungen nicht erhielten:

Metasploit (www.metasploit.com), um Schwachstellen auszunutzen, die Werkzeuge wie QualysGuard und Nexpose als Möglichkeit entdeckt haben, um Zugriff auf die Befehlseingabe eines fernen Computer zu erhalten

NetScanTools Pro (www.netscantools.com) für das Scannen von TCP-Ports, Ping Sweeps und das Auflisten von Freigaben

ShareEnum (http://technet.microsoft.com/de-de/sysinternals/bb897442.aspx) für das Auflisten von Freigaben

TCPView (http://technet.microsoft.com/de-de/sysinternals/bb897437.aspx), um Informationen über TCP- und UDP-Sitzungen zu erhalten

Winfo (www.ntsecurity.nu/toolbox/winfo), um Null-Sessions-Konfigurations informationen wie Sicherheitsrichtlinien, lokale Benutzerkonten und Freigaben zu erhalten

Windows XP SP2 und spätere Versionen und Windows Server 2003 SP1 und spätere Versionen besitzen eine neue »undokumentierte« Funktion, die die Scangeschwindigkeit im Netzwerk begrenzen kann (und auch begrenzt): Es können gleichzeitig nur zehn halb geöffnete TCP-Verbindungen aufgebaut werden. Wenn Sie glauben, dass auch Ihr System davon betroffen ist, schauen Sie sich einmal das Werkzeug Event ID 4226 Patcher (www.lvllord.de) an. Hier gibt es einen Hack, der auf dem Windows-TCP/IP-Stapel läuft und es Ihnen ermöglicht, die Einstellungen für halb geöffnete Verbindungen auf einen höheren Wert zu setzen. Standardmäßig sollten Sie ihn in 50 ändern, was dann zu einem vernünftigen Ergebnis zu führen scheint.

Seien Sie darauf gefasst, dass Microsoft diesen Hack nicht unterstützt, aber ich selbst habe nie Probleme damit gehabt. Auch das Deaktivieren der Windows-Firewall (oder der Firewall eines Drittanbieters) kann helfen, die Dinge zu beschleunigen. Testen Sie möglichst auf einem ausschließlich dafür vorgesehenen System oder einer virtuellen Maschine, denn dadurch minimieren Sie den Einfluss, den die Tests auf die anderen Arbeiten haben können, die Sie mit dem Computer zu erledigen haben.

Informationen über die Schwachstellen Ihres Windows-Systems sammeln

Wenn Sie eine Prüfung auf Schwachstellen bei Windows durchführen, beginnen Sie mit einer Untersuchung Ihrer Computer, um das zu sehen, was auch Angreifer sehen können.

Die Exploits dieses Kapitels laufen innerhalb einer Firewall. Wenn ich nicht ausdrücklich darauf hinweise, können alle Tests dieses Kapitels mit allen Versionen von Windows ausgeführt werden. Diese Angriffe sind wichtig genug, um sie unabhängig von Ihrer Installation durchzuführen. Ihre Ergebnisse können sich von meinen unterscheiden, weil sie versionsabhängig sind.

Das System untersuchen

Ein paar unkomplizierte Vorgehensweisen können Schwachstellen von Windows-Systemen aufzeigen.

Testen

Beginnen Sie mit dem Sammeln von Informationen über Ihre Windows-Systeme, indem Sie einen ersten Portscan starten:

1. Lassen Sie grundlegende Scans ablaufen, um herauszufinden, welche Ports auf den einzelnen Windows-Systemen offen sind:

Suchen Sie mit einem Portscanner wie NetScanTools Pro nach TCP-Ports. Die Ergebnisse, die NetScanTools Pro in Abbildung 11.1 liefert, zeigen verschiedene möglicherweise angreifbare offene Ports eines Windows-7-Systems. Zu diesen Ports gehören unter anderem die Ports für DNS (UDP-Port 53), für NetBIOS (Port 139) und für SQL Server (UDP-Port 1434).

Abbildung 11.1: Ports auf einem Windows-7-System mit NetScanTools Pro scannen

2. Lassen Sie das BS analysieren (suchen Sie zum Beispiel nach Freigaben und bestimmten BS-Versionen), indem Sie eine Komplettlösung wie LanGuard verwenden.

Abbildung 11.2 zeigt einen LanGuard-Scan, der die Serverversion, Schwachstellen, offene Ports und mehr offenlegt.

Abbildung 11.2: Einzelheiten über Schwachstellen eines Windows-2000-Servers mit LanGuard erhalten

Wenn Sie sehr schnell die Version eines bestimmten laufenden Windows-Systems wissen müssen, können Sie Nmap (http://nmap.org/download.html) mit den Para metern aus Abbildung 11.3 verwenden.

Abbildung 11.3: Finden Sie mit Nmap die Windows-Version heraus.

3. Finden Sie weitere mögliche Sicherheitslöcher heraus.

Hier müssen Sie selbst tätig werden und Ihre Vorgehensweise unterscheidet sich von System zu System. Sie sollten sich aber um interessante Dienste und Anwendungen kümmern und von dort aus weitermachen.

Maßnahmen gegen das Scannen des Systems

Sie können einen externen Angreifer oder einen böswilligen internen Benutzer daran hindern, bestimmte Informationen über Ihr System einzusammeln, indem Sie alle Sicherheitseinstellungen im Netzwerk und auf den Hosts sauber vornehmen. Außerdem stehen Ihnen diese Möglichkeiten zur Verfügung:

Verwenden Sie eine Netzwerk-Firewall oder eine Firewall für Webanwendungen.

Verwenden Sie auf jedem System die Windows Firewall oder eine Firewall-Software eines Drittanbieters. Sie sollten die Windows-Netzwerk-Ports für RPC (Port 135) und NetBIOS (Ports 137–139 und 445) blockieren.

Deaktivieren Sie überflüssige Dienste, damit sie nicht erscheinen, wenn eine Verbindung hergestellt wurde.

NetBIOS

Sie können an Windows-Informationen gelangen, indem Sie sich mit Funktionen und Programmen von NetBIOS (Network Basic Input/Output System) umsehen. NetBIOS erlaubt es Programmen, Netzwerkaufrufe abzusetzen und mit anderen Hosts eines LANs zu kommunizieren.

Die NetBIOS-Ports von Windows können missbraucht werden, wenn sie nicht sauber gesichert werden:

UDP-Ports für das Durchsuchen des Netzwerks:

• Port 137 (NetBIOS-Namendienste)

• Port 138 (NetBIOS-Datagram-Dienste)

TCP-Ports für Server Message Block (SMB, auch als LAN-Manager- oder NetBIOS-Protokoll bekannt):

• Port 139 (NetBIOS-Sitzungsdienste)

• Port 445 (SMB über TCP/IP ohne NetBIOS)

Hacks

Die Hacks, die in den nächsten beiden Abschnitten beschrieben werden, können auf ungeschützten Systemen nachvollzogen werden, auf denen NetBIOS läuft.

Daten ohne Authentifizierung sammeln

Wenn Sie eine nicht authentifizierte Datensammlung als Test durchführen, können Sie auf zwei Wegen an die Konfigurationseinstellungen eines lokalen oder fernen Systems gelangen:

Verwenden Sie zum Scannen Komplettlösungen wie LanGuard oder QualysGuard.

Verwenden Sie das Programm nbtstat, das Bestandteil von Windows ist (nbtsstat steht für NetBIOS over TCP/IP Statistics).

Abbildung 11.4 zeigt Informationen, die Sie über eine einfache nbtstat-Abfrage von einem System mit Windows 7 erhalten können.

Abbildung 11.4: Mit nbtstat Informationen über ein Windows-7-System einholen

Nbtstat zeigt die NetBIOS-Namentabelle des fernen (remoten) Computers an, die Sie er halten, wenn Sie den Befehl nbtstat -a computername oder nbtstat -A ip-adresse eingeben. Daraufhin werden diese Informationen angezeigt:

Computername

Domänenname

MAC-Adresse des Computers

Wenn Sie nbtstat gegen einen älteren Windows-2000-Server laufen lassen, könnten Sie sogar die Kennung des Benutzers erhalten, der gerade dort angemeldet ist.

Sie benötigen nicht unbedingt ein fortschrittlicheres Programm wie Lan Guard, um an diese grundlegenden Informationen über ein Windows-System zu gelangen, aber die grafische Oberfläche der kommerziellen Software präsentiert das, was sie findet, viel netter, und es ist oft auch viel einfacher, diese Programme anzuwenden. Zusätzlich erhalten Sie den Vorteil, dass Sie die benötigten Daten mit einem einzigen Werkzeug einsammeln können.

Freigaben

Windows verwendet Freigaben, um bestimmte Ordner oder Laufwerke eines Systems freizugeben (oder zu teilen, wie es unter Windows 8 heißt), damit andere Benutzer über das Netzwerk darauf zugreifen können. Freigaben sind leicht einzurichten und funktionieren sehr gut. Aber oft sind sie falsch konfiguriert worden, was es Hackern und anderen nicht berechtigten Personen ermöglicht, auf Daten zuzugreifen, die eigentlich für sie gesperrt sein sollten. Sie können nach Windows-Freigaben suchen, indem Sie das Werkzeug Share Finder verwenden, das Bestandteil von LanGuard ist. (Share ist die englische Bezeichnung für Freigabe.) Dieses Werkzeug durchsucht einen Bereich von IP-Adressen und hält nach Freigaben Ausschau (siehe Abbildung 11.5).

Abbildung 11.5: Durchsuchen Sie mit LanGuard Ihr Netzwerk nach Freigaben.

Die Freigaben in Abbildung 11.5 sind genau das, wonach böswillige Insider suchen, weil die Freigabenamen einen Hinweis darauf geben, was für eine Art von Daten dort zu finden ist, wenn eine Verbindung zur Freigabe hergestellt wird. Wenn Angreifer erst einmal die Freigabenamen haben, können sie ein wenig tiefer graben und versuchen, die Dateien in den Freigaben zu durchsuchen. Ich behandele Freigaben und das Aufstöbern sensibler Daten auf Netzwerkfreigaben und anderen Speichergeräten in Kapitel 15.

Maßnahmen gegen Angriffe über NetBIOS

Sie können die folgenden sicherheitstechnischen Gegenmaßnahmen einrichten, um die Erfolgsaussichten von Angriffen über NetBIOS oder NetBIOS über TCP/IP auf Ihre Windows-Systeme zu minimieren:

Verwenden Sie eine Firewall.

Verwenden Sie Windows Firewall oder eine andere lokale Firewall eines Drittanbieters.

Deaktivieren Sie NetBIOS – zumindest aber die Datei- und Druckerfreigabe von Windows.

Das Deaktivieren von NetBIOS lässt sich in älteren Systemen mit Windows 2000 und NT nicht realisieren, wenn dort mit Datei- und Druckerfreigaben über NetBIOS gearbeitet wird.

Nicht sichtbare Freigaben – das sind die mit einem an das Namensende gehängten Dollarzeichen ($) – sind nicht wirklich unsichtbar. Jedes der Werkzeuge, die ich erwähnt habe, sucht auch nach dieser Art von »Sicherheit« und deckt sie auf. Meist erreichen Sie über eine solche Namensgebung nur, dass jemand, der darauf stößt, nur noch neugieriger wird.

Null Sessions entdecken

Eine gut bekannte Schwachstelle von Windows ist die Möglichkeit, einer verborgenen Freigabe mit dem Namen IPC$ (für Interprocess Communication) eine anonyme Verbindung (oder Null Session) zuzuordnen. Diese Angriffsmethode kann verwendet werden, um Folgendes zu erreichen:

Einsammeln von Informationen über die Konfiguration eines Windows-Hosts (zum Beispiel Benutzer-IDs und Freigabenamen)

Bearbeiten der Registrierungsdatenbank des fernen Computers

Auch wenn Windows Server 2008, Windows XP, Windows 7 und Windows 8 standardmäßig Verbindungen über Null Sessions nicht zulassen, erlaubt dies Windows-2000-Server – von dem noch viele aktiv sind.

Zuordnung, auch Mapping genannt

Folgen Sie den folgenden Schritten auf jedem Computer, dem Sie eine Null Session zuordnen wollen:

1. Geben Sie den Befehl net wie folgt ein:

net use \\host-name_oder_ip-adresse\ipc$ "" "/user:"

Der Befehl net benötigt diese Parameter, um Null Sessions zuzuordnen:

• net (der zu Windows gehörende Netzwerk-Befehl), dem die Anweisung use folgt

• die IP-Adresse oder der Hostname des Systems, dem Sie die Null Session zuordnen wollen

• ein leeres Kennwort und ein leerer Benutzername

Diese leeren Elemente sind der Grund dafür, warum es Null Session heißt.

2. Drücken Sie die Taste , um die Verbindung herzustellen.

Abbildung 11.6 zeigt den vollständigen Befehl. Wenn Sie die Null Session erfolgreich zugeordnet haben, sollten Sie die Meldung Der Befehl wurde erfolgreich ausgeführt sehen.

Abbildung 11.6: Einem verwundbaren Windows-System eine Null Session zuordnen

Um eine Bestätigung dafür zu erhalten, dass die Sitzung (das bedeutet Session auf Deutsch) zugeordnet worden ist, geben Sie auf der Befehlszeile diese Anweisung ein:

net use

Wie Abbildung 11.6 ebenfalls zeigt, sehen Sie die Zuordnung(en) zur IPC$-Freigabe aller Computer, mit denen Sie verbunden sind (in unserem Beispiel ist es nur eine Zuordnung).

Informationen sammeln

Sie können nun mit der Null-Session-Verbindung andere Werkzeuge einsetzen, um wichtige Informationen über das ferne Windows-System einzusammeln, und Sie können – wie ein Hacker – das nehmen, was diese Programme ausgeben und (als nicht berechtigter Benutzer) Folgendes versuchen:

Die Kennwörter der gefundenen Benutzer knacken. (Wie so etwas geht, wird in Kapitel 7 beschrieben.)

Den Netzwerkfreigaben Laufwerke zuordnen.

Sie können die folgenden Anwendungen verwenden, um ein System auszulesen. Einige dieser Werkzeuge sind auf bestimmte Windows-Versionen beschränkt, die – ständig aktualisiert – auf den Websites der Anbieter aufgeführt werden.

net view

Der Befehl net view (siehe Abbildung 11.7) zeigt Freigaben an, die es auf einem Windows-Host gibt. Sie können die Ausgabe dieses Programms nutzen, um an die Informationen zu gelangen, die eine Maschine in die Welt hinausposaunt:

Freigabeinformationen, die Hacker verwenden können, um Ihre Systeme anzugreifen

Freigabeberechtigungen, die eventuell entfernt werden müssen (zum Beispiel die Berechtigung für die Gruppe JEDER)

Abbildung 11.7: netview zeigt Freigaben eines fernen Windows-Systems an.

Konfiguration und Benutzerdaten

Winfo (www.ntsecurity.nu/toolbox/winfo) und DumpSec (www.systemtools.com/somarsoft/index.html) können nützliche Informationen über Benutzer und Konfigurationen sammeln. Hierzu gehören:

die Windows-Domäne, zu der das System gehört

Einstellungen der Sicherheitsrichtlinien
lokale Benutzernamen
freigegebene Laufwerke

Für welches dieser beiden Programme Sie sich entscheiden, hängt davon ab, ob Sie lieber eine grafische Oberfläche (DumpSec) benutzen oder es vorziehen, auf der Befehlszeile zu arbeiten (Winfo):

Da Winfo ein Werkzeug für die Befehlszeile ist, können Sie Stapelverarbeitungsdateien (Skripte) erstellen, die die Vorgänge automatisieren.

Standardinstallationen von Windows Server 2003, Windows XP, Windows 7 oder Windows 8 liefern keine Informationen.

NetUsers

Das Werkzeug NetUsers (www.systemtools.com/free.htm) kann zeigen, wer auf einem fernen Windows-Computer angemeldet ist. Sie können unter anderem diese Informationen erhalten:

falsch gesetzte Benutzerrechte
aktuell am System angemeldete Benutzer

Abbildung 11.8 dokumentiert den Verlauf lokaler Anmeldungen an einer fernen Windows-Arbeitsstation.

Abbildung 11.8: Das Werkzeug NetUsers

Diese Informationen können bei einem Systemtest helfen herauszufinden, wer gerade angemeldet ist. Unglücklicherweise können diese Informationen aber auch für Hacker nützlich sein, wenn diese herausfinden wollen, welche gültigen Benutzer-IDs es gibt. Außerdem lassen sich über Benutzernamen Rückschlüsse auf das bilden, wofür das System gedacht ist, wenn die Namen beschreibend sind (zum Beispiel backup für einen Sicherungsserver oder entw für eine Entwicklermaschine).

Maßnahmen gegen Null-Session-Hacks

Aktualisieren Sie auf die sichereren Windows-Versionen Windows Server 2012 oder Win-dows 7/Windows 8. Diese weisen viele der beschriebenen Schwachstellen nicht mehr auf.

Hacks über Null-Session-Verbindungen lassen sich leicht verhindern, indem Sie eine oder mehrere dieser Sicherheitsmaßnahmen ergreifen:

Blockieren Sie auf Ihrem Windows-Server NetBIOS, indem Sie verhindern, dass diese TCP-Ports auf der Firewall Verkehr durchlassen:

• 139 (NetBIOS-Sitzungsdienste)

• 445 (für SMB über TCP ohne NetBIOS)

Deaktivieren Sie auf der Registerkarte EIGENSCHAFTEN der Netzwerkverbindungen die Microsoft-Datei- und Druckerfreigabe für Systeme, auf denen dieser Dienst nicht benötigt wird.

Hohe sicherheitstechnische Hürden können Domänencontrollern Probleme bei der Kommunikation und dem Browsen im Netzwerk bereiten.

Artikel 246261 der Microsoft Knowledge Base behandelt die Vorbehalte gegen die Verwendung hoher Sicherheitshürden für RestrictAnonymous. Sie finden diesen Artikel unter http://support.microsoft.com/default.aspx?scid=KB;de-de;246261.

Sorgen Sie bei jüngeren Windows-Versionen wie Windows Server 2008 R2 und Windows 7 dafür, dass in den lokalen Sicherheitsrichtlinien oder in den Gruppenrichtlinien die anonymen Netzwerkzugriffe wie in Abbildung 11.9 eingestellt sind.

Abbildung 11.9: Die standardmäßigen Sicherheitsrichtlinien von Windows 7 schränken Null Sessions stark ein.

Freigabeberechtigungen überprüfen

Bei Windows-Freigaben handelt es sich um Laufwerke, die im Netzwerk angezeigt werden, wenn Benutzer das Netzwerk durchsuchen. Windows-Freigaben sind häufig falsch konfiguriert und erlauben dadurch auch Personen den Zugriff, die ihn eigentlich nicht erhalten sollten. Schon jemand, der zufällig darauf stößt, kann eine solche Schwachstelle ausnutzen, während ein böswilliger Insider, der sich bewusst unberechtigt Zugang zu einer solchen Freigabe verschafft, ernsthafte Schäden am Windows-System anrichten und vertrauliche Informationen herunterladen kann.

Windows-Standards

Die Standardberechtigungen für Freigaben hängen vom verwendeten Windows-System ab. Unter Windows NT und Windows 2000 waren Freigaben standardmäßig wie offene Scheunentore: Jeder Besucher konnte eigentlich schreiben und lesen, was er wollte. Dieser Zustand hat sich mit Windows XP geändert. Bei diesem und den jüngeren Betriebssystemen (Windows Server 2008 R2, Windows 7 und so weiter) erhält die Gruppe JEDER standardmäßig nur lesenden Zugriff auf Freigaben. Das ist gegenüber den früheren Windows-Versionen ein echter Fortschritt, aber es gibt immer wieder Situationen, in denen Sie nicht möchten, dass die Gruppe JEDER überhaupt Zugriff auf eine Freigabe hat.

Freigabeberechtigungen unterscheiden sich von Dateiberechtigungen. Wenn Sie eine Freigabe erstellen, müssen Sie beide Berechtigungen festlegen. In den aktuellen Versionen von Windows erschwert dies das Anlegen von Freigaben, aber so etwas ist nicht narrensicher. Solange Sie die Windows-Desktops nicht vollständig dicht gemacht haben, kann jeder Benutzer so viele Freigaben an-legen, wie er will.

Testen

Das Überprüfen der Freigabeberechtigungen ist ein guter Weg, um einen allgemeinen Überblick darüber zu erhalten, wer auf was zugreifen kann. Diese Tests zeigen, wie angreifbar Ihre Netzwerkfreigaben – und damit sensible Daten – sind. Sie können nach Freigaben suchen, bei denen es Standardberechtigungen und überflüssige Zugriffsrechte gibt. Glauben Sie mir, so etwas finden Sie immer!

Die beste Art, auf Schwachstellen bei Freigaben zu testen, sieht so aus, dass Sie sich als Standard- oder als Domänenbenutzer ohne besondere Rechte am Windows-System anmelden und ein Auswertungsprogramm ablaufen lassen, um herauszubekommen, wer was darf.

LanGuard enthält ein Werkzeug zum Auffinden von ungeschützten Freigaben (siehe Abbildung 11.10).

Abbildung 11.10: Finden Sie mit LanGuard Windows-Freigaben.

Die Gruppe EVERYONE (Jeder) hat volle Freigabe- und Dateiberechtigungen auf die Freigabe LifeandHealth des Hosts THINKPAD. Ich stoße immer wieder auf Situationen wie diese, bei denen jemand ein lokales Laufwerk freigibt, damit andere darauf zugreifen können. Das Problem ist nun, dass häufig vergessen wird, Berechtigungen wieder zu entfernen, was für ein Riesensicherheitsloch sorgt. Ich zeige in Kapitel 15, wie sensible Informationen in strukturlos abgelegten Dateien auf Freigaben und an anderen Speicherorten offengelegt werden können.

Fehlende sicherheitstechnische Programmaktualisierungen ausnutzen

Es ist eine Sache, so lange in Windows herumzustochern, bis Schwachstellen gefunden werden, die vielleicht zu etwas nütze sind – zum Beispiel für einen Zugriff auf das System. Es ist aber etwas ganz anderes, über eine Schwachstelle zu stolpern, die Sie mit einem vollen Zugriff auf das System versorgt – und das alles innerhalb von zehn Minuten. Heutzutage müssen Sie sich keine Gedanken mehr darüber machen, »irgendeinen Code« auf einem System ablaufen zu lassen, der Sie zu einer Schwachstelle führen könnte, wenn es Werk zeuge wie Metasploit gibt, denen eine fehlende sicherheitstechnische Programmaktualisierung (so etwas wird auch Patch genannt) ausreicht, um ihr Ziel zu erreichen und Zugriff auf ein System zu erhalten.

Selbst in den am strengsten reglementierten Umgebungen, mit denen ich es zu tun hatte, gab es immer Windows-Systeme, auf denen sicherheitstechnische Programmaktualisierungen (die Patches) fehlten.

Bevor Sie Schwachstellen mit Metasploit »angreifen«, sollten Sie daran denken, dass Sie sich nicht nur auf ein heikles Gebiet begeben, sondern dass Sie das System, das Sie testen, auch in einen Zustand versetzen können, in dem es sich aufhängt und neu gestartet werden muss.

Bevor Sie fehlende Patches oder damit zusammenhängende Schwachstellen ausnutzen können, müssen Sie herausfinden, ob es überhaupt etwas gibt, das ausgenutzt werden kann. Das geht am besten mit einem Werkzeug wie QualysGuard oder LanGuard. Ich habe die Erfahrung gemacht, dass QualysGuard sehr gut darin ist, in einem Netzwerk Schwachstellen dieser Art selbst als nicht berechtigter Benutzer aufzuspüren. Abbildung 11.11 zeigt das Ergebnis einer Untersuchung eines Windows-Serversystems mit QualysGuard. Dieses System weist eine hässliche Schwachstelle auf, die damit zu tun hat, dass aus der Ferne Code über Windows Plug and Play ausgeführt werden kann.

Abbildung 11.11: Eine von QualysGuard gefundene, ausnutzbare Schwachstelle (englisch »Vulnerability«)

Windows 8 und Sicherheit

Bei all den Schwachstellen, die Windows aufweist, könnten Sie geneigt sein, abzuspringen und zu Linux zu wechseln. Nun, nicht so schnell. Microsoft hat schon bei Windows 7 große Fortschritte gemacht, was das Thema Sicherheit angeht. Auch wenn Windows Vista, wie Windows Me, viel Spott ertragen musste und bei Microsoft Kratzer hinterlassen hat, so legte es doch den Grundstein für das, was heute das viel sicherere Windows 8 ausmacht.

Windows 7 hat sich als ziemlich stabil erwiesen und Microsoft hat in Windows 8 weitere Verbesserungen wie diese hier eingebaut:

Einbindung eines sicheren Startvorgangs über das Unified Extensible Firmware Interface (UEFI; deutsch Vereinheitlichte erweiterbare Firmware-Schnittstelle), um das System auf der unteren Ebene vor Malware zu schützen
stärkere Kontrollen in Internet Explorer, zum Beispiel AppContainer, über die Webanwendungen in sicheren, abgeschotteten Bereichen laufen (solche Bereiche werden in diesem Zusammenhang auch Sandbox genannt)

neue Kennwortmechanismen über Kennwortbilder und PINs, die zu einem stabileren und benutzerfreundlicheren Authentifizierungsmechanismus führen sollen
viele Erweiterungen in Internet Explorer für die Wahrung der Privatsphäre und Sicherheitsaktualisierungen

Und dann erlaubt Windows 8 ein erneutes Laden des Betriebssystems, ohne dass Sie irgendwelche Daten verlieren. Darüber hinaus ist das BS auch noch schneller. Beides sind natürlich Punkte, die Leute begeistern, die Sicherheitstests durchführen.

Ich habe verschiedene Scans und Angriffe gegen Windows 8 durchgeführt und dabei herausgefunden, dass die Standardinstallation richtig sicher ist. Bedeutet dies nun, dass Windows 8 immun gegen Angriffe und Missbrauch ist? Natürlich nicht. So lange der menschliche Faktor an der Entwicklung von Software, der Administration von Netzwerken und als Endbenutzer beteiligt ist, machen Menschen Fehler, die Windows für die »bösen Buben« öffnen und es diesen ermöglichen, herumzuschnüffeln und ihre Angriffe vorzutragen. Außerdem gilt weiterhin, dass mobile Windows-8-Systeme, die gestohlen werden oder verloren gehen, nicht vor den Angriffen auf Kennwörter gefeit sind, die ich in den Kapiteln 7 und 10 beschreibe.

Metasploit verwenden

Wenn Sie Schwachstellen gefunden haben, sieht der nächste Schritt so aus, dass Sie sie ausnutzen. Ich verwende in diesem Beispiel Metasploit (ein Open-Source-Werkzeug von Rapid7) und erhalte remote auf dem Server mit den Schwachstellen ein Fenster mit einer Befehlszeile. Das geht so:

1. Laden Sie Metasploit unter www.metasploit.com/download herunter und installieren Sie das Programm.

Ich habe die Windows-Version gewählt und dann die ausführbare Datei gestartet. Die Abbildungen zeigen die zum Zeitpunkt der Übersetzung dieses Buches aktuelle Version 4.6.

2. Wenn die Installation abgeschlossen worden ist, starten Sie die grafische Oberfläche (so etwas wird auch als GUI, Graphical User Interface, bezeichnet) von Metasploit, die die zentrale Arbeitsumgebung bildet und von jetzt an als MSFGUI bezeichnet wird.

Es gibt auch eine webbasierende Version von Metasploit, auf die Sie über Ihren Browser zugreifen können (Metasploit Web), aber ich ziehe es vor, mit der GUI zu arbeiten. Sie sehen einen Bildschirm wie den in Abbildung 11.12.

Abbildung 11.12: Die zentrale Arbeitsumgebung von Metasploit

3. Öffnen Sie das Menü EXPLOITS und wählen Sie das Zielbetriebssystem aus, das hier WINDOWS ist, um zu sehen, welche Exploits es gibt, die Sie ablaufen lassen können (siehe Abbildung 11.13).

Sie können nun die Schwachstelle auswählen, um die Sie sich genauer kümmern wollen.

Abbildung 11.13: Suchen Sie nach dem richtigen Exploit.

4. Wenn Sie das Exploit gefunden haben, das Sie gegen Ihr Zielsystem ablaufen lassen wollen, klicken Sie es einfach doppelt an und folgen Sie den Schritten, wobei Sie mit der Auswahl des entsprechenden Betriebssystems beginnen (siehe Abbildung 11.14). Klicken Sie auf die Schaltfläche FORWARD.

Wenn AUTOMATIC TARGETING vorhanden ist, wählen Sie es aus; anderenfalls versuchen Sie zu erraten, um welche Windows-Version es geht. Klicken Sie auf die Schaltfläche FORWARD.

Abbildung 11.14: Markieren Sie das Zielbetriebssystem.

5. Markieren Sie den Payload (den speziellen Hack, wobei Payload in diesem Fall ruhig mit Sprengsatz übersetzt werden kann), den Sie an das Zielsystem senden wollen, und klicken Sie auf die Schaltfläche FORWARD.

Wie Abbildung 11.15 zeigt, habe ich mich – wie üblich – für WINDOWS/SHELL/REVERSE_TCP entschieden.

Abbildung 11.15: Laden Sie einen Payload, der an das auszuspähende System gesendet werden soll.

5. Geben Sie im Feld RHOST die IP-Adresse des Zielsystems ein und bestätigen Sie, dass es sich bei der IP-Adresse im Feld LHOST um die Adresse Ihres Testsystems handelt (siehe Abbildung 11.16). Klicken Sie auf die Schaltfläche FORWARD.

Abbildung 11.16: Die benötigten IP-Adressen eingeben

7. Bestätigen Sie auf dem letzten Bildschirm Ihre Einstellungen (siehe Abbildung 11.17) und klicken Sie auf die Schaltfläche APPLY.

Der Job wird ausgeführt, und Sie sehen im unteren rechten Quadrat im Abschnitt SES SION die Konsolensitzung,

Abbildung 11.17: Die letzten Einstellungen überprüfen, bevor das Exploit ausgeführt wird

8. Führen Sie auf der Sitzung (Session) einen Doppelklick aus, und es öffnet sich ein neues Fenster, das eine Befehlseingabe auf dem Zielsystem enthält (siehe Abbildung 11.18).

Ich bin damit »Besitzer« des Systems geworden und kann mit ihm machen, was ich will.

Abbildung 11.18: Eine ferne Befehlseingabemöglichkeit auf einem Zielsystem, die auf Grund eines fehlenden Patches aktiviert wurde

Wenn Sie mit Ihrem Exploit erfolgreich waren, haben Sie vollen Zugriff auf das Zielsystem. Ich richte dann normalerweise dort mit dem Payload ADDUSER einen Benutzer ein und mache Screenshots, die gegenüber meinem Auftraggeber als Nachweis dienen. Um einen Benutzer hinzuzufügen, geben Sie auf der Metasploit-Befehlszeile einfach den Befehl net user benutzername kennwort /add ein.

Dann füge ich den Benutzer der Gruppe der lokalen Administratoren hinzu, indem ich auf der Befehlszeile von Metasploit net localgroup administrators benutzername/ add eingebe. Sie können sich dann am fernen System anmelden, indem Sie ein Laufwerk der Freigabe C$ zuordnen oder über Remote Desktop eine Verbindung aufbauen.

Wenn Sie in dieser Phase Ihrer Tests eine Benutzer hinzugefügt haben, denken Sie daran, ihn wieder zu entfernen, wenn Sie fertig sind. Ansonsten erzeugen Sie auf dem System eine weitere Schwachstelle – insbesondere dann, wenn Ihr Konto nur über ein schwaches Kennwort verfügt.

Metasploit gibt es in drei Editionen. Die kostenlose, die hier in den vorstehenden Schritten beschrieben wird, heißt Metasploit Community.. Sie kann ausreichen, wenn Sie zum Beispiel nur gelegentlich beim Testen einen Screenshot von einem fernen Zugriff machen müssen. Außerdem gibt es Metasploit Express, das zusätzliche Funktionen wie das Überprüfen von Kennwörtern enthält. Und dann gibt es eine mit allem Erdenklichen versehene kommerzielle Version mit dem Namen Metasploit Pro für ernsthaft arbeitende Sicherheitsfachleute. Metasploit Pro fügt unter anderem Funktionen für Social Engineering, das Scannen von Webanwendungen und ein detailliertes Berichtswesen hinzu.

Abbildung 11.19 zeigt den Bildschirm OVERVIEW (deutsch Überblick) von Metasploit Pro. Beachten Sie oben bei den Registerkarten die Workflowfunktionen wie ANALYSIS (Auswertung), SESSIONS (Sitzungen), CAMPAIGNS (Aktionen), WEB APPS (Webanwendungen) und REPORTS (Berichte). Sie haben es hier mit einer wohldurchdachten Oberfläche zu tun, die gerade den weniger technisch orientierten IT-Fachleuten das Leben erleichtert.

Abbildung 11.19: Die grafische Oberfläche von Metasploit Pro stellt eine breite Palette an Werkzeugen für das Testen von Sicherheiten zur Verfügung.

Metasploit Pro gibt Ihnen die Möglichkeit, Scanergebnisse (normalerweise in Form von XML-Dateien) zu importieren, die von anderen Schwachstellenscannern wie Acunetix Web Vulnerability Scanner, Nmap oder QualysGuard stammen. Klicken Sie einfach auf die Registerkarte ANALYSIS und wählen Sie IMPORT. Nachdem diese Daten importiert worden sind, können Sie in ANALYSIS auf VULNERABILITIES klicken, um alle Schwachstellen angezeigt zu bekommen, die die anderen Scanner schon gefunden haben. Um eine dieser Schwachstellen auszunutzen (es muss sich dabei aber um ein unterstütztes Exploit handeln), klicken Sie einfach in der Spalte NAME auf den entsprechenden Eintrag, und es wird eine neue Seite angezeigt, die es Ihnen erlaubt, die Schwachstelle anzugreifen (siehe Abbildung 11.20).

Abbildung 11.20: Es ist so einfach, in Metasploit Pro Exploits auszunutzen: Importieren Sie einfach die Ergebnisse anderer Scanner und klicken Sie auf »Exploit«.

Denken Sie daran, dass ich nur einen Bruchteil dessen gezeigt habe, was Metasploit kann. Laden Sie sich das Programm unbedingt herunter und lernen Sie es kennen. Unter www.metasploit.com/help warten unzählige (englischsprachige) Hilfsmittel auf Sie. Kombinieren Sie diese Ressourcen mit dem Exploit-Code, der in der Exploit Database von Offensive Security (www.exokiut-db.com) ständig aktualisiert wird, und Sie erhalten so gut wie alles, was Sie benötigen, um zu Ihrem Ziel vorzustoßen.

Maßnahmen gegen das Ausnutzen fehlender Programmaktualisierungen

Sorgen Sie dafür, dass Ihre Systeme immer auf dem neuesten Stand sind – sowohl was die Betriebssysteme angeht als auch die Anwendungsprogramme. Das ist wirklich alles, was Sie unternehmen müssen, damit auch böswillige Angreifer eine Meldung wie die in Abbildung 11.18 zu sehen bekommen. Wenn Sie das mit den anderen Sicherheitsmaßnahmen kombinieren, die ich in diesem Kapitel beschreibe, erhalten Sie eine ziemlich sichere Windows-Umgebung.

Automatisieren Sie die Aktualisierungsmaßnahmen, wo es nur geht. Verwenden Sie für Aktualisierungen von Microsoft die Update-Dienste. Besser noch sind die Windows Server Update Services (WSUS), die Sie unter http://technet.microsoft.com/de-de/windowsserver/bb332157.aspx herunterladen können. Probleme könnte die Aktualisierung von Programmen anderer Hersteller wie Adobe und so weiter bereiten. Hier bietet sich eine kommerzielle Alternative wie die Patch-Verwaltungsfunktion GFI LanGuard (www.gfi.com/network-security-vulnerability-scanner) oder Lumension Patch and Remediation (www.lumension.com/vulnerability-management/patch-management-software.aspx) an. Ich gehe in Kapitel 17 tiefer auf Sicherheitsaktualisierungen (die Patches) ein.

Authentifizierte Scans ablaufen lassen

Ein anderer Test, den Sie gegen Ihr Windows-System laufen lassen können, sind »authentifizierte« Scans – wobei es im Prinzip darum geht, als berechtigter Benutzer nach Schwachstellen zu suchen. Ich bin der Meinung, dass Tests dieser Art sehr nützlich sind, weil sie häufig auf Systemprobleme und operative Sicherheitsmängel wie schlecht ausgeprägte Änderungsdienste, ein schwaches Patch-Management und Fehler bei der Klassifizierung von Daten hinweisen.

Ein Insider mit den entsprechenden Berechtigungen, der physischen Zugriff auf das Netzwerk hat und über die richtigen Werkzeuge verfügt, kann Schwachstellen viel einfacher ausnutzen. Dies gilt ganz besonders dann, wenn es keine interne Zugriffskontrollliste oder kein IPS gibt und/oder es zu einer Infektion mit Malware kommt.

Ein Weg, sich (mit den Augen eines böswilligen Insiders) angemeldet nach Schwachstellen von Windows umzuschauen, ist der Einsatz einiger der allgemeinen Schwachstellenscanner, auf die ich bereits hingewiesen habe: LanGuard und QualysGuard. Abbildung 11.21 zeigt mögliche und bestätigte Dinge, die in Windows 7 gefunden wurden und die Sicherheit betreffen.

Abbildung 11.21: Einen authentifizierten Scan mit LanGuard ablaufen lassen, um zu sehen, was böswillige Insider ausnutzen könnten

Ich empfehle Ihnen, authentifizierte Scans regelmäßig als lokaler oder als Domänenbenutzer durchzuführen, wobei Sie ruhig auch administrative Rechte haben können. Sie werden überrascht sein, wie viele der in Abbildung 11.21 aufgeführten Schwachstellen ein Standardbenutzer entdecken und ausnutzen kann.

Sie können aber auch Microsoft Baseline Security Analyzer (MBSA) verwenden, um eine grundsätzliche Überprüfung Ihrer Systeme auf Schwachstellen und fehlende Patches durchzuführen. MBSA ist kostenlos und kann unter http://technet.microsoft.com/de-de/security/cc184924.aspx heruntergeladen werden. MBSA überprüft ab Windows 2000 alle Windows-Betriebssysteme (mit Ausnahme von Windows 8, das zum Zeitpunkt der Übersetzung dieses Buches noch nicht unterstützt wurde) auf fehlende Patches. Außerdem testet es bei Windows, SQL Server und IIS die grundsätzlichen Sicherheitseinstellungen, zum Beispiel ob es schwache Kennwörter gibt.

Sie können mit MBSA entweder das lokale System testen, an dem Sie angemeldet sind, oder Computer im Netzwerk. Leider ist nicht alles Gold, was glänzt: Sie können Maschinen nur dann lokal scannen, wenn Sie mit administrativen Rechten angemeldet sind.

12

Linux

In diesem Kapitel ...

Ports von Linux-Hosts scannen

Daten sammeln, ohne an Linux angemeldet zu sein

Angemeldet bekannte Linux-Schwächen ausnutzen

Sicherheitsrisiken bei Linux minimieren

Linux ist im geschäftlichen Umfeld lange nicht so oft vertreten wie Windows, aber nichtsdestotrotz ist Linux irgendwie in so gut wie jedem Netzwerk vertreten. Allgemein üblich ist das Missverständnis, dass Linux sicherer sei als Windows. Nun ist es aber so, dass Linux und seine geschwisterlichen Unix-Varianten immer öfter Opfer derselben Art von Sicherheitsschwächen wie Windows werden, weshalb Sie Ihre Schutzschilde auf keinen Fall senken dürfen.

Da Linux sehr beliebt ist und in immer stärkerem Maße in Netzwerken eingesetzt wird, greifen Scharen von Hackern Systeme dieser Art an. Da einige Linux-Versionen – solange es um das Basis-Betriebssystem geht – kostenlos zu haben sind, verwenden viele Organisationen Linux für ihre Web- und E-Mail-Server, weil sie hoffen, dadurch Geld zu sparen und ein sichereres System zu erhalten. Es gibt aber, wie die folgende Liste zeigt, auch noch andere Gründe dafür, dass Linux immer beliebter geworden ist:

Es gibt reichlich Hintergrundmaterial wie Bücher, Websites und Sachverstand bei Entwicklern und Beratern.

Das Risiko ist geringer, dass Linux von so viel Malware betroffen sein wird wie Windows und seine Anwendungen.

Es gab eine Reihe von Firmenübernahmen durch andere Unix-Hersteller wie IBM und Oracle.

Es ist immer einfacher geworden, Unix und Linux zu benutzen.

Aufgrund meiner täglichen Arbeit weiß ich, dass Linux weniger anfällig für die üblichen Sicherheitsschwächen ist als Windows. Wenn ich aktuelle Linux-Distributionen wie Ubuntu oder Red Hat/Fedora mit Windows XP oder Windows 7 vergleiche, finde ich, dass die Windows-Systeme mehr Schwachstellen aufweisen. Kreiden Sie dies der Tatsache an, dass Windows weiter verbreitet ist, mehr Funktionen hat und es viel mehr unerfahrene Windows-Benutzer gibt, aber es lässt sich nicht leugnen, dass in einer Windows-Umgebung viel mehr Dinge geschehen können. Nun ist Linux sicherlich nicht frei von Schwachstellen. Linux-Systeme haben nicht nur mit den Angriffen auf Kennwörter zu kämpfen, die ich in Kapitel 7 beschreibe, sondern auch remote und lokale Angriffe sind möglich. Ich stelle in diesem Kapitel einige sicherheitstechnische Aspekte des Betriebssystems Linux vor und zeige Gegenmaßnahmen auf, um die entsprechenden Löcher wieder zu stopfen. Lassen Sie sich übrigens nicht von der Überschrift zu diesem Kapitel irritieren – viele der hier gelieferten Informationen gelten auch für alle Richtungen von Unix.

Schwachstellen bei Linux verstehen

Schwachstellen und Angriffe auf Linux erhöhen in immer mehr Organisationen das geschäftliche Risiko, wobei hiervon insbesondere Unternehmen aus den Bereichen E-Commerce, Netzwerke und Sicherheitsprodukte betroffen sind, die auf vielen Systemen Linux einsetzen. Wenn Linux-Systeme gehackt werden, haben die Opfer mit denselben Nebeneffekten zu kämpfen wie ihre »Kollegen«, die auf Windows setzen:

Abfluss sensibler Daten
geknackte Kennwörter
beschädigte oder gelöschte Datenbanken
komplett vom Netz genommene Systeme

Werkzeuge wählen

Sie können viele auf Unix basierende Sicherheitswerkzeuge verwenden, um Ihre Linux-Systeme zu testen. Außerdem habe ich die Erfahrung gemacht, dass meine auf Windows basierenden kommerziellen Werkzeuge ihre Arbeit auch hier gut erledigen. Meine Favoriten sind:

BackTrack Linux (www.backtrack-linux.org), ein Werkzeugsatz auf einer startfähigen CD oder als ISO-Image

LanGuard (www.gfi.com/network-security-vulnerability-scanner) für das Scannen von Ports, ein Auslesen des Betriebssystems und für Schwachstellentests

NetScanTools Pro (www.netscantools.com) für das Scannen von Ports, das Auslesen des Betriebssystems und vieles mehr

Nmap (http://nmap.org) für Fingerprints beim BS und detaillierte Portscans

QualysGuard (www.qualys.com) für Fingerprints beim BS, Portscans und sehr detaillierte und genaue Schwachstellentests

Ein Werkzeug wie QualysGuard ist in der Lage, einen Großteil der Sicherheitstests durchzuführen, die notwendig sind, um in Linux Schwachstellen zu finden. Eine beliebte kommerzielle Alternative ist Nexpose von Rapid7 (www.rapid7.com/vulnerability-scanner.jsp).

Nessus (www.nessus.org) für Fingerprints beim BS, Portscans und Schwachstellentests

THC-Amap (www.thc.org/thc-amap) für das Zuordnen von Anwendungsversionen

Auf Sites wie SourceForge.net (http://sourceforge.net) und freecode.com (http://freecode.com) gibt es Hunderte, wenn nicht sogar Tausende von Werkzeugen zum Hacken und Testen. Der Schlüssel zum Erfolg liegt darin, die Werkzeuge zu finden, die den Job erledigen können, für den Sie sie benötigen und mit denen Sie umgehen können.

Informationen über die Schwachstellen Ihrer Linux-Systeme sammeln

Sie können Ihre auf Linux basierenden Systeme untersuchen und Informationen von außen (wenn öffentlich auf das System zugegriffen werden kann) und von innen (quasi als Teil des Netzwerks) sammeln. Auf diese Weise können Sie das sehen, was auch böswillige Angreifer sehen.

Das System absuchen

Bei den Linux-Diensten – die Daemons genannt werden – handelt es sich um Programme, die auf einem System laufen und für Benutzer verschiedene Dienste und Anwendungen bereitstellen.

Internet-Dienste wie der Apache Webserver (httpd), Telnet (telnet) und FTP (ftpd) geben zu oft zu viele Informationen über das System preis (Softwareversionen, interne IP-Adressen, Benutzernamen und so weiter). Diese Informationen erlauben es Hackern, Schwachstellen im System zu erkennen.

TCP- und UDP-Dienste wie echo, daytime und chargen sind häufig standardmäßig aktiviert.

Welche Schwachstellen Ihre Linux-Systeme aufweisen, hängt von den Diensten ab, die dort laufen. Sie können grundlegende Portscans durchführen, um das herauszufinden.

Die Ergebnisse von NetScanTools Pro in Abbildung 12.1 weisen auf eine ganze Reihe von Diensten hin, die möglicherweise als Schwachstellen in Betracht kommen, zum Beispiel SSH, HTTP und HTTPS.

Abbildung 12.1: Die Ports eines Linux-Systems mit NetScanTools Pro scannen

Sie können zusätzlich zu NetScanTools Pro einen weiteren Scanner wie LanGuard gegen das System laufen lassen, um zusätzliche Informationen wie die folgenden zu erhalten:

eine angreifbare Version von OpenSSH (der Open-Source-Version von SSH), die von Nessus zurückgegeben wird (siehe Abbildung 12.2)

Abbildung 12.2: Nessus entdeckt eine OpenSSH-Schwachstelle.

die Informationen über den Dienst finger, die von LanGuard Network Security Scanner zurückgegeben wird (siehe Abbildung 12.3)

Abbildung 12.3: LanGuard legt über den Dienst finger Benutzerdaten offen.

LanGuard findet auch heraus, dass auf dem Server rlogin und rexec laufen, die r-Services der Berkeley Software Distribution (BSD). Abbildung 12.3 zeigt auch, dass LanGuard das ferne Betriebssystem als Red Hat Linux identifiziert hat.

Abbildung 12.4 gibt verschiedene r-Services und andere Daemons wieder, die Netzwerk administratoren ständig auf Unix-basierenden Betriebssystemen laufen lassen, obwohl sie überflüssig sind. Beachten Sie, dass LanGuard besonders auf Schwachstellen hinweist, die zu einigen dieser Dienste gehören, und gleichzeitig die Empfehlung ausspricht, SSH als Alternative zu verwenden.

Abbildung 12.4: Von LanGuard gefundene r-Services, die möglicherweise angreifbar sind

Sie können einen Schritt weiter gehen und genau herausfinden, um welche Distribution und Kernelversion es sich handelt, indem Sie mit Nmap einen Fingerprint-Scan über das BS laufen lassen und dabei den Befehl nmap -sV verwenden (siehe Abbildung 12.5).

Abbildung 12.5: Die BS-Kernelversion eines Linux-Servers mit Nmap herausfinden

Auch das auf Windows basierende Werkzeug NetScanTools Pro ist in der Lage, die Linux-Version herauszufinden, die auf einer Maschine läuft (siehe Abbildung 12.6).

Abbildung 12.6: Mit NetScanTools Pro wurde herausgefunden, dass Slackware Linux läuft.

Maßnahmen gegen das Scannen des Systems

Obwohl Sie das Scannen eines Systems niemals ganz verhindern können, sollten Sie die folgenden Gegenmaßnahmen einrichten, um böswillige Angreifer davon abzuhalten, sich zu viele Informationen über Ihre Systeme zu beschaffen:

Schützen Sie die Systeme mit

• einer Firewall, die wie iptables zu einem Bestandteil des BS wird;

• einer auf Hosts basierenden Anwendung, die wie PortSentry (http://source forge.net/projects/sentrytools) oder SNARE (www.intersectal liance.com/projects/Snare) ein Eindringen verhindert.

Deaktivieren Sie Dienste, die Sie nicht benötigen. Hierzu gehören auch RPC, FTP, Telnet und die Small-UDP- und TCP-Dienste. Dies verhindert, dass die Dienste bei einem Scannen der Ports angezeigt werden. Dadurch erhalten Angreifer weniger Informationen, was bei ihnen hoffentlich auch zu einer geringeren Motivation führt, in Ihr System einzubrechen.

Sorgen Sie dafür, dass Ihre Software immer auf dem neuesten Stand ist. Dies reduziert die Wahrscheinlichkeit, dass Angreifer herausfinden, welche Dienste Sie verwenden.

Ungenutzte und unsichere Dienste finden

Wenn Sie wissen, welche Daemons und Anwendungen laufen – zum Beispiel FTP, Telnet und ein Webserver –, ist es auch nicht schlecht, genau zu wissen, welche Versionen davon aktiv sind, damit Sie herausfinden können, welche bekannten Schwachstellen vorliegen, um dann zu entscheiden, ob sie abgeschaltet werden müssen. Eine gute Quelle für das Aufdecken von Schwachstellen ist die Website National Vulnerability Database (http://nvd.nist.gov).

Suchen

Verschiedene Sicherheitswerkzeuge können dabei helfen, Schwachstellen aufzudecken. Sie können zwar nicht immer die ganz genaue Versionsnummer aller Anwendungen identifizieren, aber sie bieten einen sehr leistungsfähigen Weg, um Informationen über die Systeme zu sammeln.

Schwachstellen

Seien Sie besonders aufmerksam, wenn es um diese bekannten Sicherheitslöcher eines Systems geht:

Anonymes FTP kann einem Hacker ganz besonders dann, wenn es nicht sauber eingerichtet wurde, einen Weg bieten, Dateien Ihres Systems herunterzuladen.

Telnet und FTP sind dadurch gefährdet, dass Netzwerkanalysatoren Benutzer-IDs und Kennwörter sammeln können, die von Anwendungen im Klartext verwendet werden.

Alte Mailprogramme weisen viele Sicherheitsprobleme auf.

R-Dienste wie rlogin, rdist, rexecd, rsh und rcp sind besonders gefährdet.

Auf vielen Webservern läuft Linux, weshalb Sie die Schwächen von Apache, Tomcat oder anderen von Ihnen auf diesem Gebiet eingesetzten Anwendungen nicht übersehen dürfen. So ist zum Beispiel bei Linux bekannt, dass über Apache Benutzernamen ermittelt werden können, wenn in der Datei httpd.conf die Direktive UserDir nicht deaktiviert ist. Sie können diese Schwäche manuell ausnutzen, indem Sie bekannte Benutzerordner wie http://www.ihre_site.de/benutzer_name aufrufen oder einen Schwachstellenscanner wie WebInspect oder QualysGuard verwenden, um das System automatisch auszulesen. In beiden Fällen könnten Sie herausfinden, welche Linux-Benutzer es gibt, um dann über das Web einen Angriff auf deren Kennwörter zu starten. Außerdem gibt es unzählige Wege, um Systemdateien (inklusive /etx/passwd) über gefährdeten CGI-Code anzugreifen. Ich behandele das Hacken von Webanwendungen in Kapitel 14.

Ähnliches gilt für FTP, das unter Linux häufig ungeschützt läuft. Ich bin auf Systeme mit aktiviertem anonymen FTP gestoßen, auf denen im lokalen Netzwerk sensible Gesundheits- und Finanzdaten für jeden freigegeben waren. Wenn Sie Linux hacken, können Sie bis tief in den Kernel vorstoßen und dort allerlei unschöne Dinge veranstalten.

Anonymes FTP ist die Schwachstelle, die ich in Linux am häufigsten finde. Wenn Sie einen »anonymen« FTP-Server laufen lassen, müssen Sie darauf achten, dass dort keiner Ihrer internen Netzwerkbenutzer sensible Daten freigibt.

Werkzeuge

Die folgenden Werkzeuge übernehmen nicht nur das Scannen von Ports, sondern auch Aufgaben, die weiter in die Tiefe gehen, um Informationen über Ihre Linux-Systeme zu sammeln:

Nmap kann sich nach den Versionen der geladenen Dienste umsehen (siehe Abbildung 12.7). Lassen Sie Nmap über die Befehlszeile mit dem Schalter -sV ablaufen.

Abbildung 12.7: Lassen Sie die Versionsnummern von Anwendungen anzeigen.

Amap ähnelt Nmap, weist aber einige Vorteile auf:

• Amap ist bei dieser Art von Scans viel schneller.

• Amap kann Anwendungen entdecken, die so eingerichtet wurden, dass sie auf nicht standardmäßigen Ports laufen (Apache läuft dann zum Beispiel auf Port 6789 und nicht auf Port 80, was eigentlich normal wäre).

Abbildung 12.8 zeigt das, was Amap als Ergebnis eines Scans der lokalen Maschine (mit der Adresse 127.0.0.1) liefert. Amap lief mit den folgenden Parametern, um einige gern gehackte Ports anzuzeigen:

• –1 sorgt dafür, dass der Scan schneller abläuft.

• –b gibt die Antworten als ASCII-Zeichen aus.

• –q überspringt die Ausgabe geschlossener Port.

• 21 sondiert den FTP-Kontrollport

• 22 sondiert den SSH-Port.

• 23 sondiert den Telnet-Port.

• 80 sondiert den HTTP-Port.

Abbildung 12.8: Anwendungsversionen mit Amap überprüfen

netstat zeigt die Dienste an, die auf einer lokalen Maschine laufen. Geben Sie diesen Befehl ein, während Sie angemeldet sind:

netstat -anp

List Open Files (lsof) zeigt Prozesse an, die zuhören, und Dateien, die im System geöffnet worden sind.

Damit Sie lsof ablaufen lassen können, melden Sie sich an und geben Sie in der Linux-Eingabeaufforderung lsof –i +M ein. Der Befehl lsof kann sehr praktisch sein, wenn Sie vermuten, dass Malware den Weg auf das System gefunden hat.

Maßnahmen gegen Angriffe auf ungenutzte Dienste

Sie können nicht benötigte Dienste auf Ihren Systemen abschalten und sollten das auch tun. Dies ist einer der besten Wege, das System sicher zu machen. Je weniger offene Türen und Fenster ein Haus hat, desto schwieriger wird es für Diebe, einen Eingang zu finden.

Deaktivieren Sie nicht benötigte Dienste

Die beste Methode, nicht benötigte Dienste zu deaktivieren, hängt davon ab, wie der Daemon zuerst geladen worden ist. Es gibt mehrere Stellen, an denen Sie Dienste deaktivieren können, wobei diese Stellen von der Linux-Version abhängen, die bei Ihnen läuft.

Wenn Sie einen bestimmten Dienst nicht benötigen, gehen Sie auf Nummer sicher. Schalten Sie ihn aus! Informieren Sie nur die Benutzer Ihres Netzwerks darüber, falls jemand den Dienst für seine Arbeit benötigen sollte.

inetd.conf (oder xnetd.conf)

Wenn es sinnvoll ist, einen Dienst zu deaktivieren, weil Sie ihn nicht benötigen, sollten Sie das Laden des entsprechenden Daemons auskommentieren. Folgen Sie diesen Schritten:

1. Geben Sie in der Eingabeaufforderung von Linux diesen Befehl ein:

ps -aux

Die Prozess-ID (PID) aller Daemons – einschließlich inetd – wird auf dem Bildschirm ausgegeben. Abbildung 12.9 zeigt, dass etwa die PID für SSH (Secure Shell) 646 ist.

Abbildung 12.9: Die Prozess-IDs laufender Daemons anzeigen

2. Merken Sie sich die PID für inetd.

3. Öffnen Sie im Linux-Texteditor vi die Datei /etc/inetd.conf, indem Sie eingeben:

vi /etc/inetd.conf
oder

/etx/xinetd.conf

4. Wenn die Datei in vi geladen worden ist, aktivieren Sie den Einfügemodus zum Bearbeiten, indem Sie die Taste drücken.

5. Verschieben Sie den Cursor an den Anfang der Zeile des Daemons, den Sie deaktivieren wollen, zum Beispiel httpd (den Webserver-Daemon), und schreiben Sie an den Anfang der Zeile #.

Dieser Schritt kommentiert die Zeile aus und verhindert, dass sie bei einem Neustart des Servers oder von inetd wieder geladen wird. Dabei bleibt die Zeile erhalten, was wiederum gut für eine Änderungsverwaltung ist.

6. Um vi zu verlassen und die Änderungen zu speichern, drücken Sie , um aus dem Einfügemodus auszusteigen. Geben Sie :wq ein und drücken Sie .

Damit weiß vi, dass Sie Ihre Änderungen speichern wollen, und beendet sich.

7. Starten Sie inetd neu, indem Sie den folgenden Befehl mit der inetd-PID eingeben:

kill -HUP PID
chkconfig

Wenn Sie die Datei inetd.conf nicht haben (oder wenn sie leer ist), läuft auf Ihrer Version von Linux höchstwahrscheinlich das Programm xinetd (www.xinetd.org), bei dem es sich um einen sichereren inetd-Ersatz handelt, der auf die eingehenden Netzwerkanfragen lauscht. In diesem Fall können Sie die Datei /etx/xinetd.conf bearbei-ten. Wenn Sie mehr über xinetd und xinetd.conf wissen wollen, geben Sie als Linux-Befehlszeile man xinet beziehungsweise man xinetd.conf ein oder rufen Sie http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-rg-de-4/s1-tcpwrap pers-xinetd-config.html auf, um in einem deutschsprachigen Text nachlesen zu können. Wenn Sie Red Hat 7.0 oder später verwenden, können Sie die Daemons, die Sie nicht laden wollen, mit dem Programm /sbin/chkconfig ausschalten.

Sie können aber auch in der Befehlszeile chkconfig --list eingeben, um zu sehen, welche Dienste in der Datei xinetd.conf aktiviert werden.

Wenn Sie bestimmte Dienste, zum Beispiel snmp, deaktivieren möchten, geben Sie dies ein:

chkconfig --del snmpd

Sie können das Programm chkconfig verwenden, um auch andere Dienste wie FTP, Telnet und Webserver zu beenden.

Zugriffskontrolle

TCP Wrappers ist in der Lage, den Zugriff auf wichtige Dienste wie FTP oder HTTP zu beobachten. Dieses Programm kontrolliert den Zugriff auf TCP-Dienste und protokolliert ihre Verwendung. Dies hilft dabei, böswillige Aktivitäten aufzuspüren.

Sie können weitere Informationen über TCP Wrappers unter http://protect.iu.edu/cybersecurity/tcp-wrappers erhalten.

Achten Sie immer darauf, dass Ihr Betriebssystem und die darauf laufenden Anwendungen nicht sperrangelweit offen sind, indem Sie dafür sorgen, dass es vernünftige Anforderungen an Kennwörter gibt. Vergessen Sie nicht, anonymes FTP zu deaktivieren, wenn es nicht wirklich benötigt wird. Falls dies der Fall sein sollte, begrenzen Sie den Zugriff auf das System auf ein absolutes Minimum.

Die Dateien ».rhosts« und »hosts.equiv« schützen

Linux – und alle Spielarten von Unix – sind auf Dateien basierende Betriebssysteme. Praktischerweise hat so gut wie alles, was in dem System erledigt werden muss, mit der Bearbeitung von Dateien zu tun. Das ist auch der Grund dafür, dass sich so viele Angriffe auf Linux auf der Dateiebene abspielen.

Hacks, die die Dateien ».rhosts« und »hosts.equiv« verwenden

Wenn Hacker über einen Netzwerkanalysator an eine Benutzer-ID und das dazu gehörende Kennwort gelangen oder wenn sie das System zum Absturz bringen und über einen Pufferüberlauf (englisch Buffer-Overflow) Zugriff auf root bekommen, schauen sie auf jeden Fall nach, welche Benutzer Berechtigungen am lokalen System haben. Deshalb ist es wichtig, dass Sie selbst diese Dateien überprüfen. Die gesuchten Informationen befinden sich in den Dateien /etx/hosts.equiv und .rhosts.

.rhosts

Die Datei $home/.rhosts legt in Linux fest, welche Remote-Benutzer auf einem lokalen System ohne Kennwort auf die r-Befehle (zum Beispiel rsh, rcp und rlogin) der Berkeley Software Distribution (BSD) zugreifen dürfen. Diese Datei befindet sich im Home-Verzeichnis der einzelnen Benutzer (einschließlich root; zum Beispiel /home/jmeier). Eine solche Datei könnte so aussehen:

marketing01 sabine
marketing01 klaus

Diese Datei erlaubt den Benutzern Sabine und Klaus des fernen Systems marketing01, sich am lokalen Host mit denselben Berechtigungen anzumelden, die ein lokaler Benutzer hat. Wenn in die Felder für den fernen Host und den Benutzer ein Pluszeichen (+) eingetragen wird, können sich alle Benutzer aller Hosts am lokalen System anmelden. Ein Hacker kann mit einem der folgenden Tricks in der Datei Einträge vornehmen:

die Datei manuell ändern
ein Skript ablaufen lassen, das auf einer Webserver-Anwendung ein ungeschütztes, auf dem System laufendes CGI-Skript (CGI steht für Common Gateway Interface) ausnutzt: Diese Konfigurationsdatei ist das erste Ziel, das sich ein Angreifer vornimmt. Zwar waren Dateien dieser Art auf den meisten von mir getesteten Systemen nicht aktiviert, aber ein Benutzer kann solch eine Datei – wissentlich oder zufällig – in seinem Home-Verzeichnis erstellen und damit auf dem System ein ziemliches Sicherheitsloch erzeugen.

hosts.equiv

Die Datei /etc/hosts.equiv gibt keine Informationen über den Zugriff auf root preis, aber sie enthält Informationen darüber, welche Benutzerkonten auf dem lokalen System Zugriff auf Dienste haben. Wenn zum Beispiel marketing01 in dieser Datei aufgeführt ist, haben alle marketing01-Benutzer diesen Zugriff. Und wie bei der Datei .rhosts können externe Hacker hosts.equiv auslesen und ihre IP-Adresse und den Namen ihres Hosts dort eintragen, um unberechtigten Zugang zum lokalen System zu erhalten. Außerdem können Hacker die Namen, die in den Dateien .rhosts und hosts.equiv stehen, verwenden, um Namen anderer Computer zu finden, die sie angreifen könnten.

Maßnahmen gegen Angriffe auf die Dateien ».rhosts« und »hosts.equiv«

Ergreifen Sie die beiden folgenden Gegenmaßnahmen, um bei Ihren Linux-Systemen Angriffe auf die Dateien .rhosts und hosts.equiv zu verhindern.

Verhindern Sie die Befehlseingabe

Um den Missbrauch dieser Dateien zu verhindern, lohnt es sich, die Eingabe von BSD-r-Befehlen zu verhindern. Dazu stehen Ihnen zwei Wege offen:

Kommentieren Sie die Zeilen aus, die in inetd.conf mit shell, login und exec beginnen.

Bearbeiten Sie die Dateien rexec, rlogin und rsh, die sich im Verzeichnis /etc/xinetd befinden. Öffnen Sie die Dateien in einem Texteditor und ändern Sie disable=no in disable=yes (siehe Abbildung 12.10).

Abbildung 12.10: Die Option DISABLE der Datei rexec

Sie können die BSD-r-Befehle in Red Hat Enterprise Linux über das Setup-Programm deaktivieren:

1. Geben Sie auf der Befehlszeile setup ein.

2. Wählen Sie im Menü SYSTEM SERVICES beziehungsweise SYSTEMDIENSTE.

3. Entfernen Sie vor den einzelnen r-Diensten die Sternchen.

Den Zugriff blockieren

Es gibt einige Maßnahmen, die verhindern können, dass böswillig auf die Dateien .rhosts und hosts.equiv zugegriffen wird:

Blockieren Sie auf der Firewall gefälschte Adressen so, wie ich es in Kapitel 8 zeige.

Legen Sie fest, dass nur der Besitzer einer Datei diese lesen darf.

• .rhosts: Geben Sie im Home-Verzeichnis eines jeden Benutzers diesen Befehl ein:

chmod 600 .rhosts

• hosts.equiv: Geben Sie im Verzeichnis /etc diesen Befehl ein:

chmod 600 hosts.equiv

Sie können aber auch Tripwire (http://sourceforge.net/projects/tripwire) verwenden, um diese Dateien zu beobachten und gewarnt zu werden, wenn es bei diesen Dateien zu Zugriffen oder Änderungen kommt.

Die Sicherheit von NFS überprüfen

Das Network File System (NFS) wird verwendet, damit die lokale Maschine auf ferne Dateisysteme (wie Windows-Freigaben) zugreifen kann. Aufgrund der Natur von NFS, sich für ferne Zugriffe zu eignen, hat es für Hacker einen eigenen Charme entwickelt. Ich behandle Schwachstellen und Hacks zusätzlicher Dateiablagen in Kapitel 15.

NFS-Hacks

Wenn NFS unsauber eingerichtet oder an seiner Konfiguration herumgedoktert wurde – insbesondere wenn die Datei /etx/exports eine Einstellung enthält, die es jedem erlaubt, das ganze Dateisystem zu lesen –, können sich Hacker leicht aus der Ferne einen Zugang verschaffen und mit dem System machen, was sie wollen. Wenn wir unterstellen, dass es eine Access Control List (ACL; deutsch Zugriffssteuerungsliste) gibt, reicht dazu in der Datei /etc/exports eine Zeile wie die folgende aus:

/ rw

Diese Zeile sagt aus, dass jeder die root-Partition im Schreib-/Lesemodus in sein System einhängen kann. Gut, einschränkend gilt, dass dazu auch noch diese Bedingungen erfüllt sein müssen:

Der NFS-Daemon (nfsd) muss zusammen mit dem Daemon portmap geladen werden, der NFS an RPC bindet.

Die Firewall muss den NFS-Verkehr durchlassen.

Die fernen Systeme, die auf den Server zugreifen dürfen, auf dem der NFS-Daemon läuft, müssen in der Datei /etc/hosts.allow stehen.

Diese Möglichkeit, aus der Ferne auf Laufwerke des Systems zuzugreifen, lässt sich leicht falsch einrichten. Dies hängt oft damit zusammen, dass ein Linux-Administrator wenig Ahnung davon hat, was es heißt, die NFS-Laufwerke auf die einfachste Weise freizugeben. Und wenn ein Hacker erst einmal aus der Ferne einen Zugang erhalten hat, gehört ihm das System.

Maßnahmen gegen Angriffe auf das NFS

Die beste Verteidigung gegen das Hacken von NFS hängt davon ab, ob der Dienst laufen muss.

Wenn Sie NFS nicht benötigen, deaktivieren Sie es.

Wenn Sie NFS benötigen, richten Sie die folgenden Gegenmaßnahmen ein:

• Filtern Sie den NFS-Verkehr auf der Firewall – normalerweise TCP-Port 111 (der Portmapper-Port), wenn Sie den gesamten RPC-Verkehr filtern wollen.

• Fügen Sie Netzwerk-ACLs hinzu, um den Zugriff auf bestimmte Hosts zu begrenzen.

• Sorgen Sie dafür, dass die Dateien /etc/exports und /etc/hosts.allow sauber konfiguriert werden, um die Welt von Ihrem Netzwerk fernzuhalten.

Dateiberechtigungen überprüfen

In Linux lassen es bestimmte Dateitypen zu, dass Programme mit den Rechten des Datei-besitzers laufen:

SetUID (für User-ID)

SetGID (für Group-ID)

SetUID und SetGID werden benötigt, wenn ein Benutzer ein Programm ablaufen lässt, das vollen Zugriff auf das System haben muss, damit es seine Aufgaben erledigen kann. Wenn zum Beispiel ein Benutzer das Programm passwd aufruft, um sein Kennwort zu ändern, wird das Programm tatsächlich ohne root- oder andere Benutzerrechte geladen. Der Benutzer kann also das Programm ablaufen lassen und das Programm kann die Kennwortdatenbank aktualisieren, ohne dass das root-Konto von diesem Vorgang berührt wird.

Das Hacken von Dateiberechtigungen

Gefährliche Programme, die mit root-Berechtigungen laufen, können standardmäßig leicht verborgen werden. So etwas könnte ein externer Angreifer oder ein böswilliger Insider tun, damit nicht auffällt, dass im System Dateien gehackt werden. Dies kann erreicht werden, indem SetUID und SetGID codetechnisch in das zum Hacken verwendete Programm aufgenommen werden.

Maßnahmen gegen Angriffe auf Dateiberechtigungen

Sie können sowohl manuell als auch automatisch testen, ob auf Ihrem System gefährliche Programme laufen.

Manuelle Tests

Die folgenden Befehle können Programme identifizieren und auf dem Bildschirm ausgeben, die SetUID oder SetGID einsetzen:

Programme, die für SetUID eingerichtet wurden:

find / -perm –4000 –print

Programme, die für SetGID eingerichtet wurden:

find / -perm –2000 –print

Dateien, auf die letztendlich weltweit zugegriffen werden kann:

find / -perm –2 -type f –print

Versteckte Dateien:

find / -name ".*"

Es kann sein, dass jede dieser Kategorien Hunderte von Dateien enthält, weshalb Sie nicht gleich das Schlimmste befürchten müssen. Wenn Sie Dateien entdecken, bei denen diese Attribute gesetzt sind, müssen Sie über Ihre Systemdokumentation oder das Internet oder einen Vergleich mit einem sicheren System oder einer Datensicherung herausfinden, ob die Dateien das Attribut zu Recht tragen.

Behalten Sie Ihre Systeme im Auge, um plötzlich auftauchende SetUID- und SetGID-Dateien sofort zu entdecken.

Automatische Tests

Sie können ein Programm verwenden, das Änderungen an Dateien überwacht und Sie warnt, wenn so etwas vorkommt. Und das ist auch das, was ich empfehle, weil es auf Dauer viel einfacher ist:

Eine Anwendung wie Tripwire entdeckt Änderungen und hält fest, was wann geändert wurde.

Ein Programm wie COPS (geben Sie im Webbrowser ftp://ftp.cerias.purdue.edu/pub/tools/unix/scanners/cops ein) überwacht die Dateien und findet Dateien, deren Status sich geändert hat (zum Beispiel eine neue SetUID oder eine gelöschte SetGID).

Für Buffer-Overflow empfängliche Schwachstellen finden

RPC und andere angreifbare Daemons sind beliebte Ziele, wenn es um Angriffe in Form von Pufferüberläufen (das ist der deutsche Ausdruck für Buffer-Overflow, den kaum jemand verwendet) geht. Zu dieser Angriffsart kommt es häufig, wenn Hacker herausfinden wollen, wie sie in das System gelangen können, um Systemdateien zu ändern, Datenbankdateien auszulesen und so weiter.

Angriffe

Bei einem Buffer-Overflow-Angriff sendet der Angreifer entweder manuell Zeichenfolgen an die Linux-Maschine des Opfers oder er schreibt ein Skript, das dies für ihn erledigt. Die Zeichenfolgen enthalten dies:

Anweisungen an den Prozessor, im Grunde nichts zu tun
schädlichen Code, der den angegriffenen Prozess ersetzt. So erzeugt zum Beispiel exec ("/bin/sh") eine Shell-Eingabeaufforderung
einen Zeiger auf den Beginn des bösartigen Codes im Puffer des Arbeitsspeichers

Wenn eine angegriffene Anwendung (wie FTP oder RPC) als root läuft (was einige Programme machen), können Angreifer auf ihrer fernen Shell root-Berechtigunen erhalten. Beispiele für gefährdete Software, die unter Linux läuft, sind Samba, MySQL und Firefox. Diese Software kann – versionsabhängig – mit kommerziellen oder kostenlosen Werkzeugen wie Metasploit (www.metasploit.com) ausgeforscht werden, um remote Befehlseingabemöglichkeiten zu erhalten, Benutzerkonten als Hintertür hinzuzufügen, Besitzrechte an Dateien zu ändern und so weiter. Ich behandele Metasploit in Kapitel 10.

Maßnahmen gegen Buffer-Overflow-Angriffe

Es gibt drei grundsätzliche Maßnahmen, die helfen können, Angriffe über Buffer-Overflow zu verhindern:

Deaktivieren Sie nicht benötigte Dienste.

Schützen Sie Ihre Linux-Systeme durch eine Firewall oder ein auf den Host basierendes System zum Verhindern eines Eindringens (IPS, für Intrusion Prevention System).

Aktivieren Sie einen zusätzlichen Zugriffskontrollmechanismus wie TCP Wrappers, das Benutzer über ein Kennwort authentifiziert.

Aktivieren Sie eine Zugangskontrolle niemals über eine IP-Adresse oder einen Hostnamen. So etwas kann leicht gefälscht werden.

Physische Sicherheitsmaßnahmen überprüfen

Einige Schwachstellen von Linux erfordern es, dass sich die Angreifer tatsächlich an der lokalen Tastatur befinden – etwas, das aufgrund der Bedrohung durch Insider, mit der jede Organisation zu kämpfen hat, tatsächlich möglich ist.

Physische Hacks

Wenn sich ein Hacker Zugang zur Tastatur des Systems verschafft hat, ist alles möglich, einschließlich eines Neustarts des Systems durch Drücken von  +  +  (selbst dann, wenn niemand angemeldet ist). Wenn das System neu hochfährt, kann es der Hacker im Einzelbenutzermodus starten, was es ihm erlaubt, das root-Kennwort zu löschen oder sogar die gesamte Schattendatei mit den Kennwörtern zu lesen. Ich behandele das Knacken von Kennwörtern in Kapitel 7.

Maßnahmen gegen physische Angriffe auf die Sicherheit

Bearbeiten Sie die Datei /etc/inittab und kommentieren Sie die Zeile ca::ctrlaltdel:/sbin/shutdown -t3 -r now aus (indem Sie an ihren Anfang ein #-Zeichen setzen), wie es die vorletzte Zeile in Abbildung 12.11 zeigt. Diese Änderung verhindert, dass jemand das System durch Drücken von  +  +  neu starten kann. Seien Sie aber gewarnt, denn auch Sie können nun  +  +  nicht mehr einsetzen.

Abbildung 12.11: »/etc/inittab« zeigt die Zeile an, die ein Herunterfahren über  +  +  ermöglicht.

Verwenden Sie bei Laptops, die unter Linux laufen, eine Software zum Verschlüsseln der Festplatte wie TrueCrypt (www.truecrypt.org) oder die kommerziellen Angebote von WinMagic (www.winmagic.com) und Symantec (www.symantec.de). Wenn Sie das nicht machen und ein Laptop verloren geht oder gestohlen wird, haben Sie ein echtes Problem.

Wenn Sie befürchten, dass sich jemand in der letzten Zeit Zugang zu Ihrem System verschafft hat, können Sie last verwenden. Mit diesem Programm können Sie die letzten Anmeldevorgänge sehen und prüfen, ob es dabei fremde Anmelde-IDs oder komische Anmeldezeiten gibt. Last verwendet die Datei /var/log/wtmp und zeigt die zuletzt angemeldeten Benutzer an. Sie können last | head eingeben, um den ersten Teil (die ersten zehn Zeilen) der Datei anzuzeigen und die aktuellsten Anmeldevorgänge sehen zu können.

Allgemeine Sicherheitstests durchführen

Sie können auf Ihren Linux-Systemen die folgenden wichtigen und leider gerne übersehenen Sicherheitsthemen überprüfen:

fehlerhafte Konfigurationen oder nicht berechtigter Zugriff auf die Kennwort-Schattendateien, über die ein verdeckter Zugriff auf die Systeme möglich ist

Anforderungen an die Komplexität von Kennwörtern

Benutzer, die root gleichgestellt sind
verdächtige automatisch ablaufende Aufgaben, die in cron, dem Programm, das Skripte zeitgesteuert ablaufen lassen kann, eingerichtet wurden

Überprüfung der Signaturen binärer Systemdateien

Prüfung auf Rootkits
die Netzwerkkonfiguration, einschließlich Maßnahmen, um Packet-Spoofing und andere Denial-of-Service-Angriffe (DoS-Angriffe) zu verhindern

Berechtigungen für Systemprotokolle

Sie können die gesamte Überprüfung manuell vornehmen – oder aber vernünftigerweise ein automatisch ablaufendes Werkzeug verwenden, das Ihnen diese Arbeit abnimmt. Abbildung 12.12 zeigt den Start von Tiger (www.nongnu.org/tiger), einem Werkzeug zur Überprüfung von Sicherheiten. Abbildung 12.13 gibt einen Teil eines Prüfvorgangs mit Tiger wieder. Hier erhalten Sie wirklich viel, ohne Geld ausgeben zu müssen!

Abbildung 12.12: Das Programm Tiger ablaufen lassen, um eine Sicherheitsüberprüfung durchzuführen

Abbildung 12.13: Ein Teil der von Tiger gelieferten Ergebnisse

Eine Alternative zu Tiger sind Linux Security Auditing Tool (LSAT; http://usat.sourceforge.net) und Bastille UNIX (http://bastille-linux.source forge.net).

Sicherheitsaktualisierungen für Linux

Das Beste, was Sie machen können, um eine sichere Linux-Umgebung zu erhalten, ist eine ständige Aktualisierung des Systems. Unabhängig von der Linux-Distribution, die Sie verwenden, gilt, dass Sie sich das Leben stark erleichtern können, wenn Sie für diese Aktualisierungen ein passendes Werkzeug nutzen.

Ich musste oft feststellen, dass Linux nicht in das Patch-Management eingebunden war. Viele Netzwerkadministratoren konzentrieren sich auf das Aktualisieren von Windows und vergessen dabei ihre Linux-Systeme. Tappen Sie nicht auch in diese Falle.

Aktualisierungen der Distributionen

Wie die Distributionen aktualisiert werden, hängt von den einzelnen Linux-Versionen ab. Abhängig von Ihrer Distribution können Sie diese Werkzeuge verwenden:

Red Hat: Die folgenden Werkzeuge aktualisieren Systeme mit Red Hat/Fedora Linux:

• Red Hat Package Manager (RPM), bei dem es sich um die mit einer grafischen Oberfläche (GUI) versehene Anwendung handelt, die auf dem Red-Hat-GUI-Desktop läuft. Sie verwaltet Dateien mit der Erweiterung .rpm, die Red Hat und Entwickler von Freeware- und Open-Source-Systemen verwenden, um ihre Programme zu packen.

• up2date, ein auf der Befehlszeile laufendes, textbasierendes Werkzeug, das Bestandteil von Red Hat/Fedora ist.

Debian: Sie können das Debian Package System (dpkg) nutzen, das zum Betriebssystem gehört, um Debian Linux zu aktualisieren.

Slackware: Sie können das Slackware Package Tool (pkgtool) nutzen, das zum Betriebssystem gehört, um Slackware Linux zu aktualisieren.

SuSE: SuSE Linux enthält YaST2 Software Management.

Achten Sie darauf, nicht nur den Linux-Kernel und das restliche Betriebssystem zu aktualisieren, sondern auch Apache, OpenSSL, OpenSSH, MySQL und die übrige Software Ihrer Systeme. Auch sie weisen Schwachstellen auf, die Sie nicht übersehen sollten.

Update-Manager für mehrere Plattformen

Es lohnt sich, einen Blick auf die Open-Source-Option RPM Package Manager (www.rpm.org) für mehrere Linux-Plattformen zu werfen. Kommerzielle Werkzeuge verfügen über zusätzliche Funktionen, zum Beispiel Patches mit Schwachstellen in einen Zusammenhang bringen und automatisch für die entsprechenden Sicherheitsaktualisierungen sorgen. Zu diesen kommerziellen Werkzeugen, die beim Linux-Patchmanagement helfen können, gehören Kaseya Patch Management (www.kaseya.com/features/patch-management.aspx) und Lumension Patch and Remediation (www.lumension.com/vulnerability-management/patch-management-software.aspx).

Teil V

Anwendungen hacken

In diesem Teil ...

Dieses Buch hat bis hierher schon sehr viel behandelt, angefangen bei nicht technischen Hacks bis hin zum Hacken von Netzwerken und Betriebssystemen. Wozu ich noch nicht gekommen bin, sind die Anwendungen, die dort laufen, sind Datenbankserver und die Speichersysteme, die dafür sorgen, dass die Daten zur Verfügung stehen, wenn wir sie benötigen.

Das erste Kapitel dieses Teils behandelt Hacks und Gegenmaßnahmen bei Benachrichtigungssystemen (neudeutsch Messaging-Systeme) wie E-Mail und Voice Over IP (VoIP). Danach kümmert sich dieser Teil um Web-Exploits und zeigt dazu einige Gegenmaßnahmen auf, um Websites und Webanwendungen vor den Elementen zu schützen. Zum Schluss behandelt dieser Teil Angriffe auf Datenbankserver und Speichersysteme. Dabei gehe ich sowohl auf strukturierte Daten ein, die in den verschiedenen Datenbanksystemen vorkommen, als auch auf unstrukturierte Daten, die auch unter dem Namen Dateien im Netzwerk bekannt sind.

13

Kommunikations- und Benachrichtigungssysteme

In diesem Kapitel ...

E-Mail-Systeme angreifen

Sofortnachrichtendienste attackieren

Sich an Voice-over-IP-Anwendungen vergreifen

Kommunikationssysteme wie E-Mail und Voice over IP (VoIP) weisen häufig Schwachstellen auf, die gerne übersehen werden. Warum? Nun, meiner Erfahrung nach ist Software zum Versenden und Empfangen von Nachrichten – sowohl als Server als auch als Client – häufig anfällig für Angriffe, weil Netzwerkadministratoren oft meinen, dass Firewalls und Antivirenprogramme ausreichen, um Schwierigkeiten draußen zu halten, oder sie vergessen einfach, auch diese Systeme zu schützen.

Ich zeige Ihnen in diesem Kapitel, wie Sie testen können, ob es auf Ihren Systemen bekannte E-Mail- und VoIP-Probleme gibt. Außerdem zeige ich wichtige Gegenmaßnahmen auf, um Hacks dieser Art gegen Ihre Systeme zu verhindern.

Eine Einführung in Schwachstellen bei Benachrichtigungssystemen

So gut wie alle Anwendungen, die in irgendeiner Form mit dem Versand von Nachrichten zu tun haben, sind Ziel von Angriffen. Die weite Verbreitung von E-Mail-Systemen und die Abhängigkeit der Unternehmen davon haben dazu geführt, dass sie zu einer Art Freiwild geworden sind. Und Gleiches gilt für VoIP. Es ist ganz schön erschreckend, was Leute mit krankhaften Absichten damit alles anstellen.

Eine der ganz großen Schwächen von Benachrichtigungssystemen ist, dass viele der ihnen zugrunde liegenden Protokolle ohne den Gedanken an Sicherheit entworfen worden sind – was ganz besonders für diejenigen gilt, die vor Jahrzehnten entwickelt wurden, als Sicherheit noch nicht die Bedeutung hatte, die ihr heute zuteilwird. Das Komische ist, dass selbst heutzutage moderne Benachrichtigungsprotokolle – oder zumindest die Implementierung der Protokolle – noch immer an schweren Sicherheitsproblemen leiden. Darüber hinaus wiegen leider Zweckmäßigkeit und Bedienungskomfort häufig mehr als Sicherheit.

Viele Angriffe auf Benachrichtigungssysteme sind nur kleinere Ärgernisse, während andere zu einer größeren Bedrohung für Ihre Daten und den Ruf Ihrer Organisation werden können. Die Angriffe können unter anderem so aussehen:

Übermitteln von Malware

Server zum Absturz bringen

Aus der Ferne die Kontrolle über Arbeitsstationen übernehmen

Informationen einsammeln, die durch das Netz reisen

E-Mails durchsehen, die auf Servern und Arbeitsstationen gespeichert worden sind

Sammeln von Informationen über Nachrichtenverläufe anhand von Protokolldateien oder Netzwerkanalysatoren, die Angreifern Hinweise auf Unterhaltungen zwischen Menschen und Unternehmen geben können (dies wird auch Analyse des Verkehrs genannt)

Telefonische Konversationen aufzeichnen und wieder abspielen

Infos über interne Netzwerkeinrichtungen wie Hostnamen und IP-Adressen sammeln

Diese Angriffe können zu Problemen wie nicht berechtigte – und möglicherweise illegale – Weitergabe sensibler Daten und dem Verlust von Daten führen.

Angriffe auf E-Mail erkennen und ihnen begegnen

Die folgenden Angriffsarten nutzen die Schwachstellen bei E-Mails aus, auf die ich am häufigsten gestoßen bin. Die gute Nachricht ist, dass Sie die meisten davon ausschalten oder bis zu dem Grad verringern können, wo sie kein Risiko mehr bedeuten. Sie selbst sollten An griffe gegen Ihre E-Mail-Systeme mit Bedacht ausführen – ganz besonders dann, wenn die Systeme unter Hochlast arbeiten.

Einige dieser Angriffe verlangen das kleine Einmaleins des Hackens: öffentlich zugängliche Informationen einsammeln, die Systeme durchsuchen und auslesen und Schwachstellen finden und ausnutzen. Andere können ausgeführt werden, indem Sie E-Mails versenden oder den Verkehr im Netzwerk abfangen.

E-Mail-Bomben

E-Mail-Bomben greifen an, indem sie für Ihre E-Mail-Software, Ihr Netzwerk und die Internetverbindungen Denial-of-Service-Bedingungen (DoS; deutsch Dienstverweigerung) schaffen. Dabei wird ein Großteil der vorhandenen Bandbreite und – manchmal – viel Speicherplatz verbraucht. E-Mail-Bomben können einen Server zum Absturz bringen und sorgen für einen nicht berechtigten administrativen Zugang.

Dateianhänge

Ein Angreifer kann einen Angriff ausführen, indem er an einen oder mehrere Empfänger in Ihrem Netzwerk Hunderte, wenn nicht sogar Tausende von E-Mails mit sehr großen Dateianhängen sendet.

Angriffe mit Dateianhängen von E-Mails

Angriffe, die Dateianhänge verwenden, können unter anderem diese Ziele haben:

Es kann um den gesamten E-Mail-Server gehen, um auf diese Weise den E-Mail-Verkehr vollständig zum Erliegen zu bringen:

• Überlastung des Speicherplatzes: Viele große Mails füllen die Speicherkapazitäten eines E-Mail-Servers schnell aus. Wenn diese Nachrichten nicht automatisch durch den Server oder manuell durch die einzelnen Benutzer gelöscht werden, ist der Server rasch nicht mehr in der Lage, neue Nachrichten zu empfangen.

Dies kann für Ihr E-Mail-System zu einem ernsthaften DoS-Problem werden, weil das System entweder zusammenbricht oder offline gehen muss, damit es von dem Müll gereinigt werden kann. Eine E-Mail mit einem 100 MB großen Anhang, die zehn Mal an 100 Benutzer gesendet wird, kann 100 GB Speicherplatz verbrauchen.

• Blockade der Bandbreite: Ein Angreifer kann Ihren E-Mail-Dienst abstürzen lassen oder in ein Schneckentempo versetzen, indem die eingehende Internetverbindung mit »Müll« überhäuft wird. Selbst wenn Ihr System offensichtliche Angriffe über Dateianhänge automatisch erkennt und die entsprechenden E-Mails aussortiert, fressen die fingierten Nachrichten Ressourcen auf und verzögern gültige Abläufe.

Ein Angriff auf eine einzelne E-Mail-Adresse kann ernsthafte Konsequenzen nach sich ziehen, wenn es um einen wichtigen Benutzer geht.

Maßnahmen gegen Angriffe über Dateianhänge von E-Mails

Diese Gegenmaßnahmen können helfen, Angriffe durch das Überladen mit Anhängen zu verhindern:

Begrenzen Sie die Größe von E-Mails oder E-Mail-Anhängen. Prüfen Sie nach, ob Ihr E-Mail-Server diese Option anbietet (was zum Beispiel bei Novell GroupWise und Microsoft Exchange der Fall ist). Prüfen Sie auch nach, ob eine solche Einstellung in einem System zum Filtern von E-Mail-Inhalten oder auf Clientebene möglich ist.

Begrenzen Sie den Platz, der den einzelnen Benutzern auf dem Server zur Verfügung steht. Dies verhindert, dass große Dateianhänge auf die Festplatte geschrieben werden. Begrenzen Sie auch die Größe der eingehenden und ausgehenden Nachrichten. Dies verhindert, dass Benutzer einen Angriff dieser Art aus Ihrem Netz heraus starten können. Ich meine, dass ein paar Gigabyte ausreichen sollten, wobei der Wert letztendlich von der Größe Ihres Netzwerks, dem verfügbaren Speicherplatz, der Unternehmenskultur und so weiter abhängt.

Denken Sie darüber nach, für die Übertragung großer Dateien SFTP oder HTTP statt E-Mails zu verwenden. Es gibt unzählige, auf der Cloud basierende Dienste für die Übertragung von Dateien. Sie könnten Ihre Benutzer auch dazu bringen, abteilungsbezogene Freigaben oder öffentliche Ordner zu nutzen.

Im Gegensatz zur allgemeinen Ansicht und dem üblichen Gebrauch sollte das E-Mail-System kein Aufbewahrungsort für Informationen sein. Das ist aber genau das, wozu sich E-Mail entwickelt hat. Ein E-Mail-Server, der so eingesetzt wird, kann leicht zu einem rechtlichen Risiko werden und sich in einen echten Albtraum verwandeln, wenn es zum Beispiel im Rahmen von Gerichtsverfahren zu den entsprechenden Durchsuchungen kommt. Ein wichtiger Teil Ihres Programms für die Sicherheit der Daten besteht darin, ein Programm für die Klassifizierung und Aufbewahrungsdauer von Daten zu entwickeln, das die Informationsverwaltung unterstützt. Versuchen Sie so etwas aber nicht als Einzelkämpfer. Binden Sie den Firmenanwalt, die Personalabteilung und die Geschäftsführung in Ihr Vorhaben ein. Dies verteilt die Verantwortung auf mehrere Schultern und sorgt dafür, dass im Unternehmen nicht zu viele – oder auch zu wenige – elektronische Informationen aufbewahrt werden.

Verbindungen

Ein Hacker kann gleichzeitig eine große Anzahl E-Mails an Adressen in Ihrem Netzwerk senden. Dies kann dazu führen, dass Ihr Server es aufgibt, sich um eingehende oder abgehende TCP-Anfragen zu kümmern. Diese Situation kann dazu führen, dass sich der Server vollständig aufhängt oder abstürzt und dabei eine Bedingung schafft, die es dem Angreifer ermöglicht, mit administrativen Rechten auf das System zuzugreifen.

Angriffe über eine Flut von E-Mails

Ein Angriff über eine Flut von E-Mails wird oft als Spam-Angriff oder DoS-Versuch vorgetragen.

Maßnahmen gegen Angriffe auf die Verbindungen

Halten Sie Angriffe über E-Mails so weit wie möglich aus Ihrem Netzwerk draußen. Je mehr Verkehr oder störendes Verhalten Sie von Ihren E-Mail-Servern und -Clients fernhalten können, desto besser.

Viele E-Mail-Server lassen es zu, die Zahl der Ressourcen zu begrenzen, die für eingehende Verbindungen verwendet werden. Dies zeigt Abbildung 13.1 mit der Option NUMBER OF SMTP RECEIVE THREADS von Novell GroupWise. Diese Einstellung hat auf jedem E-Mail-Server und jeder Firewall für E-Mails ihren eigenen Namen, weshalb Sie diesen Punkt in der Dokumentation Ihres Systems heraussuchen müssen. Leider ist es nicht möglich, eine Grenze für die Anzahl eingehender Anfragen festzulegen. Sie können aber die Auswirkungen eines solchen Angriffs so klein wie möglich halten. Diese Einstellung begrenzt die Server-Prozessor-Zeit, was bei einem DoS-Angriff helfen kann.

Abbildung 13.1: Die Zahl der Ressourcen begrenzen, die mit eingehenden Verbindungen zu tun haben

Selbst in großen Unternehmen gibt es keinen Grund dafür, dass innerhalb kürzester Zeit Tausende von eingehenden E-Mails abgeliefert werden müssten.

Einige E-Mail-Server, ganz besonders die auf Unix basierenden, können so eingerichtet werden, dass sie E-Mails an einen Daemon oder Dienst ausliefern, der dann automatisch etwas wie Führe diese Bestellung aus, wenn ein Auftrag eingegangen ist veranlasst. Wenn es in Ihrem System keinen DoS-Schutz gibt, schafft es ein Hacker, nicht nur den Server, sondern auch die Anwendung zum Absturz zu bringen, die bei E-Commerce-Systemen für die Bearbeitung der Aufträge zuständig ist. So etwas kann leicht bei Webanwendungen im Bereich des elektronischen Handels (auch E-Commerce genannt) passieren, wenn dort CAPTCHA für Formulare nicht eingeschaltet ist.

Automatische Sicherheitskontrollen für E-Mails

Sie können die folgenden Gegenmaßnahmen einrichten, um für Ihre E-Mails einen zusätzlichen Schutzwall zu errichten:

Teergrube oder Teerfalle (englisch Tarpitting): Tarpitting entdeckt eingehende Nachrichten, die für unbekannte Empfänger bestimmt sind. Wenn Ihr E-Mail-Server Tarpitting unterstützt, kann dies dabei helfen, Spam- oder DoS-Angriffe auf Ihren Server zu verhindern. Wenn ein vordefinierter Grenzwert erreicht wird, setzt die Tarpitting-Funktion den Verkehr von der sendenden IP-Adresse für einige Zeit aus.

E-Mail-Firewalls: E-Mail-Firewalls und Anwendungen zum Filtern von Inhalten, wie sie von Symantex und Barracude Networks angeboten werden, können Sie auf dem Weg zum Schutz vor E-Mail-Angriffen ein gutes Stück weiterbringen. Diese Werkzeuge schützen alle Teile eines E-Mail-Systems.

Schutz der Umgebung: Dies hat primär nichts mit E-Mails zu tun, aber viele Firewall- und IPS-Systeme sind in der Lage, über E-Mails laufende Angriffe zu erkennen und den Angreifer in Echtzeit abzuschalten.

CAPTCHA: CAPTCHA steht für Completely Automated Public Turing test to tell Computers and Humans Apart, was Vollautomatischer öffentlicher Turing-Test zur Unterscheidung zwischen Computern und Menschen bedeutet. Wenn Sie CAPTCHA für webbasierende E-Mail-Formulare verwenden, kann dies die Auswirkungen automatischer Angriffe klein halten und die Wahrscheinlichkeit verringern, dass Sie von E-Mail-Flooding und DoS betroffen werden.

Banner

Das Erste, was ein Hacker unternimmt, wenn er sich einen E-Mail-Server vornimmt, sind die Banner von E-Mails, um herauszufinden, was für ein E-Mail-Programm verwendet wird. Gleichzeitig ist dies einer der wichtigsten Tests: Was weiß die Welt über Ihre SMTP-, POP3- und IMAP-Server?

Informationen sammeln

Abbildung 13.2 zeigt das Banner, das auf einem E-Mail-Server ausgegeben wird, wenn über Port 25 (SMTP) eine einfache Telnet-Verbindung hergestellt wird. Um so etwas auf der Befehlszeile zu erledigen, geben Sie einfach telnet ip_oder_host_name_ihres_ servers 25 ein. Dies öffnet auf TCP-Port 25 eine Telnet-Sitzung.

Abbildung 13.2: Ein SMTP-Banner zeigt Informationen über die Serverversion an.

Es ist oft sehr einfach, die Art der Software und die Serverversion herauszubekommen, was Hackern den Weg für mögliche Angriffe besonders dann erleichtert, wenn sie in einer Schwachstellendatenbank nach bekannten Angriffspunkten suchen. Abbildung 13.3 zeigt das SMTP-Banner desselben E-Mail-Servers, nachdem es so geändert wurde, dass nicht mehr das Standardbanner ausgegeben wird.

Abbildung 13.3: Ein SMTP-Banner, das die Versionsinformationen verbirgt.

Sie können Informationen über POP3 und IMAP-E-Mail-Dienste erhalten, indem Sie Telnet mit Port 110 (POP3) oder Port 143 (IMAP) verwenden.

Wenn Sie Ihr standardmäßiges SMTP-Banner ändern, erreichen Sie damit nicht, dass ein Zugriff auf die Versionsinformationen unmöglich wäre. All-gemeine Schwachstellenscanner können trotzdem an die Version eines E-Mail-Servers gelangen. Das auf Linux basierende Werkzeug smtpscan (www.freshports.org/security/smtpscan) findet die Version eines E-Mail-Servers durch die Art heraus, wie der Server auf falsch aufgebaute SMTP-Anfragen reagiert. Abbildung 13.4 zeigt, was eine Anfrage von smtpscan an den Server aus Abbildung 13.3 liefert. Das Werkzeug smtpscan hat das Produkt und die Version des E-Mail-Servers erkannt.

Abbildung 13.4: smtpscan kommt sogar dann an Versionsinformationen, wenn das Banner verborgen ist.

Maßnahmen gegen Banner-Angriffe

Es gibt keinen hundertprozentig sicheren Weg, um Banner-Informationen zu verbergen. Meine Vorschläge für die Sicherheit Ihrer SMTP-, POP3- und IMAP-Server sehen so aus:

Ändern Sie die Standardbanner, um die Informationen unzugänglicher zu machen.

Sorgen Sie dafür, dass die neuesten Softwareaktualisierungen verwendet werden.

Bauen Sie um Ihren Server herum eine Mauer auf, indem Sie sich die besten Tipps dazu aus dem Internet holen und umsetzen. Als Quellen bieten sich hier das Bundesamt für Sicherheit in der Informationstechnik (BSI; https://www.bsi.bund.de/) und das Center for Internet Security (www.cisecurity.org) oder NIST (http://csrc.nist.gov) an.

SMTP

Es gibt Angriffe, die Schwächen des Simple Management Transfer Protocols (SMTP) ausnutzen. Dieses Kommunikationsprotokoll für E-Mails – das mehr als ein Jahrzehnt alt ist – wurde entwickelt, um zu funktionieren, und nicht, um sicher zu sein.

Auflistung von Konten

Clevere Angreifer finden heraus, ob auf einem E-Mail-Server Konten existieren, indem sie diesen Server mit Telnet auf Port 25 ansprechen und den Befehl VRFY ablaufen lassen. Dieser Befehl, bei dem es sich um eine Abkürzung für verify (deutsch: prüfen, bestätigen) handelt, sorgt dafür, dass der Server nachprüft, ob eine bestimmte Benutzer-ID vorhanden ist. Spammer automatisieren diese Methode gerne, um einen Directory-Harvest-Angriff (DHA) durchzuführen, bei dem es sich um einen recht bekannten Weg handelt, um von einem E-Mail-Server oder einer Domäne gültige E-Mail-Adressen zu erhalten. Dadurch wissen die Angreifer dann, wem sie Spam-, Phishing- oder mit Malware infizierte Nachrichten senden können.

Angriffe mit Auflistungen von Konten

Abbildung 13.5 zeigt, wie einfach es ist, mit dem Befehl VRFY auf einem Server die Gültigkeit einer E-Mail-Adresse zu überprüfen. Wenn dieser Angriff über ein Skript abläuft, können Tausende von Adresskombinationen getestet werden.

Abbildung 13.5: Lassen Sie sich mit »VRFY« bestätigen, dass eine E-Mail-Adresse existiert.

Der SMTP-Befehl EXPN – die Kurzform von expand, was erweitern bedeutet – kann es Angreifern erlauben zu prüfen, welche Mailinglisten auf einem Server existieren. Sie verwenden einfach wieder Telnet auf Port 25 des E-Mail-Servers mit diesem Befehl, wenn Sie den Namen einer Mailingliste kennen. Abbildung 13.6 zeigt, wie das Ergebnis aussehen könnte. Es ist nicht schwer, diesen Befehl in ein Skript aufzunehmen und Tausende von Namenskombinationen zu testen.

Abbildung 13.6: Lassen Sie sich mit »EXPN« bestätigen, dass eine Mailingliste existiert.

Wenn Sie diese beiden Tests durchführen, können Sie von Ihrem Server auch falsche Informationen erhalten. Einige SMTP-Server (wie Microsoft Exchange) unterstützen die Befehle VRFY und EXPN nicht, und es gibt E-Mail-Firewalls, die sie einfach ignorieren oder fingierte Daten liefern.

Ein anderer Weg, um den Ablauf irgendwie zu automatisieren, ist der Einsatz von EmailVerify, das Bestandteil von TamoSofts Essential NetTools (www.tamos.com/htmlhelp/nettools/emailverify.htm) ist. Wie Abbildung 13.7 zeigt, geben Sie einfach eine E-Mail-Adresse ein, klicken auf START, und EmailVerify verbindet sich mit dem Server und täuscht das Senden einer E-Mail vor.

Abbildung 13.7: Eine E-Mail-Adresse mit EmailVerify überprüfen

Ein anderer Weg, um an gültige E-Mail-Adressen zu gelangen, sieht so aus, dass Sie theHarvester (http://code.google.com/p/theharvester/) verwenden, um Adressen über Google und andere Suchmaschinen herauszubekommen. In Kapitel 8 beschreibe ich, wie Sie BackTrack Linux von www.backtrack-linux.org herunterladen und als ISO-Image auf eine CD brennen oder mit VMware oder VirtualBox direkt laden können. Wählen Sie auf der Oberfläche von BackTrack BACKTRACK|INFORMATION GATHERING|SMTP|GOOGLE MAIL ENUMERATION und geben Sie ./goog-mail.py –d <name_ihrer_domäne> -l 500 –b google ein (siehe Abbildung 13.8).

Abbildung 13.8: Mit Google Mail Enum Google-Mail-Adressen erhalten

Maßnahmen gegen das Auflisten von Konten

Wenn Sie Exchange nutzen, können Sie das Problem mit den Konten vergessen. Sollten Sie einen anderen Mailserver verwenden, hängt die beste Lösung, die diese Art des Ausspähens von Konteninformationen verhindert, davon ab, ob Sie die Befehle VRFY und EXPN wirklich benötigen:

Deaktivieren Sie VRFY und EXPN, bis Sie Ihr fernes System benötigen, um vom Server Informationen über Benutzer und Mailinglisten auszulesen.

Fall Sie VRFY und EXPN benötigen, sollten Sie in der Dokumentation zu Ihrem E-Mail-Server nachschlagen, wie Sie diese Befehle auf bestimmte Hosts Ihres Netzwerks oder im Internet begrenzen können.

Setzten Sie sich dann noch mit Ihrer Marketingabteilung und dem Webteam zusammen und sorgen Sie dafür, dass E-Mail-Adressen nicht im Web veröffentlicht werden. Bringen Sie auch Ihre Benutzer dazu, auf eine Veröffentlichung der Adressen im Web zu verzichten.

Relay

Beim SMTP-Relay versenden Benutzer E-Mails über externe Server. (Der englische Begriff Relay bedeutet auf Deutsch Weiterleitung, Weitergabe.) Offene E-Mail-Relays sind nicht das Problem, zu dem sie gerne gemacht werden, aber Sie müssen sich um sie kümmern. Spammer und Hacker können einen E-Mail-Server dazu bringen, über E-Mails Spam oder Malware unter dem Deckmantel des unverdächtigen Eigentümers des Open-Relay-Servers zu versenden.

Achten Sie darauf, Open-Relay von außerhalb Ihres Netzwerks zu testen. Falls Sie nur im Netzwerk bleiben, kann das Ergebnis zwar positiv, aber falsch sein, weil eine Weiterleitung nach draußen eingerichtet worden sein kann, die Ihre internen E-Mail-Clients benötigen, um Nachrichten in die weite Welt senden zu können.

Automatische Tests

Hier ein paar einfache Wege, um Ihren Server auf SMTP-Relay zu testen:

Kostenlose Online-Werkzeuge: Sie finden eines meiner online zu erhaltenden Lieblingswerkzeuge unter www.abuse.net/relay.html.

Auf Windows basierende Werkzeuge: Ein Beispiel ist NetScanTools Pro, das sie unter www.netscantools.com finden. Abbildung 13.9 zeigt, dass Sie mit NetScanTools Pro Ihren E-Mail-Server auf SMTP-Relay hin überprüfen können.

Abbildung 13.9: Die Komponente von NetScanTools Pro for Windows, die SMTP-Relays überprüft

Auch wenn einige SMTP-Server eingehende Weiterleitungsverbindungen akzeptieren und es so aussehen lassen, als ob die Weiterleitung funktioniere, ist das nicht immer der Fall, weil zwar die Initialisierungsverbindung zugelassen wird, es aber im Hintergrund zu einer Filterung kommt. Prüfen Sie nach, ob die E-Mail tatsächlich ihr Ziel gefunden hat, indem Sie auf dem entsprechenden Empfängerkonto nachsehen.

In NetScanTools Pro for Windows müssen Sie im Feld YOUR SENDING DOMAIN NAME einfach nur den SMTP-Mailserver benennen. Geben Sie in TEST MESSAGE SETTINGS die Empfängeradresse (RECIPIENT EMAIL ADDRESS) und die Absenderadresse (SENDER'S EMAIL ADDRESS) ein.

Wenn der Test fertig ist, müssen Sie nur noch auf VIEW RELAY TEST RESULTS klicken. Abhängig von den Optionen, die Sie für Ihren Test ausgewählt haben, könnte Ihr Ergebnis so aussehen wie das in Abbildung 13.10.

Abbildung 13.10: SMTP-Relay-Prüfergebnisse

Manuelle Tests

Sie können Ihren Server auch manuell auf SMTP-Relay testen, indem Sie ihn mit Telnet auf Port 25 ansprechen. Folgen Sie dazu diesen Schritten:

1. Sprechen Sie Ihren Server mit Telnet auf Port 25 an.

Sie können dies auf zwei Wegen machen:

• Verwenden Sie die von Ihnen bevorzugte grafische Telnet-Anwendung, zum Beispiel HyperTerminal (das zu Windows gehört) oder SecureCRT (www.vandyke.com/products/securecrt/index.html).

• Geben Sie auf einer Windows- oder Unix-Befehlszeile diesen Befehl ein:

telnet mailserver_adresse 25

Wenn die Verbindung hergestellt ist, sollten Sie das SMTP-Willkommensbanner sehen.

2. Geben Sie einen Befehl ein, der den Server darüber informiert, dass Sie sich aus einer Domäne heraus mit ihm verbinden wollen.

Es sollte nach jeder Befehlseingabe, die Sie in diesen Schritten vornehmen, eine neue Zahl wie 999 OK angezeigt werden. Sie können diese Nachrichten ignorieren.

3. Geben Sie einen Befehl ein, um dem Server Ihre E-Mail-Adresse mitzuteilen.

Zum Beispiel:

mail from:ihrname@ihredomäne.de

Sie können den Platzhalter ihrname@ihredomäne.de durch eine echte E-Mail-Adresse ersetzen.

4. Geben Sie einen Befehl ein, um zu bestimmen, an wen die E-Mail gesendet werden soll.

Zum Beispiel:

rcpt to:ihrname@ihredomäne.de

Sie können wieder den Platzhalter ihrname@ihredomäne.de durch eine echte E-Mail-Adresse ersetzen.

5. Geben Sie einen Befehl ein, um dem Server mitzuteilen, dass nun der Nachrichtenkörper folgt.

Zum Beispiel:

data

6. Geben Sie den folgenden Text als Nachrichtenkörper ein:

Ein Relay-Test!

7. Beenden Sie die Befehlseingabe mit einem Punkt auf einer eigenen Zeile.

Sie können auf der ersten Eingabezeile von Telenet ? oder help eingeben, um eine Liste mit allen unterstützten Befehlen angezeigt zu bekommen.

Der abschließende Punkt gibt das Ende der Nachricht an. Wenn Sie ihn eingegeben haben, wird Ihre Nachricht versendet, wenn die Weiterleitung zulässig ist.

8. Prüfen Sie auf dem Server nach, ob es Weiterleitungen gibt:

• Halten Sie nach einer Nachricht wie Relay not allowed oder Weiterleitung nicht zulässig Ausschau, die aussagt, dass eine Weiterleitung nicht erlaubt ist und vom Server zurückgeliefert wird.

Wenn Sie eine Nachricht erhalten, die dieser ähnelt, ist auf Ihrem Server SMTP-Relay nicht erlaubt oder es ist ein entsprechender Filter eingerichtet, denn viele Server filtern Nachrichten, die so tun, als ob sie von draußen kämen, während sie in Wirklichkeit von drinnen stammen.

Es kann sein, dass Sie diese Nachricht bereits erhalten, wenn Sie den Befehl rcpt to: eingegeben haben.

• Wenn Sie von Ihrem Server keine Nachricht erhalten, überprüfen Sie Ihren Posteingang, ob es dort eine weitergeleitete E-Mail gibt.

Wenn Sie die Test-E-Mail erhalten, die Sie abgesendet haben, ist SMTP-Relay auf Ihrem Server eingeschaltet und muss eventuell deaktiviert werden. Was Sie nämlich nicht gebrauchen können, ist, dass Spammer oder andere Angreifer es so aussehen lassen, als ob Sie massenhaft Spam versendeten, oder dass Sie deswegen von einem der sogenannten Blacklist-Provider auf eine schwarze Liste gesetzt werden. Wenn Sie da landen, unterbricht dies das Senden und das Empfangen von E-Mails praktisch mit sofortiger Wirkung – was für Ihre Geschäfte bestimmt nicht gut wäre!

Maßnahmen gegen SMTP-Relay-Angriffe

Sie können auf Ihrem E-Mail-Server die folgenden Gegenmaßnahmen ergreifen, um SMTP-Relay zu deaktivieren oder wenigstens zu kontrollieren:

Deaktivieren Sie auf Ihrem E-Mail-Server SMTP-Relay. Wenn Sie nicht wissen, ob Sie SMTP-Relay benötigen, ist das höchstwahrscheinlich nicht der Fall. Sie können SMTP-Relay auf dem Server oder in der Konfiguration Ihrer Firewall für bestimmte Hosts einrichten.

Wenn es Ihr E-Mail-Server zulässt, erzwingen Sie Authentifizierung. Eventuell sind Sie in der Lage, für E-Mails eine Kennwort-Authentifizierung einzurichten, die mit der der Domänenanmeldung übereinstimmt. Sie finden die entsprechenden Informationen gegebenenfalls in der Dokumentation Ihres E-Mail-Servers.

Offenlegung des E-Mail-Headers

Wenn Ihre E-Mail-Clients und der E-Mail-Server standardmäßig eingerichtet worden sind – wie das eigentlich so üblich ist –, kann ein Angreifer wichtige Informationen finden:

die interne IP-Adresse der Maschine Ihres E-Mail-Clients (was zu einem Ausspähen Ihres internen Netzwerks führen kann)

die Softwareversionen, die auf dem Client und dem Server laufen, und damit auch deren Schwachstellen

Tests

Abbildung 13.11 zeigt die Header-Informationen einer Testmail, die ich an mein kostenloses Webkonto gesendet habe. Wie Sie erkennen können, werden einige Informationen über mein E-Mail-System preisgegeben:

Die dritte Received-Zeile offenbart den Hostnamen meines Systems, die IP-Adresse, den Namen des Servers und die Softwareversion des Clients.

Die X-Mailer-Zeile zeigt an, welche Version von Microsoft Outlook ich verwendet habe, um diese Nachricht zu senden.

Abbildung 13.11: Wichtige Informationen, die ein E-Mail-Header offenlegt.

Maßnahmen gegen das Ausspähen von E-Mail-Headern

Die beste Maßnahme, um zu verhindern, dass Informationen aus den Headern von E-Mails ausgelesen werden, sieht so aus, dass Sie Ihren E-Mail-Server oder die E-Mail-Firewall so einrichten, dass sie den Header neu schreiben oder ihn ganz entfernen. Schauen Sie in der Dokumentation zum Server oder der Firewall nach, ob so etwas geht.

Falls es nicht möglich ist, den Header neu zu schreiben (oder falls Ihr ISP dies nicht zulässt), können Sie vielleicht verhindern, dass kritische Informationen wie die Versionsnummer der Software und interne IP-Adressen gesendet werden.

Verkehr abfangen

E-Mail-Verkehr kann zusammen mit Benutzernamen und Kennwörtern mit einem Netzwerkanalysator oder einem E-Mail-Packet-Sniffer and Reconstructor (einem »Schnüffler und Wiederhersteller«) abgefangen werden.

Ein solcher Schnüffler in E-Mail-Paketen und Wiederhersteller von Mails ist Mailsnarf, das zu dsniff gehört (www.monkey.org/~dugsong/dsniff/). Es gibt auch ein großartiges (nicht zu teures) kommerzielles Programm mit dem Namen NetResident (www.tamos.com/products/netresident/). Sie können aber auch Cain & Abel (www.oxid.it/cain.html) verwenden, um Schwachstellen beim E-Mail-Verkehr hervorzuheben. Ich gehe in Kapitel 7 darauf ein, wie mit diesem und anderen Werkzeugen Kennwörter geknackt werden.

Wenn ein Hacker oder ein böswilliger Insider an den Verkehr gelangt ist, kann er einen Host gefährden und möglicherweise vollen Zugriff auf einen benachbarten Host – wie den E-Mail-Server – erhalten.

Malware

E-Mail-Systeme werden regelmäßig von Malware wie Viren und Würmern angegriffen. Einer der wichtigsten Tests, den Sie auf der Suche nach Schwachstellen durchführen können, ist die Prüfung, ob Ihre Antivirensoftware auch wirklich funktioniert.

Bevor Sie mit dem Testen Ihrer Antivirensoftware beginnen, sorgen Sie dafür, dass die neueste Virensoftware mit den aktuellsten Signaturen geladen worden ist.

EICAR bietet eine sichere Methode an, um die Wirksamkeit Ihrer Antivirensoftware zu überprüfen. Obwohl es sich bei EICAR nicht um eine Methode handelt, umfassende Malware-Tests durchzuführen, bedeutet sie doch einen ersten, sicheren Anfang.

EICAR steht für European Institute for Computer Antivirus Research und ist eine europäische Denkfabrik, die mit den Herstellern von Antimalware zusammenarbeitet, um einen grundlegenden Systemtest zur Verfügung stellen zu können. Der EICAR-Teststring wird als Bestandteil des E-Mail-Körpers oder als Dateianhang übermittelt, damit Sie sehen können, wie Ihr Server und die Arbeitsstation damit umgehen. Sie laden diese – aus den folgenden 68 Zeichen bestehende – Datei auf Ihren Computer, um herauszufinden, ob sie von Ihrem Antiviren- oder Antimalwareprogramm entdeckt wird:

X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

Sie können unter www.eicar.org/anti_virus_test_file.htm eine Textdatei herunterladen. Auf dieser Site gibt es mehrere Versionen dieser Datei. Ich empfehle für die Tests die ZIP-Datei, damit Sie sicher sein können, dass Ihre Antivirensoftware auch Malware in komprimierten Dateien entdeckt.

Wenn Sie diesen Test laufen lassen, könnten Sie von Ihrer Antivirenlösung Informationen wie die in Abbildung 13.12 (links) erhalten. Es kann Ihnen aber auch passieren, dass das Antivirenprogramm das Herunterladen der Datei vollständig verhindert, was die übrigen beiden Bilder in Abbildung 13.12 zeigen.

Abbildung 13.12: Testen Sie die Wirksamkeit Ihrer Antivirensoftware mit dem Teststring von EICAR.

Sie können auch andere Werkzeuge verwenden, um Ihre Antivirensoftware zu testen und E-Mail-Systeme anzugreifen. Ich gehe in diesem Buch näher auf Metasploit (www.metasploit.com) ein, mit dem Sie fehlende Sicherheitsaktualisierungen bei Exchange und Servern entdecken können, die sich von Hackern nutzen lassen. Brutus (www.hoobie.net/brutus/) gibt Ihnen die Möglichkeit, das Knacken von Web- und POP3/IMAP-Kennwörtern zu testen.

Die besten Methoden, um Risiken bei E-Mails zu minimieren

Die folgenden Gegenmaßnahmen helfen dabei, den Nachrichtenversand in beiden Richtungen so sicher wie möglich zu machen.

Softwarelösungen

Die richtige Software kann viele Bedrohungen neutralisieren:

Verwenden Sie auf dem E-Mail-Server Software zum Schutz vor Malware, um zu verhindern, dass Malware auf die E-Mail-Clients gelangt. Es wäre sogar noch besser, die Schutzsoftware schon auf dem E-Mail-Gateway aufzusetzen. Der Einsatz der Schutzsoftware auf den Clients ist übrigens ein Muss.

Spielen Sie immer die neuesten Sicherheitsaktualisierungen für Betriebssysteme und E-Mail-Anwendungen auf. So etwas wird gerne auch als patchen bezeichnet.

Setzen Sie da Verschlüsselung ein, wo es sinnvoll ist. Sie können S/MIME oder PGP verwenden, um E-Mails mit sensiblen Daten zu verschlüsseln. Oder verschlüsseln Sie die Informationen bereits auf dem Desktop, dem Server oder dem E-Mail-Gateway.

Verlassen Sie sich beim Verschlüsseln von Nachrichten nicht auf Ihre Benutzer. Setzen Sie eine unternehmensweite Lösung ein, um alle Nachrichten automatisch zu verschlüsseln.

Achten Sie darauf, dass auch verschlüsselte Dateien und E-Mails vor Malware geschützt werden.

• Eine Verschlüsselung verhindert nicht, dass Dateien von Malware infiziert werden. Sie haben dann nur die Malware zusammen mit dem Rest der Datei oder E-Mail verschlüsselt.

• Eine Verschlüsselung verhindert, dass Antivirenprogramme auf dem Server oder dem Gateway die Malware entdecken, bevor sie auf dem Desktop landet.

Legen Sie in einer Richtlinie fest, dass Benutzer keine unverlangt erhaltenen E-Mails oder Dateianhänge öffnen dürfen. Dies gilt ganz besonders dann, wenn der Absender unbekannt ist.

Sorgen Sie für einen Plan B, der sich um Benutzer kümmert, die die Richtlinie ignorieren oder vergessen. Diese Benutzer gibt es!

Vorgehensweise

Wenn Sie ein paar einfache Richtlinien befolgen, können Sie Ihre Schutzwälle hochziehen und die Angreifer aus Ihren E-Mail-Systemen draußen halten:

Bringen Sie Ihren E-Mail-Server hinter einer Firewall in einem Netzwerksegment unter, das vom Internet und Ihrem internen LAN getrennt ist – idealerweise in einer sogenannten entmilitarisierten Zone.

Verstärken Sie Ihren E-Mail-Server dadurch, dass Sie nicht benötigte Protokolle deaktivieren.

Lassen Sie Ihren E-Mail-Server und das Scannen auf Malware auf dedizierten Servern laufen (wobei sich die Trennung sogar auf ausgehende und eingehende Nachrichten erstrecken sollte). Dies kann Angriffe von anderen Servern und Daten fernhalten, falls der E-Mail-Server gehackt wird.

Protokollieren Sie alle Transaktionen, die mit dem Server zu tun haben, für den Fall, dass Sie einen Missbrauch untersuchen müssen. Denken Sie daran, auch diese Protokolle zu überwachen! Wenn Sie dieser Kontrolle nicht gerecht werden können, sollten Sie darüber nachdenken, diese Funktion an ein darauf spezialisiertes Unternehmen zu übergeben.

Wenn auf Ihrem Server bestimmte E-Mail-Dienste nicht laufen müssen (SMTP, POP3 oder IMAP), deaktivieren Sie sie – sofort.

Bei webbasierender E-Mail wie Outlook Web Access (OWA) von Microsoft testen Sie Ihre Webanwendung sorgfältig und machen Sie sie und das Betriebssystem über die Methoden sicher, die ich in diesem Buch beschreibe.

Bestehen Sie auf starken Kennwörtern. Unabhängig davon, ob es sich um ein Konto auf einer eigenständigen Maschine oder ein Exchange-Konto auf Domänenebene handelt, fließen Schwächen eines Kennwortes in das Netzwerk und damit die E-Mails ein und können über Web-Access oder POP3 ausgenutzt werden. Ich behandele das Hacken von Kennwörtern in Kapitel 7.

Wenn Sie mit Sendmail arbeiten und dabei auch noch eine der älteren Versionen einsetzen, sollten Sie über einen Wechsel zu Postfix (www.postfix.org) oder qmail (www.qmail.org) nachdenken.

Voice over IP verstehen

Eine der heißesten Technologien, mit denen wir es heutzutage zu tun haben, ist zweifellos Voice over IP (VoIP) und unabhängig davon, ob es sich um hausinternes VoIP oder um Systeme für ferne Benutzer, um VoIP-Server, Softphones oder andere dazu gehörende Komponenten handelt, weisen alle Schwachstellen auf. Wie das oft beim Thema Sicherheit der Fall ist, haben sich nicht sonderlich viele Leute Gedanken darüber gemacht, wie es um die Sicherheit der gesprochenen Unterhaltung steht, die über ihr Netzwerk oder das Internet läuft. Sie aber dürfen dieses Thema auf keinen Fall übersehen. Geraten Sie jetzt nicht in Panik – es ist nie zu spät, Dinge richtig zu machen, und vergessen Sie nicht, dass VoIP noch ziemlich jung ist. Denken Sie aber daran, dass auch VoIP-Systeme in Ihr ethisches Hacken aufgenommen werden müssen.

Schwachstellen von VoIP

Es gibt keine Technologie oder Protokolle, die vor Einbrechern sicher sind. Da macht VoIP keine Ausnahme. Wenn Sie daran denken, was hier auf dem Spiel steht (Telefongespräche und die Verfügbarkeit von Telefonsystemen), haben Sie viel zu verlieren.

Systeme, die mit VoIP zu tun haben, sind nicht sicherer (oder unsicherer) als andere Computersysteme. Warum? Das ist einfach. VoIP-Systeme haben ihr eigenes Betriebssystem, sie haben IP-Adressen, und man kann vom Netzwerk aus auf sie zugreifen. Wenn wir alles zusammenzählen, was diese Systeme bieten, hat es den Anschein, als ob viele VoIP-Systeme intelligent wären – was eine kuriose Bezeichnung dafür ist, dass es dort nur mehr Dinge gibt, die schiefgehen können und VoIP angreifbarer machen.

VoIP-Systeme weisen Schwachstellen auf, die auch andere Systeme haben, die ich in diesem Buch behandele:

Standardeinstellungen
fehlende Sicherheitsaktualisierungen
schwache Kennwörter

Deshalb ist es wichtig, das Sie die Standard-Schwachstellenscanner verwenden, die ich in diesem Buch erwähne. Abbildung 13.13 zeigt Schwachstellen, die mit dem Authentifizierungsmechanismus der Weboberfläche eines VoIP-Adapters zu tun haben.

Abbildung 13.13: Ein Scan mit Webinspect eines VoIP-Netzwerkadapters zeigt einige Schwachstellen auf.

Diese Ergebnisse zeigen, dass es sich bei diesem Gerät offensichtlich um einen normalen Webserver handelt. Und genau darum geht es: VoIP-Systeme sind nichts als im Netzwerk hängende Computersysteme, die Schwachstellen aufweisen, die ausgenutzt werden können.

Zusätzlich gibt es zwei größere Sicherheitslöcher, die speziell mit VoIP zu tun haben. Das erste betrifft die Unterbrechung des Telefondienstes. Ja, VoIP reagiert auf Denial of Service (DoS) so empfindlich wie andere Systeme oder Anwendungen auch. Die zweite große Sicherheitsschwäche von VoIP ist, dass die Gespräche nicht verschlüsselt werden und somit abgefangen und aufgezeichnet werden können. Stellen Sie sich das Vergnügen vor, das ein Angreifer hat, der die Gespräche aufzeichnet und seine Opfer erpresst. So etwas ist bei ungesicherten drahtlosen Netzwerken kein Problem, wie ich weiter unten in diesem Kapitel im Abschnitt Sprachverkehr abfangen und aufzeichnen zeige. Aber auch drahtgebundene Netzwerke sind für so etwas kein ernsthaftes Hindernis.

Wenn ein VoIP-Netzwerk nicht durch ein eigenes Netzwerksegment, zum Beispiel durch ein Virtual Local Area Network (VLAN) geschützt wird, ist es besonders anfällig für Abhöraktionen, Denial of Service und andere Angriffsarten. Leider kann die VLAN-Barriere in Cisco- und Avaya-Umgebungen überwunden werden, indem Sie ein Werkzeug verwenden, das VoIP Hopper (http://voiphopper.sourceforge.net) heißt. Denken Sie daran: Immer, wenn Sie glauben, dass Ihre Systeme endlich geschützt sind, kommt so ein Werkzeug wie VoIP Hopper daher. Es geht doch nichts über den technischen Fortschritt!

Die Dinge, die mit VoIP zu tun haben, sind – anders als die normalen Schwachstellen bei Computern – nicht ganz so einfach durch Softwareaktualisierungen zu beheben. Diese Schwachstellen sind in das Session Initiation Protocol (SIP) und das Real-Time Transport Protocol (RTP) eingebettet, die VoIP für die Kommunikation verwendet. Hier kommen nun zwei Tests für VoIP, mit denen Sie die Sicherheit Ihrer Sprachsysteme überprüfen können.

Sie sollten sich unbedingt merken, dass SIP zwar das am häufigsten verwen-dete VoIP-Protokoll ist, dass es aber auch H.323 gibt. Es macht absolut keinen Sinn, auf Schwächen von SIP zu testen, wenn bei Ihnen H.323 eingesetzt wird. Wenn Sie mehr über H.323 wissen wollen, schauen Sie hier nach: http://de.wikipedia.org/wiki/H.323. Einen Vergleich der beiden Protokolle gibt es unter www.packetizer.com/ipmc/h323_vs_sip.

Auf Schwachstellen prüfen

Wenn Sie die richtigen Werkzeuge nutzen, können Sie bei VoIP nicht nur Schwach-stellen finden, die zum Netzwerk, dem Betriebssystem und der Webanwendung gehören. Ein gutes, auf Windows basierendes Werkzeug, das zum Auffinden von Schwach-stellen bei VoIP-Netzwerken entwickelt wurde, ist SiVuS. SiVuS erlaubt Ihnen, die grund-legenden Schritte des ethischen Hackens durchzuführen: Schwachstellen aufspüren und auflisten. Sie beginnen, indem Sie SiVuS herunterladen (www.voip-security.net/index.php/component/jdownloads/view.download/30/299) und installieren.

Laden Sie das Programm nach der Installation, und Sie können anfangen. Abbildung 13.14 zeigt die Ergebnisse, die mein erster Schritt mit SiVuS – COMPONENT DISCOVERY (oder Entdeckung der Komponenten) – geliefert hat.

Abbildung 13.14: Mit COMPONENT DISCOVERY von SiVuS aktive VoIP-Systeme im Netzwerk finden

Sie können COMPONENT DISCOVERY verwenden, um nach bestimmten VoIP-Hosts zu suchen, oder Sie scannen das gesamte Netzwerk. Ich empfehle die zweite Vorgehensweise, weil ich der Meinung bin, dass das Suchen nach einem bestimmten Host ziemlich mehr als speziell ist – und Sie niemals wissen, welche anderen VoIP-Systeme es dort draußen noch gibt, von denen Sie vielleicht nie gehört haben.

Wenn Sie Hosts gefunden haben, können Sie tiefer graben und DoS, Buffer-Overflow, schwache Authentifizierung und andere Schwachstellen aufstöbern, die mit VoIP zu tun haben. Sie können jeden Ihrer VoIP-Hosts testen, indem Sie diesen Schritten folgen:

1. Klicken Sie auf die Registerkarte SIP SCANNER und dann auf die Registerkarte SCANNER CONFIGURATION.

2. Geben Sie in der linken oberen Ecke im Feld TARGET(S) das beziehungsweise die Systeme ein, die Sie scannen möchten, und behalten Sie bei allen anderen Optionen die Standardeinstellungen bei.

Sie können nun die aktuelle Konfiguration speichern, indem Sie in der rechten unteren Ecke des Fensters auf SAVE CONFIGURATION klicken. Dadurch wird eine Vorlage angelegt, die Sie für die übrigen Hosts verwenden können, damit Sie die Einstellungen nicht jedes Mal neu anpassen müssen.

3. Klicken Sie auf die Registerkarte SCANNER CONFIGURATION PANEL und behalten Sie die aktuelle Konfiguration bei oder wählen Sie in der Dropdownliste CURRENT CONFIGURATION die von Ihnen erstellte Konfiguration aus.

4. Klicken Sie auf die grüne Schaltfläche SCAN, um das Durchsuchen zu starten.

5. Wenn SiVuS mit den Tests fertig ist, ertönt ein Signal.

Ihre Ergebnisse könnten so aussehen wie die in Abbildung 13.15.

Abbildung 13.15: SiVuS hat einige bei VoIP vorkommende Schwachstellen entdeckt.

Unabhängig davon, ob die von SiVuS gelieferten Ergebnisse und Empfehlung für Ihre Umgebung von Bedeutung sind, sollten Sie sie sichten, um herauszufinden, was gegebenenfalls gegen Schwachstellen getan werden muss. Denken Sie immer daran, dass auch die bösen Jungs draußen und drinnen diese Schwachstellen sehen können.

Sie können SiVuS auch verwenden, um SIP-Nachrichten zu erzeugen, die dann praktisch werden, wenn Sie auf Ihren VoIP-Hosts einen eingebauten VoIP-Authentifizierungs mechanismus testen wollen. Wie das geht, beschreibt die Dokumentation von SiVuS.

Andere kostenlose Werkzeuge zum Testen von SIP-Verkehr sind PROTOS (www.ee.oulu.fi/research/ouspg/protos/testing/c07/sip/index.html) und sipsak (http://sipsak.org). Eine gute Website, auf der viele VoIP-Werkzeuge zu finden sind, ist www.voipsa.org/Resources/tools.php.

Sprachverkehr abfangen und aufzeichnen

Wenn Sie Zugriff auf das drahtlose oder das drahtgebundene Netzwerk erlangen, können Sie problemlos VoIP-Unterhaltungen abfangen. Damit steht Ihnen eine ausgezeichnete Möglichkeit zur Verfügung nachzuweisen, dass das Netzwerk und die VoIP-Installation Schwächen aufweisen. Bei telefonischen Unterhaltungen gilt es, viele gesetzliche Fallstricke zu beachten, weshalb Sie sorgfältig auf die entsprechenden Genehmigungen achten sollten und die Testergebnisse niemals missbrauchen dürfen.

Sie können Cain & Abel verwenden, um sich in VoIP-Unterhaltungen einzuhängen. Sie können Cain & Abel unter www.oxid.it/cain.html herunterladen. Verwenden Sie Cain & Abels Routingfunktion für ARP-Poisoning, und Sie können sich in das Netzwerk einklinken und VoIP-Verkehr abfangen:

1. Laden Sie Cain & Abel herunter und klicken Sie auf die Registerkarte SNIFFER, um das Programm als Netzwerkanalysator laufen zu lassen.

Standardmäßig öffnet sich die Seite HOSTS.

2. Klicken Sie auf das Symbol START/STOP ARP (das wie ein Warnsymbol für radioaktiven Abfall aussieht).

Der Routing-Prozess des ARP-Poisonings startet und aktiviert den eingebauten Sniffer (deutsch Schnüffler).

3. Klicken Sie auf das blaue Plussymbol (+), um die Hosts hinzuzufügen, auf denen das ARP-Poisoning durchgeführt werden soll.

4. Es erscheint das Fenster MAC ADDRESS SCANNER, in dem Sie ALL HOSTS IN MY SUBNET aktivieren müssen. Klicken Sie dann auf OK.

5. Klicken Sie auf die Registerkarte ARP (das ist die mit dem kreisförmigen gelb-schwarzen Symbol), um die Seite ARP zu laden.

6. Klicken Sie unterhalb der obersten Spaltenüberschrift STATUS in den weißen Bereich (direkt unter der Registerkarte SNIFFER).

Dies reaktiviert das blaue +-Symbol.

7. Klicken Sie auf das blaue +-Symbol, und das Fenster NEW ARP POISONING ROUTING zeigt die in Schritt 3 entdeckten Hosts an.

8. Wählen Sie Ihren Standardrouter oder einen Host aus, dessen ein- und abgehende Pakete Sie abfangen wollen.

Ich wähle meinen Standardrouter aus, aber Sie könnten darüber nachdenken, Ihr SIP-Verwaltungssystem oder ein anderes zentrales VoIP-System zu nehmen. Die rechte Spalte füllt sich mit den restlichen Hosts.

9. Klicken Sie in der rechten Spalte bei gedrückt gehaltener Taste auf das System, das Sie infizieren möchten, um seinen Sprachverkehr abzufangen.

Ich habe meine VoIP-Netzwerkkarte ausgewählt, während Sie vielleicht darüber nachdenken sollten, alle VoIP-Telefone zu markieren.

10. Klicken Sie auf OK, um das ARP-Poisoning zu starten.

Dieser Vorgang kann – abhängig von Ihrer Netzwerkhardware und den lokalen TCP/IP-Stapeln der einzelnen Hosts – von wenigen Sekunden bis zu einigen Minuten dauern.

11. Klicken Sie auf die Registerkarte VOIP und alle Gespräche werden »automatisch« aufgezeichnet.

Und das ist natürlich das, was interessiert. Die Gespräche werden im .wav-Audioformat gespeichert. Sie müssen also ein aufgezeichnetes Gespräch nur mit der rechten Maustaste anklicken und PLAY wählen (siehe Abbildung 13.16). Beachten Sie, dass Gespräche, die aufgezeichnet werden, in der Spalte STATUS den Wert RECORDING ... enthalten.

Abbildung 13.16: VoIP-Gespräche mit Cain & Abel abfangen, aufzeichnen und wiedergeben

Die Sprachqualität, die Cain & Abel und andere Werkzeuge liefern, hängt vom verwendeten Codec ab. Bei meiner Ausrüstung ist es so, dass die Qualität bestenfalls grenzwertig zu nennen ist, aber das sollte eigentlich kein Problem darstellen, weil Ihr Ziel der Nachweis von Schwachstellen ist – nicht das Abhören fremder Gespräche.

Es gibt auch ein auf Linux basierendes Werkzeug mit dem Namen vomit (http://vomit.xtdnet.nl) – was die Kurzform von voice over misconfigured Internet telephones (deutsch: Sprache über falsch eingerichtete Internet-Telefone) ist. Sie können dieses Werkzeug verwenden, um VoIP-Unterhaltungen in .wav-Dateien umzuwandeln. Dafür müssen Sie zuerst die eigentliche Unterhaltung mit tcpdump abfangen. Das Ergebnis unter Linux ist dann aber im Prinzip dasselbe wie das, was Cain & Abel liefert.

Wenn Sie viel mit VoIP zu tun haben, empfehle ich dringend, in einen guten VoIP-Netzwerkanalysator zu investieren. Schauen Sie sich WildPackets OmniPeek an, eine großartige Komplettlösung für die Analyse drahtgebundener und drahtloser Netze (www.wildpackets.com/products/omnipeek_network_analyzer/), und CommView von TamoSoft (www.tamos.com/products/commview/), das eine erstklassige, nicht allzu teure Alternative ist.

Diese Schwachstellen von VoIP sind nur die Spitze des Eisbergs. Es erscheinen ständig neue Systeme, Software und damit zusammenhängende Protokolle, weshalb es sich lohnt, aufmerksam zu bleiben und damit um Ihre Unterhaltungen herum einen Schutzwall gegen Angreifer aufzubauen.

Maßnahmen gegen Schwachstellen bei VoIP

Es kann ziemlich knifflig werden, VoIP sicher zu machen. Ein erster Schritt in die richtige Richtung sieht so aus, dass Sie für Ihr Sprachnetz ein eigenes VLAN einrichten – oder sogar ein eigenes physisches Netzwerk, wenn sich so etwas in Ihre Umgebung einbinden lässt. Sie sollten außerdem darauf achten, dass alle Systeme, die mit VoIP zu tun haben, entsprechend den Herstellerempfehlungen sicher gemacht werden. Außerdem lohnt sich ein Blick auf die NIST-Dokumentation SP800-58 unter http://csrc.nist.gov/publications/nistpubs/800-58/SP800-58-final.pdf, die allgemein erprobte Vorgehensweisen bei VoIP behandelt.

14

Websites und Webanwendungen

In diesem Kapitel ...

Websites und Webanwendungen testen

Mit Google hacken

Vor SQL-Injection und Cross-Site-Scripting schützen

Schwächen bei der Anmeldung verhindern

Dem Missbrauch im Web begegnen

Den Quellcode analysieren

Websites und Webanwendungen sind Ziele, die Angreifer gerne wählen, weil sie häufig jedem die Möglichkeit geben, darin herumzustochern. Gerade die grundlegenden Seiten für Marketing, die Kontaktdaten, das Herunterladen von Dokumenten und so weiter bieten Angreifern viele Möglichkeiten, daran herumzupfuschen. Hacker werden dabei ganz besonders von Websites angezogen, die als Frontend für komplexe Anwendungen und Datenbanken dienen, die wertvolle Informationen wie Kreditkartennummern enthalten. Denn da liegt das Geld – sowohl im wortwörtlichen als auch im übertragenen Sinne.

Warum sind Websites und Webanwendungen so gefährdet? Übereinstimmend wird der Grund dafür darin gesucht, dass sie schlecht programmiert und nicht richtig getestet werden. Hört sich das bekannt an? Sollte es eigentlich. Dasselbe Problem betrifft Betriebssysteme und so gut wie alle Aspekte von Computersystemen. Dies ist eine der Nebenwirkungen, zu denen es kommt, wenn für die Fehlerprüfungen die Compiler zuständig sind, die Qualitätsanforderungen der Benutzer immer geringer werden und die Geschwindigkeit bei der Markteinführung wichtiger ist als der Gedanke an Sicherheit.

Dieses Kapitel führt vor, wie Sie Websites und Webanwendungen auf Ihren Systemen testen können. Wenn man bei Software alle benutzerdefinierten Einstellungsmöglichkeiten berücksichtigt, könnten Sie auf Tausende von Schwachstellen im Web testen. Ich konzentriere mich in diesem Kapitel auf diejenigen, auf die Sie am häufigsten stoßen, wenn Sie automatische Scanner verwenden oder etwas manuell analysieren. Außerdem zeige ich Gegenmaßnahmen auf, um die Wahrscheinlichkeit so gering wie möglich zu halten, dass jemand diese Angriffe auf Ihre wichtigen Systeme ausprobiert.

Ich möchte betonen, dass dieses Kapitel nicht in der Lage ist, alle denkbaren Schwachstellen im Web und alle Wege zu behandeln, sie auszutesten.

Die Werkzeuge für Webanwendungen auswählen

Gute Schwachstellenscanner und damit zusammenhängende Werkzeuge für das Web können dafür sorgen, dass Sie wirklich viel aus den Scans herausholen können. Wie so oft im Leben bin ich auch hier der Meinung, dass Sie genau die Testwerkzeuge bekommen, die dem geforderten Preis entsprechen. Aus diesem Grund verwende ich bei meiner Arbeit meistens kommerzielle Programme.

Und dies sind meine Favoriten, wenn es um das Testen von Sicherheit im Web geht:

Acunetix Web Vulnerability Scanner (www.acunetix.com) für umfassende Sicherheitstests, einschließlich einem Portscanner, einem HTTP-Sniffer und einem automatisch arbeitenden Werkzeug für SQL-Injections

Firefox Web Developer (http://chrispederick.com/work/web-developer) für die manuelle Analyse und Bearbeitung von Webseiten

Ja, Sie können auf eine manuelle Analyse nicht verzichten. Sie müssen auf jeden Fall einen Scanner verwenden, weil diese bereits die halbe Miete sind. Um auch die andere Hälfte einzustreichen, müssen Sie viel mehr tun, als nur automatisch arbeitende Werkzeuge ablaufen zu lassen. Sie müssen dort aufsetzen, wo Scanner nicht mehr weiterkommen. Wenn Sie die Sicherheit Ihrer Websites und der Webanwendungen wirklich überprüfen wollen, müssen Sie einiges manuell erledigen, und zwar nicht, weil die Web-Schwach stellen scanner fehlerhaft wären, sondern einfach weil das Herumgraben in Websystemen das gute, alte Tricksen als Hacker und einen Webbrowser verlangt.

HTTrack Website Copier (www.httrack.com) für das Spiegeln einer Site, damit sie offline untersucht werden kann.

Beim Spiegeln handelt es sich um eine Methode, in jeden Winkel einer Website zu kriechen und alle öffentlich zugänglichen Seiten auf ein lokales System herunterzuladen.

WebInspect von Hewlett-Packard (www.hpenterprisesecurity.com/products/ hp-fortify-software-security-center/hp-webinspect) für umfassende Sicherheitstests; enthält einen ausgezeichneten HTTP-Proxy, einen HTTP-Editor und ein Werkzeug für automatisierte SQL-Injections

Sie können auch die allgemeinen Schwachstellenscanner wie QualysGuard und LanGuard und Exploit-Werkzeuge wie Metasploit verwenden, wenn Sie Webserver und Webanwendungen testen. Sie können mit diesen Werkzeugen Schwächen finden (und ausnutzen), die Sie möglicherweise mit Webscannern nicht gefunden hätten. Google kann beim Graben in Webanwendungen und beim Suchen nach sensiblen Daten helfen.

Webanwendungen mit Caleb Sima hacken

In dieser Fallstudie teilt uns der bekannte Fachmann für die Sicherheit von Webanwendungen Caleb Sima seine Erfahrungen beim Testen von Webanwendungen mit.

Die Situation

Mr. Sima erhielt den Auftrag, das Eindringen in eine Webanwendung zu testen, um die Sicherheit der Website eines bekannten Finanzdienstleisters zu überprüfen. Nur mit der URL der zentralen Website im Gepäck machte sich Mr. Sima daran herauszufinden, welche anderen Sites diese Organisation noch besaß, indem er mit Google danach suchte. Mr. Sima führte zunächst automatisierte Scans gegen die zentralen Server aus, um zufällig offen gelassene Eingänge zu finden. Diese Scans lieferten Informationen über die Version des Webservers und ein paar grundsätzliche Daten, aber nichts, was ohne weitere Untersuchungen hätte gebraucht werden können. Dabei fiel auf, dass weder das IDS noch die Firewall seine Aktivitäten bemerkte. Dann ließ Mr. Sima auf der Startseite eine Anfrage an den Server los, die einige interessante Informationen lieferte. Die Webanwendung schien viele Parameter zu akzeptieren, aber als Mr. Sima die Site weiter durchsuchte, merkte er, dass sich die Parameter in der URL nicht änderten. Er entschied sich dafür, alle Parameter in der URL zu löschen, um zu sehen, welche Informationen dann noch vom Server zurückgeliefert werden, wenn weitere Anfragen abgesetzt werden. Der Server antwortete mit einer Fehlermeldung, die beschrieb, wie die Umgebung der Anwendung aussah.

Nun führte Mr. Sima eine Google-Suche nach der Anwendung durch, und er stieß auf einige ausführliche Dokumentationen. Er fand Artikel und technische Anmerkungen, die ihm zeigten, wie die Anwendung arbeitete und welche Dateien standardmäßig existieren sollten. Und tatsächlich, diese Dateien gab es auf dem Server. Mr. Sima nutzte diese Informationen, um die Anwendung weiter zu testen. Er entdeckte dann schnell interne IP-Adressen und welche Dienste die Anwendung anbot. Nachdem er herausgefunden hatte, welche Versionsnummer dort lief, wollte er sehen, was es sonst noch zu finden gab.

Mr. Sima veränderte die URL der Anwendung, indem er &-Zeichen einfügte, um das vom Webentwickler definierte Skript zu kontrollieren. Durch diese Technik gelangte er an alle Dateien mit dem Quellcode. Mr. Sima notierte sich einige interessante Dateinamen, zu denen auch VerifyLogin.htm, ApplicationDetail.htm, CreditReport.htm und ChangePassword.htm gehörten. Danach versuchte er, sich mit jeder einzelnen dieser Dateien zu verbinden, indem er eine besonders formatierte URL an den Server absetzte. Auf jede dieser Anfragen erhielt er vom Server die Meldung, dass der Benutzer nicht angemeldet sei. Daraus schloss er, dass die Verbindung wohl aus dem Intranet heraus vorgenommen werden muss.

Das Ergebnis

Mr. Sima wusste, wo die Dateien gespeichert waren, was es ihm ermöglichte, die Verbindung auszuforschen und herauszufinden, dass die Datei ApplicationData.htm ein Cookie einrichtete. Er veränderte die URL ein wenig und gewann den Jackpot. Die Datei lieferte, wenn sich ein neuer Benutzer registrierte, Informationen über Kunden und Kreditkarten. CreditReport.html gab Mr. Sima die Möglichkeit, sich Berichte über den Kreditstatus, über Betrugsverdächtigungen eines Kunden und über Informationen darüber anzusehen, ob der Kunde vom Unternehmen akzeptiert wurde. Außerdem standen in dieser Datei noch viele andere Dinge. Was lehrt uns das? Hacker können viele Arten von Informationen nutzen, um in Webanwendungen einzubrechen. Jedes einzelne Exploit dieser Fallstudie ist für sich nicht von besonderer Bedeutung, aber wenn alle Informationen zusammengefasst werden, ergibt sich eine schwerwiegende Schwachstelle.

Caleb Sima war Gründungsmitglied des X-Force-Teams von Internet Security Systems. Er wurde dann Mitbegründer von SPI Dynamics (das später HP aufgekauft hat) und wurde dort CTO und Leiter der SPI Labs, der Gruppe, die innerhalb von SPI Dynamics für die Untersuchung und Entwicklung von Sicherheit für Anwendungen verantwortlich ist.

Mit dem Web zusammenhängende Schwachstellen suchen

Der größte Teil aller Angriffe, die mit dem Internet zu tun haben, ist gegen ungesicherte Websites und Webanwendungen gerichtet und läuft über das Hypertext Transfer Protocol (HTTP). Die meisten dieser Angriffe können selbst dann durchgeführt werden, wenn der HTTP-Verkehr (über HTTPS oder HTTP über SSL) verschlüsselt abläuft, weil das Kommunikationsmedium nichts mit diesen Angriffen zu tun hat. Die Sicherheitsschwächen befinden sich in den Websites und Anwendungen selbst oder gehören zum Webserver und dem Browser, die die Systeme verwenden.

Viele Angriffe auf Websites und Webanwendungen können als kleinere Störung abgetan werden und berühren in der Regel auch keine wichtigen Daten oder die Verfügbarkeit von Systemen. Es gibt aber auch Angriffe, die sich richtig negativ auf Ihre Systeme auswirken können.

Directory Traversal

Beginnen wir zunächst mit einem einfachen Angriff vom Typ Directory Traversal. Bei Directory Traversal handelt es sich um eine »Einsteigerschwäche«, die interessante – und manchmal sogar sensible – Daten eines Websystems an die Oberfläche spülen kann. Zu einem solchen Angriff gehört das Durchsuchen einer Site mit dem Ziel, Informationen über die Verzeichnisstruktur und die wichtigen Dateien des Servers zu gewinnen.

Führen Sie die folgenden Tests durch, um Informationen über die Verzeichnisstruktur Ihrer Website zu erhalten.

Crawler

Ein solches Programm, das auch Spider-Programm genannt wird (Spider bedeutet auf Deutsch Spinne), kriecht in jeden Winkel Ihrer Website (to crawl bedeutet kriechen) und hält nach jeder öffentlich zugänglichen Datei Ausschau. In diese Programmkategorie fällt zum Beispiel HTTrack Website Copier. Wenn Sie HTTrack verwenden wollen, laden Sie das Programm einfach, geben Ihrem Projekt einen Namen und teilen HTTrack mit, welche Website(s) gespiegelt werden sollen, und nach wenigen Minuten oder Stunden (das hängt von der Größe und Komplexität der Site ab) ist alles, was auf der Site öffentlich zugänglich ist, auf Ihrem lokalen Laufwerk in c:\My Web Sites gespeichert. Abbildung 14.1 zeigt das, was beim »Kriechen« durch eine einfache Website herausgekommen ist.

Abbildung 14.1: Holen Sie sich die Einzelheiten einer Website mit HTTrack auf Ihren PC.

Komplexe Sites enthüllen häufig weitere Informationen, die eigentlich nicht mehr existieren sollten. Hierzu gehören alte Datendateien und sogar Anwendungsskripte und Quellcode.

Es lässt sich nicht vermeiden, dass ich während solcher Prüfungen der Web sicherheit auf dem Server über .zip- oder .rar-Dateien stolpere. Manchmal enthalten sie nur »Schrott«, aber oft sind sie voll mit sensiblen Daten, die dort eigentlich nichts zu suchen haben. Sollten Sie einmal in diese Situation geraten, müssen Sie jeden, der mit den Daten zu tun haben könnte, darüber informieren, dass sie ungenügend geschützt sind und es für Dritte einfach gewesen wäre, sie zu missbrauchen.

Schauen Sie sich an, was Ihr Crawling-Programm als Ergebnis liefert, um zu sehen, welche Dateien dort zu finden sind. Dabei müssen Sie sich normalerweise nicht um die üblichen HTML- und PDF-Dateien kümmern, weil diese höchstwahrscheinlich für den Weballtag benötigt werden. Man kann aber nicht behaupten, dass es falsch sei, jede Datei zu öffnen, um sicher sein zu können, dass sie auch wirklich hierhin gehört und keine sensiblen Daten enthält.

Google

Google, das Suchmaschinenunternehmen, das viele zu hassen lieben, kann für Directory Traversal verwendet werden. Das geht sogar so weit, dass Googles Abfragemöglichkeiten so leistungsstark sind, dass Sie sie nutzen können, um auch an sensible Daten, wichtige Da teien und Verzeichnisse des Webservers, Kreditkarten-Nummern, Webcams – praktisch an alles, was Google auf Ihrer Website entdeckt hat – zu gelangen, ohne die Site spiegeln und manuell durchsuchen zu müssen. Alles wartet eigentlich schon in Googles Cache darauf, von Ihnen entdeckt zu werden.

Hier kommen ein paar der erweiterten Google-Abfragen, die Sie direkt in das Suchfeld von Google eingeben können:

site: Hostname Schlüsselwörter – Diese Abfrage sucht nach Schlüsselwörtern wie SSN, vertraulich, Kreditkarte und so weiter. Ein Beispiel könnte so aussehen:

site:www.wiley-vch.de kamera
filetype: Dateierweiterung site: Hostname – Diese Abfrage sucht auf einer bestimmten Website nach bestimmten Dateitypen wie doc, pdf, db, dbf, zip und so weiter. Diese Dateitypen könnten vertrauliche Daten enthalten. Ein Beispiel könnte so aussehen:

filetype:pdf site:www.principlelogic.com

Zu den erweiterten Google-Operatoren gehören auch:

allintitle – sucht im Titel einer Webseite nach Schlüsselwörtern
inurl – sucht in der URL einer Webseite nach Schlüsselwörtern
related – findet Seiten, die einer Webseite ähneln
link – zeigt andere Sites an, die mit dieser Webseite verknüpft sind

Sie können unter www.googleguide.com/advanced_operators.html weitere Informationen zu diesem Thema nachlesen. Eine ausgezeichnete Quelle für ein Hacken mit Google ist Johnny Longs Site Google Hacking Database (GHDB) unter http://johnny.ihackstuff.com/ghdb.

Wenn Sie Ihre Site mit Google durchsieben, sollten Sie in Google Groups (http://groups.google.de) nach Informationen über Ihre Server und das Netzwerk Ihres Unternehmens Ausschau halten. Ich habe dort Veröffent lichungen von Mitarbeitern in Newsgroups gefunden, die zu viel über das interne Firmennetz preisgaben.

Maßnahmen gegen Directory Traversals

Sie können drei zentrale Maßnahmen dagegen ergreifen, dass Dateien über Directory Traversels offengelegt werden:

Heben Sie auf Ihrem Webserver keine alten Dateien mit sensiblen oder anderen Inhalten auf, die nicht öffentlich zugänglich sein dürfen. Die einzigen Dateien, die es in den Ordnern /htdocs und DocumentRoot geben darf, sind die, die gebraucht werden, damit die Site sauber funktioniert. Diese Dateien sollten keine vertraulichen Informationen enthalten.

Richten Sie die Datei robots.txt so ein, dass Suchmaschinen wie Google daran gehindert werden, die Bereiche Ihrer Site mit sensiblen Daten zu durchsuchen.

Sorgen Sie dafür, dass Ihr Webserver so eingerichtet wird, dass nur die Verzeichnisse öffentlich zugänglich sind, die benötigt werden, damit die Site sauber funktioniert. Hier heißt das Schlüsselwort »so wenig Berechtigungen wie möglich«.

Schauen Sie in der Dokumentation Ihres Webservers nach, was dort über die Kontrolle öffentlicher Zugriffe steht. Abhängig von der Version Ihres Webservers finden Sie diese Einstellungsmöglichkeiten hier:

• Bei Apache in den Dateien httpd.conf und .htaccess (weitere Informationen gibt es unter http://httpd.apache.org/docs/configuring.html).

• Internet Information Services Manager für IIS

Die neuesten Versionen dieser Webserver verfügen standardmäßig über eine gute Verzeichnissicherheit. Aus diesem Grund sollten Sie darauf achten, immer mit ganz aktuellen Programmen zu arbeiten.

Und dann sollten Sie darüber nachdenken, einen Köder wie Google Hack Honeypot (http://ghh.sourceforge.net) »aufzuhängen«. Ein Honeypot (was auf Deutsch Honigtopf bedeutet) zieht böswillige Benutzer an. Das macht es Ihnen möglich zu sehen, wie die Angreifer gegen Ihre Website vorgehen. Das so gewonnene Wissen können Sie dann dazu verwenden, sich die Angreifer vom Leib zu halten.

Angriffe über das Filtern von Eingaben

Websites und Webanwendungen sind berühmt dafür, dass sie so gut wie jede Eingabe ak zeptieren, davon ausgehen, dass diese gültig sind, und sie verarbeiten. Einer der größten Fehler, den Webentwickler machen können, ist der Verzicht auf eine Überprüfung der Eingaben.

Es gibt eine Reihe von Angriffsarten, bei denen die Daten bewusst falsch eingegeben werden. Diese Angriffe, bei denen häufig zu viele Daten gleichzeitig eingefügt werden, können das System verwirren und dazu bringen, zu viele Informationen zu enthüllen. Angriffe über Eingaben können es den »bösen Buben« leicht machen, sensible Daten über den Webbrowser eines nichts ahnenden Benutzers zu erhalten.

Buffer-Overflow

Eine der ernsthaftesten Angriffsarten ist der Buffer-Overflow (auf Deutsch Pufferüberlauf), der gezielt auf Eingabefelder von Webanwendungen gerichtet ist.

Stellen Sie sich vor, es gäbe eine Webanwendung, die einen Bericht über die Darlehens verbindlichkeiten von Kunden liefert. Diese Anwendung überprüft die Berechtigung von Benutzern, bevor diese Eingaben tätigen oder Berichte anzeigen können. Das Anmeldeformular verwendet den folgenden Code, um Benutzer-IDs mit einer maximalen Länge von zwölf Zeichen aufzunehmen. Die maximale Anzahl wird durch die Variable maxsize festgelegt:

<form name="Webauthenticate"

action="www.ihre_webanwendung.de/login.cgi"

method="POST">

...

<input type="text" name="inputname" maxsize="12">

...

Eine ganz normale Anmeldung verläuft so, dass ein gültiger Anmeldename von zwölf Zeichen oder weniger eingegeben wird. Natürlich kann die Variable maxsize auch in einen größeren Wert geändert werden, zum Beispiel in 100 oder sogar in 1000. Dann könnte ein Angreifer in das Feld schädliche Daten eingeben. Als Nächstes werden Sie unter Anrufen begraben – die Anwendung hat sich aufgehängt, Daten im Arbeitsspeicher überschrieben oder den Server zum Absturz gebracht.

Es ist nicht schwer, solch eine Variable zu ändern, wenn Sie mit einem Webproxy über die Seite gehen, wie er in den kommerziellen Web-Schwachstellenscannern vorhanden ist, auf die ich schon eingegangen bin, oder wenn Sie das kostenlose Produkt Paros Proxy (www.parosproxy.org) verwenden.

Webproxys befinden sich zwischen Ihrem Webbrowser und dem Server, den Sie testen. Sie erlauben Ihnen, Informationen zu ändern, die an den Server gesendet werden. Zuerst müssen Sie Ihren Webbrowser dazu bringen, den lokalen Proxy von 127.0.0.1 auf Port 8080 zu benutzen. Bei Firefox geht das, indem Sie EXTRAS|EINSTELLUNGEN wählen. Klicken Sie dann auf ERWEITERT und auf die Registerkarte NETZWERK. Klicken Sie nun im Bereich VERBINDUNG auf die Schaltfläche EINSTELLUNGEN und aktivieren Sie die Option MANUELLE PROXY-KONFIGURATION. Wählen Sie in Internet Explorer EXTRAS|INTERNETOPTIONEN und klicken Sie auf die Registerkarte INTERNETOPTIONEN. Klicken Sie auf die Schaltfläche LAN-EINSTELLUNGEN und aktivieren Sie das Kontrollkästchen PROXYSERVER FüR LAN VERWENDEN.

Sie müssen nun nur noch die Feldlänge ändern, bevor Ihr Browser die Seite anzeigt, und sie wird unabhängig davon wiedergegeben, welche Länge Sie hinterlegen. Sie können auch Firefox Web Developer verwenden, um die maximale Feldlänge zu entfernen, die in einem Webformular festgelegt wurde (siehe Abbildung 14.2). Verwechseln Sie WEB DEVELOPER nicht mit WEB-ENTWICKLER. Das Add-on Web Developer ist standardmäßig nicht vorhanden und muss manuell nachgeladen werden.

Abbildung 14.2: Ändern Sie die Länge eines Formularfeldes mit Web Developer

URL-Manipulation

Ein automatisierter Angriff durch eine Eingabe verändert eine URL, sendet sie an den Server und weist die Webanwendung an, verschiedene Dinge zu tun, zu denen zum Beispiel das Umleiten auf Websites Dritter, das Laden sensibler Daten und so weiter gehören. Eine solche Sicherheitslücke ist Local File Inclusion. Dabei akzeptiert die Webanwendung eine auf einer URL basierende Eingabe und liefert dem Benutzer den Inhalt der entsprechenden Datei zurück. So könnte zum Beispiel WebInspect etwas absenden, das dem folgenden Code ähnelt, um vom Linux-Server den Inhalt der Datei passwd zurückgeliefert zu bekommen:

https://www.your_web_app.com/onlineserv/Checkout.cgi?state=
detail&language=english&imageSet=/../..//../..//../..//../

..///etc/passwd

Die folgenden Links sind ein weiteres Beispiel für das Tricksen mit URLs; es wird URL-Redirection (für Umleitung) genannt:

http://www.your_web_app.com/error.aspx?PURL=http://www.bad~site.

com&ERROR=Path+'OPTIONS'+is+forbidden.

http://www.your_web_app.com/exit.asp?URL=http://www.bad~site.com

Ein Angreifer kann in beiden Fällen diese Schwachstelle ausnutzen, indem er Verknüpfungen an arglose Benutzer sendet oder diese Verknüpfungen auf einer Webseite unterbringt. Wenn ein Benutzer auf eine solche Verknüpfung (den Link) klickt, wird er auf eine bösartige Site eines Dritten umgeleitet, die Malware oder »unschickliches« Material enthält.

Ausgeblendete Felder verändern

Einige Websites und Webanwendungen enthalten aus Webseiten ausgeblendete Felder, über die Statusinformationen zwischen dem Webserver und dem Browser ausgetauscht werden. Ausgeblendete Felder werden in einem Webformular mit <input type="hidden"> erzeugt. Da bei der Codierung gerne Fehler gemacht werden, enthalten diese Felder oftmals vertrauliche Informationen (zum Beispiel bei einer E-Commerce-Site die Preise eines Produkts), die nur in einer Datenbank auf dem Backend abgelegt werden dürfen. Benutzer sollten ausgeblendete Felder niemals zu Gesicht bekommen – das sagt schon die Art der Felder aus –, aber ein neugieriger Angreifer kann sie über die folgenden Schritte finden und ausnutzen:

1. Zeigen Sie den HTML-Quellcode an.

Damit Internet Explorer den Quellcode anzeigt, wählen Sie ANSICHT|QUELLCODE. Bei Firefox wählen Sie EXTRAS|WEB-ENTWICKLER|SEITENQUELLTEXT ANZEIGEN.

2. Ändern Sie die Informationen, die in diesen Feldern abgelegt worden sind.

So könnte zum Beispiel ein Angreifer den Preis von 100 Euro in 10 Euro ändern.

3. Schicken Sie die Seite zurück an den Server.

Dieser Schritt gibt dem Angreifer die Möglichkeit, seine illegalen Ziele wie das Erreichen eines niedrigeren Preises bei einem Einkauf im Web zu erreichen.

Es kann extrem gefährlich sein, ausgeblendete Felder für eine Authentifizierung (Anmeldung) zu verwenden. Ich bin einmal auf ein ausgeblendetes Multifunktionsfeld gestoßen, in dem hinterlegt wurde, wie oft ein Benutzer sich falsch anmelden konnte, bevor er ausgesperrt wurde. Dieses Feld sollte verhindern, dass Kennwörter unbegrenzt oft eingegeben werden können, um sie zum Beispiel zu knacken. Dadurch, dass ich das Feld entdeckte, war ich in der Lage, den Wert für die Fehlversuche auf 0 herabzusetzen und damit die Sperre auszuschalten. Böswillige Angreifer können dann in Ruhe über Wörterbücher oder Brute-Force-Angriffe versuchen, Zugang zur Anwendung zu bekommen.

Es gibt eine Reihe von Werkzeugen wie Web Proxy (das Bestandteil von WebInspect ist) oder Paros Proxy, die problemlos in der Lage sind, ausgeblendete Felder zu verändern. Abbildung 14.3 zeigt die Oberfläche von SPI Proxy und die ausgeblendeten Felder einer Webseite.

Abbildung 14.3: Ausgeblendete Felder mit SPI Proxy finden, um sie zu ändern

Wenn Sie auf ausgeblendete Felder stoßen, können Sie versuchen, sie zu ändern, um zu sehen, was passiert.

Code-Injection und SQL-Injection

Auch bei der Code-Injection werden, wie beim Umleiten von URLs (der URL-Redirection) Systemvariablen geändert. Hier ein Beispiel:

http://www.ihre_web_app.de/script.php?info_variable=X

Angreifer, die diese Variable sehen, können in das Felde info_variable Werte eingeben und X in etwas ändern, was so aussehen könnte:

http://www.ihre_web_app.de/script.php?info_variable=Y
http://www.ihre_web_app.de/script.php?info_variable=123XYZ

Die Webanwendung könnte auf eine Weise antworten, die Angreifer mit mehr Informationen versorgt, als sie je erhofft haben, zum Beispiel mit detaillierten Fehlermeldungen oder dem Zugriff auf Datenfelder, auf die sie eigentlich nicht zugreifen dürfen. Die ungültige Eingabe kann die Anwendung oder den Server auch veranlassen, sich aufzuhängen. Hacker können diese Informationen auch nutzen, um mehr über die Anwendung und ihre Interna herauszufinden, was letztendlich zu einer ernsthaften Gefährdung des Systems werden kann.

Wenn HTML-Variablen in der URL weitergegeben werden und man dadurch leicht auf sie zugreifen kann, ist es nur eine Frage der Zeit, bis jemand Ihre Webanwendung missbraucht.

Code-Injection kann auch gegen SQL-Datenbanken auf Backendservern ausgeführt werden und heißt dann SQL-Injection. Angreifer fügen in URL-Anforderungen SQL-Anweisungen wie CONNECT, SELECT und UNION ein und versuchen damit, eine Verbindung zu der SQL-Datenbank aufzubauen und aus ihr Informationen auszulesen, die die Webanwendung verwendet. Zu SQL-Injections kann es kommen, wenn Anwendungen die Eingaben nicht sauber überprüfen und wenn Datenbank- und Webserver informative Fehlermeldungen zurückliefern.

Zwei Arten von SQL-Injections kommen häufig vor. Fehlerbasierende SQL-Injections nutzen Fehlermeldungen aus, die von der Anwendung zurückgegeben werden, wenn es zu ungültigen Eingaben in das System kommt. Zu blinden SQL-Injections kommt es, wenn Fehlermeldungen deaktiviert sind, was den Hacker oder ein automatisiert ablaufendes Werkzeug zwingt zu raten, was die Datenbank zurückliefert und wie sie auf den Angriff über die Injection antwortet.

Es gibt einen schnellen und ziemlich zuverlässigen Weg, um herauszufinden, ob Ihre Webanwendung durch SQL-Injection gefährdet werden kann. Geben Sie einfach in ein Formularfeld oder an das Ende der URL einen Apostroph (') ein. Wenn ein SQL-Fehler zurückgegeben wird, ist die Wahrscheinlichkeit groß, das SQL-Injection möglich ist.

Auch hier gilt – dieses Mal für einen Web-Schwachstellenscanner –, dass Sie die Software erhalten, die dem gezahlten Preis entspricht. Und ohne einen solchen Scanner kommen Sie nicht aus, wenn Sie sich ernsthaft darum kümmern wollen, ob Ihre Systeme für SQL-Injections anfällig sind. Abbildung 14.4 zeigt, welche SQL-Injection-Schwachstellen Web Inspect gefunden hat.

Abbildung 14.4: WebInspect hat SQL-Injection-Schwachstellen entdeckt.

Wenn Sie SQL-Injection-Schwachstellen entdecken, könnten Sie vielleicht auf die Idee kommen, etwas dagegen zu unternehmen. Das ist auch gut so. Ich versuche auf jeden Fall immer erst herauszubekommen, wie weit ich in die Datenbank eindringen kann. Eine ausgezeichnetes – und aufregend einfach zu bedienendes – Werkzeug hierfür ist SQL Injector, das Bestandteil von WebInspect ist. Sie übergeben dem Werkzeug einfach die verdächtige URL, die Ihr Scanner entdeckt hat, und es beginnt eine SQL-Injection, wie sie Abbildung 14.5 zeigt.

Abbildung 14.5: SQL-Injections mit SQL Injector automatisieren

Sie können in SQL Injector auf die Schaltflächen GET DATA oder PUMP DATA klicken, um Informationen als Auszug zu erhalten (siehe Abbildung 14.6).

Wenn Sie nur über ein begrenztes Budget verfügen, sollten Sie über ein kostenloses SQL-Injection-Werkzeug wie SQL Power Injector (www.sqlpowerinjector.com) oder das Firefox-Add-on SQL Inject Me (https://addons.mozilla.org/en-us/firefox/addon/sql-inject-me) nachdenken.

Ich gehe in Kapitel 15 genauer auf die Sicherheit von Datenbanken ein.

Abbildung 14.6: Mit SQL Injectors Data Pump Spaltennamen herausholen

Cross-Site-Scripting

Cross-Site-Scripting (XSS;deutsch websiteübergreifendes Scripting) ist die vielleicht bekannteste Gefährdung im Web, zu der es kommt, wenn eine Webseite Benutzereingaben anzeigt, die normalerweise über JavaScript erfolgen und die nicht sauber auf Richtigkeit überprüft werden. Ein krimineller Hacker kann die Abwesenheit von Eingabefiltern nutzen und dafür sorgen, dass eine Webseite auf dem Computer eines Benutzers schädlichen Code ausführt.

So kann zum Beispiel ein XSS-Angriff die Benutzer-ID und das Kennwort einer gefälschten Anmeldeseite anzeigen. Wenn nun ein Benutzer auf dieser Anmeldeseite seine ID und das dazugehörende Kennwort eingibt, werden diese Daten in einer Protokolldatei auf dem Webserver des Hackers abgelegt. Es kann bösartiger Code an den Computer eines Opfers gesendet werden und dort in demselben Sicherheitsumfeld wie der Webbrowser oder eine E-Mail-Anwendung laufen, mit dem beziehungsweise der diese Seite angezeigt wird. Der bösartige Code kann einen Hacker mit vollen Schreib/Lese-Rechten versorgen, damit er Cookies und den Browserverlauf durchsuchen und sogar Malware herunterladen und installieren kann.

Ein einfacher Test zeigt, ob Ihre Webanwendung durch XSS gefährdet werden kann. Schauen Sie sich alle Felder an, die eine Benutzereingabe zulassen (zum Beispiel auf einem Anmelde- oder einem Suchformular), und geben Sie die folgende JavaScript-Anweisung ein:

<script>alert('XSS')</script>

Falls sich ein Fester mit dem Inhalt XSS öffnet (siehe Abbildung 14.7), ist die Anwendung gefährdet.

Abbildung 14.7: Script-Code, der sich im Browser widerspiegelt

Es gibt viele Möglichkeiten, XSS auszunutzen, zum Beispiel über eine Interaktion des Benutzers durch die JavaScript-Funktion onmouseover. Wenn Sie eine wirkliche Prüfung auf XSS vornehmen wollen, kommen Sie wie bei der SQL-Injection ohne automatisiertes Scannen nicht aus. WebInspect und Acunetix Web Vulnerability Scanner machen einen ausgezeichneten Job, wenn es darum geht, XSS zu finden. Häufig stoßen sie sogar auf verschiedene XSS-Probleme, was eigentlich nur ein Beweis dafür ist, dass Sie möglichst mehrere Scanner einsetzen sollten, Abbildung 14.8 zeigt XSS-Beispiele, die Acunetix Web Vulnerability Scanner gefunden hat.

Abbildung 14.8: Acunetix Web Vulnerability Scanner verwenden, um in einer Webseite Cross-Site-Scripting zu finden

Ein anderer Web-Schwachstellenscanner, der sehr gut darin ist, sogar XSS zu finden, das viele andere Scanner übersehen, ist NTOSpider von NT Objec tives (www.ntobjectives.com). Ich habe die Erfahrung gemacht, dass NTOSpider besser als andere Scanner Authentifizierungsscans gegen Anwendungen durchführt, die Multifaktor-Authentifizierungssysteme verwenden. NTOSpider sollten Sie immer als ersten oder zumindest zweiten Scanner auf dem Radar haben. Denken Sie immer daran: Wenn es um Web-Schwachstellen geht, können Sie nicht genug Scanner einsetzen.

Maßnehmen gegen Angriffe über Eingaben

Websites und Webanwendungen müssen eingehende Daten filtern. Die Sites und die Anwendungen müssen die eingegebenen Daten überprüfen und dafür sorgen, dass diese auch mit den Parametern übereinstimmen, die die Anwendung erwartet. Wenn dies nicht der Fall ist, sollte die Anwendung eine Fehlermeldung erzeugen oder zur vorherigen Seite zurückkehren. Sie darf auf keinen Fall die Ramschdaten akzeptieren, verarbeiten und wieder an den Benutzer ausgeben.

Wenn die Software sorgfältig codiert wird, kann dies die ganze Problematik verhindern. Entwickler sollten diese bewährten Vorgehensweisen kennen und umsetzen:

Geben Sie niemals statische Werte aus, außer der Webbrowser oder ein Benutzer muss sie wirklich sehen. Stattdessen sollten diese Daten serverseitig in die Webanwendung eingebunden und nur bei Bedarf von einer Datenbank empfangen werden.

Filtern Sie Tags vom Typ <script> in Eingabefeldern.

Deaktivieren Sie so weit wie möglich detaillierte Fehlermeldungen, die mit dem Webserver und der Datenbank zu tun haben.

Sensible Daten, die lokal gespeichert sind

Ich verwende während meines ethischen Hackens oft einen hexadezimalen Editor, um zu sehen, wie eine Anwendung sensible Daten wie Kennwörter im Arbeitsspeicher ablegt. Wenn ich Firefox und Internet Explorer verwende, kann ich mit einem hexadezimalen Editor wie WinHex (www.x-ways.net/winhex) den von der Anwendung genutzten Arbeitsspeicher durchsuchen und finde regelmäßig Benutzer-IDs mit den passenden Kennwörtern.

Ich habe herausgefunden, dass diese Informationen bei Internet Explorer selbst dann noch im Arbeitsspeicher stehen, wenn Sie zu anderen Websites gegangen sind oder sich bei der Anwendung abgemeldet haben. Dieser Gebrauch des Arbeitsspeichers führt auf dem lokalen System zu einem Sicherheitsrisiko, wenn ein anderer Benutzer Zugriff auf den Computer erhält oder wenn das System mit Malware infiziert ist, die den Arbeitsspeicher nach sensiblen Daten durchsucht. Die Weise, wie Browser sensible Daten im Arbeitsspeicher ablegen, wirkt sich insbesondere dann negativ aus, wenn es zu einem Anwendungsfehler kommt oder der Speicherinhalt angezeigt wird, weil der Benutzer die Informationen aus Gründen der Qualitätssicherung an Microsoft (oder einen anderen Browser-Hersteller) sendet. Es ist auch alles andere als gut, wenn diese Informationen in eine Datei auf der lokalen Festplatte geschrieben werden und darauf warten, gefunden zu werden.

Suchen Sie nach sensiblen Daten, die im von der Webanwendung oder von selbstständig laufenden Programmen genutzten Arbeitsspeicher abgelegt werden, wenn diese Anwendungen eine Authentifizierung verlangen. Sie könnten vom Ergebnis überrascht werden. Sie können dann kaum mehr tun, als die Anmeldeberechtigungen zu vernebeln und zu codieren, denn unglücklicherweise ist diese »Funktion« Teil eines Webbrowsers, den Entwickler nicht in den Griff bekommen.

Zu einem ähnlichen Sicherheitsproblem kann es clientseitig kommen, wenn statt Anforderungen vom Typ HTTP POST Anforderungen vom Typ HTTP GET verwendet werden, um sensible Daten zu verarbeiten. Hier ein Beispiel für eine gefährliche GET-Anforderung:

https://www.ihre_web_app.de/access.php?username=ksauer&password=WhAteVur!&login=SoOn

GET-Anforderungen werden oft in der Verlaufsdatei des Webbrowsers eines Benutzers, in einer Protokolldatei des Webservers oder in den Protokolldateien eines Proxys abgelegt. GET-Anforderungen können an die Sites Dritter über das HTTP-Referrer-Feld übermittelt werden, wenn der Benutzer eine solche Site besucht. Das kann dann dazu führen, dass Anmeldeinformationen offengelegt werden und es zu nicht berechtigten Zugriffen auf Webanwendungen kommt. Was lernen wir daraus? Verwenden Sie auf keinen Fall HTTP GET. Auf jeden Fall sollten diese Schwachstellen endgültig ein guter Grund dafür sein, die Festplatten Ihrer Laptops und anderer Computer zu verschlüsseln, die nicht physisch geschützt werden können.

Angriffe auf Standardskripte

Schlecht geschriebene Webprogramme wie Hypertext Preprocessor (PHP) und Active Server Pages (ASP) können es Hackern erleichtern, Dateien auf einem Webserver anzusehen und andere Dinge zu veranstalten, zu denen sie nicht berechtigt sind. Schwächen dieser Art gibt es auch in Content Management Systemen (CMS), die von Entwicklern, Mitarbeitern der IT und Marketing-Leuten verwendet werden, die den Inhalt einer Website verwalten. Angriffe auf Standardskripte kommen häufig vor, weil in Websites problemlos auf schlecht geschriebenen Code zugegriffen werden kann. Außerdem können sich Hacker auch die Tatsache zunutze machen, dass auf Webservern verschiedene Beispielskripte installiert werden, wobei sich hier gerade ältere Versionen von Microsofts Webserver IIS negativ hervortun.

Viele Webentwickler und Webadministratoren verwenden diese Skripte, ohne zu verstehen, wie sie wirklich funktionieren, oder ohne sie zu testen. Das führt dann dazu, dass sich gravierende Angriffsmöglichkeiten auftun.

Um auf Schwachstellen zu testen, die durch Skripte hervorgerufen werden, können Sie Ihre Skripte manuell durchgehen oder ein Suchwerkzeug (wie die Suchfunktion, die Bestandteil von Windows ist, oder wie Find von Linux) verwenden, um fest in den Code eingebundene Benutzernamen, Kennwörter und andere sensible Daten zu finden. Suchen Sie nach admin, root, user, ID, login, signon, anmeldung, password, pass, kennwort, kenn, pwd und so weiter. Im Regelfall kann darauf verzichtet werden, sensible Daten fest in Skripte einzubinden. Häufig ist dies ein Hinweis auf wenig Erfahrung beim Codieren, was dann dazu führt, dass Zweckmäßigkeit über Sicherheit siegt.

Maßnahmen gegen Angriffe auf Standardskripte

Sie können Angriffe auf Standard-Webskripte verhindern, wenn Sie sich hierum kümmern:

Lernen Sie, wie Skripte funktionieren, bevor Sie sie in einer Webumgebung veröffentlichen.

Sorgen Sie dafür, dass alle Standard- oder Beispielskripte vom Server verschwinden, bevor Sie auf die Idee kommen, sie zu nutzen.

Verwenden Sie keine öffentlich zugänglichen Skripte, die fest codierte vertrauliche Daten enthalten. So etwas kann man nur als groben Konstruktionsfehler bezeichnen.

Richten Sie für sensible Bereiche Ihrer Site/Anwendung Dateiberechtigungen ein. um öffentliche Zugriffe zu verhindern.

Unsichere Anmeldemechanismen

Viele Websites verlangen, dass sich Benutzer anmelden, bevor sie mit der Anwendung etwas anfangen können. Diese Anmeldemechanismen gehen häufig nicht sehr elegant mit falschen Benutzer-IDs oder Kennwörtern um. Oft enthüllen sie zu viele Informationen. die ein Angreifer verwenden kann, um gültige Benutzer-IDs und Kennwörter zu erhalten.

Um zu testen, ob es unsichere Anmeldemechanismen gibt, gehen Sie mit dem Browser zu Ihrer Anwendung und melden sich an,
indem Sie einen ungültigen Anmeldenamen mit einem gültigen Kennwort verwenden;
indem Sie einen gültigen Anmeldenamen mit einem ungültigen Kennwort verwenden;
indem Sie einen ungültigen Anmeldenamen mit einem ungültigen Kennwort verwenden.

Nachdem Sie diese Daten eingegeben haben, könnte die Webanwendung mit einer Nachricht antworten, die Ihr Anmeldename ist ungültig oder Ungültiges Kennwort lautet. Es könnte sich aber auch um eine vom System erzeugte Meldung handeln, die so etwas Ähnliches wie Zugangsdaten nicht erkannt oder Your user ID and password combination is invalid zum Inhalt hat, während gleichzeitig in der URL verschiedene Fehlercodes für ungültige Benutzernamen und für ungültige Kennwörter ausgegeben werden, wie Abbildung 14.9 und Abbildung 14.10 zeigen.

Abbildung 14.9: Die URL gibt eine Fehlermeldung zurück, wenn ein ungültiger Benutzername eingegeben wurde.

Abbildung 14.10: Die URL gibt eine andere Fehlermeldung zurück, wenn ein ungültiges Kennwort eingegeben wurde.

In beiden Fällen handelt es sich dabei um keine gute Nachricht, weil Ihnen die Anwendung nicht nur mitteilt, welcher Parameter ungültig ist, sondern auch, welcher gültig ist. Dies bedeutet, dass Angreifer einen Benutzernamen oder ein Kennwort kennen – sich ihre Arbeit also halbiert hat. Wenn Sie den Benutzernamen kennen (der normalerweise leichter zu erraten ist), können Sie einfach ein Skript schreiben, um den Vorgang des Kennwortknackens zu automatisieren, und umgekehrt.

Sie sollten nun beim Testen von Anmeldungen einen Schritt weiter gehen und ein Werkzeug zum Knacken von Webanmeldungen wie Brutus (www.hoobie.net/brutus/index.html) verwenden (siehe Abbildung 14.11). Brutus ist ein sehr einfaches Werkzeug,

Abbildung 14.11: Das Werkzeug Brutus zum Testen schwacher Webanmeldungen

mit dem Sie sowohl auf HTTP als auch auf Formularen basierende Authentifizierungsmechanismen knacken können. Dabei werden sowohl Wörterbücher als auch Brute-Force-Angriffe eingesetzt.

Das Knacken von Kennwörtern kann immer eine lang dauernde und mühselige Angelegenheit sein, und es besteht die Gefahr, dass Sie dabei Benutzerkonten sperren. Seien Sie also vorsichtig.

Eine – besser gepflegte – Alternative zum Knacken von Kennwörtern ist THC-Hydra (www.thc.org/thc-hydra).

Die meisten kommerziellen Web-Schwachstellenscanner verfügen über anständige auf Wörterbücher basierende Werkzeuge zum Knacken von Webkennwörtern, aber keines (das ich kenne) ist in der Lage, Brute-Force-Tests so durchzuführen wie Brutus. Wie ich in Kapitel 7 beschreibe, hängt Ihr Erfolg beim Knacken von Kennwörtern von den verwendeten Wörterbüchern ab. Dies hier sind ein paar beliebte Sites, auf denen es Wörterbuchdateien und eine Sammlung verschiedener Listen mit Wörtern gibt:

ftp://ftp.cerias.purdue.edu/pub/dict
http://packetstormsecurity.org/Crackers/wordlists
www.outpost9.com/files/WordLists.html

Auch Acunetix Web Vulnerability Scanner führt während der Scans Tests auf schwache Kennwörter durch. Ich habe diesen Scanner erfolgreich eingesetzt, um schwache Kennwörter von Outlook Web Access (OWA) zu finden, auf die ich auf andere Weise nie gestoßen wäre. Ein solcher Fund führt häufig dazu, tiefer in OWA und dazugehörende Systeme eindringen zu können.

Eventuell können Sie sogar auf eine Software verzichten, die Ihnen beim Knacken von Kennwörtern hilft, weil es auf vielen Frontend-Websystemen immer noch die Kennwörter gibt, die die Systeme im Auslieferungszustand hatten; »password«, »admin« oder einfach nichts. Einige Kennwörter sind sogar in den Quellcode der Anmeldeseite eingebettet, wie es die Zeilen 207 und 208 des Quellcodes für die Netzwerkkamera in Abbildung 14.12 zeigen.

Abbildung 14.12: Die Anmeldeinformationen einer Netzwerkkamera sind direkt in den HTML-Quellcode eingebettet.

Maßnahmen gegen unsichere Anmeldesysteme

Sie können die folgenden Gegenmaßnahmen einrichten, um andere daran zu hindern, schwache Anmeldesysteme Ihrer Webanwendungen erfolgreich anzugreifen:

Alle Anmeldefehler, die an den Endbenutzer zurückgemeldet werden, sollten so allgemein wie möglich gehalten werden und aussagen, dass der Anmeldename und das Kennwort ungültig sind.

Die Anwendung sollte in der URL niemals Fehlercode zurückgeben, der zwischen einem ungültigen Benutzernamen und einem ungültigen Kennwort unterscheidet.

Wenn eine URL-Meldung zurückgegeben werden muss, sollte die Anwendung sie so allgemein wie möglich halten. Hier ein Beispiel:

www.ihre_web_app.de/login.cgi?success=false

Diese URL-Information mag vielleicht unbefriedigend für den Benutzer sein, aber sie verbirgt den Mechanismus und die Aktionen im Hintergrund vor einem Angreifer.

Verwenden Sie CAPTCHA (oder reCAPTCHA) oder Anmeldeformulare, um Versuche zu verhindern, Kennwörter zu knacken.

Schaffen Sie sich für Ihren Webserver oder Ihre Webanwendung einen Mechanismus an, der Eindringlinge nach 10 bis 15 Fehlversuchen bei der Anmeldung aussperrt. Diese Aufgabe kann über die Sitzungsverwaltung oder ein Firewall-Add-on eines Drittanbieters erledigt werden. Ich gehe weiter hinten in diesem Kapitel im Abschnitt Firewalls errichten näher auf solche Add-ons ein.

Prüfen Sie nach, ob es herstellerseitige Kennwörter gibt, und ändern Sie sie in etwas, an das Sie sich zwar leicht erinnern können, das aber nur schwer zu erraten ist.

Web 2.0 hacken

Web 2.0 änderte die Weise, wie das Internet genutzt wird. Von YouTube über Facebook bis hin zu Twitter sind neue server- und clientseitige Technologien wie Webservices, Ajax und Flash mit einem Tempo auf den Markt gekommen, als ob man Angst hätte, sie kämen gleich wieder aus der Mode. Und dabei handelt es sich keineswegs nur um Technologien für Endverbraucher. Auch das geschäftliche Umfeld hat ihren Wert erkannt und Entwickler greifen begeistert auf die neuesten Technologien zu.

Unglücklicherweise hat Web 2.0 einen großen Nachteil: Komplexität. Diese neuen Internet-Anwendungen, wie sie von einigen genannt werden, sind so komplex, dass Entwickler, Mitarbeiter der Qualitätssicherung und Sicherheitsverantwortliche kämpfen müssen, um bei den dabei auftretenden Sicherheitsproblemen auf dem Laufenden zu bleiben. Verstehen Sie mich nicht falsch. Das, was Web-2.0-Anwendungen an Schwachstellen liefern, gleicht dem herkömmlicher Technologien: XSS, SQL-Injection, Änderung von Parametern und so weiter. Das Problem ist, dass automatisiert arbeitende Web-Schwachstellen scanner bisher noch nicht erwachsen genug sind, um zumindest alle großen Sicherheitslücken zu finden. Wenn ich die Sicherheit von Web-2.0-Anwendungen prüfe, muss ich meine Analysen meistens manuell durchführen. Ich glaube aber, dass sich das im Laufe der Zeit ändern wird. In der Zwischenzeit verwenden Sie eines der folgenden Werkzeuge, um Web-2.0-Anwendungen auf Schwachstellen zu testen:

Firefox Web Developer für die Analyse von Skriptcode und für weitere manuelle Prüfungen (http://chrispederick.com/work/web-developer)

SWFScan (http://bit.ly/ShyhVz) für das Dekompilieren und Analysieren von Shockwave-Flash-Dateien (.swf)

WSDigger für die Analyse von Web-Services (www.mcafee.com/us/downloads/free-tools/wsdigger.aspx)

WSFuzzer für die Analyse von Web-Services (www.owasp.org/index.php/Category:OWASP_WSFuzzer_Project)

An Web-2.0-Anwendungen kommen Sie nicht mehr vorbei, weshalb Sie sich um das Thema »Sicherheit« kümmern sollten, bevor diese Technologie noch komplexer wird.

Allgemeine Sicherheitsscans bei Webanwendungen durchführen

Ich möchte noch einmal darauf hinweisen, dass Sie die Sicherheit Ihrer Websysteme sowohl manuell als auch automatisiert testen müssen. Wenn Sie sich nur auf eine dieser Methoden verlassen, werden Sie niemals einen wirklichen Überblick gewinnen. Ich empfehle dringend den Einsatz eines Allzweck-Schwachstellenscanners für das Web wie WebInspect, Acunetix Web Vulnerability Scanner oder NTOSpider, die Ihnen dabei helfen, Schwachstellen auszugraben, auf die Sie normalerweise nicht stoßen würden. Kombinieren Sie die Scannerergebnisse mit einem bösartigen Verstand und den Techniken des Hackens, die ich in diesem Kapitel beschreibe, und Sie befinden sich auf dem besten Weg, die Sicherheitslöcher zu finden, auf die es ankommt.

Risiken bei der Websicherheit minimieren

Wenn Sie Ihre Webanwendungen sicher halten wollen, müssen Sie ständig aufmerksam sein und diese Aufmerksamkeit an Ihre Webentwickler und die Hersteller weitergeben. Verwenden Sie die neuesten Testwerkzeuge und Techniken und lassen Sie Ihre Webentwickler und die Hersteller wissen, dass in Ihrer Organisation Sicherheit eine extrem wichtige Rolle spielt.

Sicherheit durch Verbergen

Die folgenden Formen von Sicherheit durch Verbergen – das bedeutet, etwas mit ganz einfachen Methoden so zu verbergen, dass es nicht sofort gesehen wird – können dabei helfen, automatisierte Angriffe über Würmer oder Skripte zu verhindern, die so geschrieben wurden, dass sie gegen bestimmte Skripttypen oder Standard-HTTP-Ports gerichtet sind:

Um Webanwendungen und damit zusammenhängende Datenbanken zu schützen, sollte jeder Webserver, die Anwendung und der Datenbankserver auf eigenen Maschinen laufen.

Die Betriebssysteme dieser einzelnen Maschinen sollten auf Schwachstellen getestet und durch bewährte Verfahren und die Gegenmaßnahmen geschützt werden, die in den Kapiteln 11 und 12 beschrieben werden.

Verwenden Sie die im Webserver vorhandenen Sicherheitsfunktionen, und bedienen Sie sich der Zugriffskontrollen und der Prozessisolierung, wie sie in IIS als Anwendungsisolierung vorhanden ist. Dadurch sorgen Sie dafür, dass im Falle eines Angriffs auf eine Webanwendung andere Anwendungen, die auf demselben Server laufen, nicht ebenfalls beeinträchtigt werden.

Verwenden Sie ein Werkzeug, um die Identität Ihres Webservers zu verbergen. Am besten anonymisieren Sie den Server. Ein Beispiel hierfür ist ServerMask von Port 80 Software (www.port80software.com/products/servermask).

Wenn Sie sich Sorgen darüber machen, dass plattformspezifische Angriffe gegen Ihre Webanwendung vorgetragen werden, können Sie den Angreifer dadurch austricksen, dass Sie ihn glauben lassen, der Webserver und das Betriebssystem seien etwas ganz anderes. Hier ein paar Beispiele:

• Wenn bei Ihnen ein Microsoft IIS mit Anwendungen läuft, könnten Sie alle ASP-Skripte so umbenennen, dass sie die Dateierweiterung .cgi erhalten.

• Wenn bei Ihnen ein Linux-Webserver läuft, verwenden Sie ein Programm wie IP Personality (http://ippersonality.sourceforge.net), um den Fingerprint des Betriebssystems so zu ändern, dass es aussieht, als wenn es sich um etwas anderes handele.

Ändern Sie die Webanwendung, damit sie auf einem Port läuft, der kein Standard ist. Ändern Sie zum Beispiel den standardmäßigen HTTP-Port 80 oder den HTTPS-Port 443 in eine höhere Portnummer, zum Beispiel 8877, und richten Sie den Server so ein, dass er als Benutzer ohne besondere Rechte läuft – also etwas anderes als System, Administrator, root und so weiter.

Verlassen Sie sich niemals nur auf das Verbergen; das ist nicht narrensicher. Ein »gelernter« Angreifer könnte herausfinden, dass das System nicht das ist, was zu sein es vorgibt. Aber es ist immer noch besser als nichts.

Firewalls errichten

Denken Sie darüber nach, zusätzliche Kontrollen einzurichten, um Ihre Websysteme zu schützen:

Eine auf dem Netzwerk basierende Firewall oder ein IPS, die beziehungsweise das Angriffe auf Webanwendungen entdecken und blockieren kann. Hierzu gehören kommerzielle Firewalls und ein Next-Generation-IPS von Firmen wie SonicWall (http://www.sonicwall.com/de/de/). Schauen Sie sich auch Point (www.checkpoint.com) und Sourcefire (www.sourcefire.com/security-technologies/network-security/next-generation-intrusion-prevention-system) an.

Ein auf dem Host basierendes IPS für Webanwendungen wie SecureIIS (www.eeye.com/products/secureiis-web-server-security) oder Server Defender (www.port80software.com/products/serverdefender).

Diese Programme können Angriffe auf Webanwendungen und Datenbanken in Echtzeit entdecken und ausschalten, bevor sie die Gelegenheit haben, Ärger zu machen.

Quellcode analysieren

Sicherheitslöcher nehmen in der Softwareentwicklung ihren Anfang und sollten dort eigentlich auch ein Ende finden, was leider nur selten der Fall ist. Wenn Sie sich bei Ihren Anstrengungen als ethischer Hacker sicher fühlen, können Sie tiefer graben, um im Quellcode sicherheitstechnische Schwächen zu finden, die durch herkömmliche Scanner und Technologien des Hackens nicht zu entdecken sind. Keine Sorge, das ist einfacher, als es sich anhört. Sie müssen noch nicht einmal Zeile für Zeile durch den Code gehen, um zu sehen, was geschieht. Und Sie benötigen dafür keine Erfahrung als Entwickler (obwohl dies hilfreich wäre).

Verwenden Sie einfach ein statisches Werkzeug für die Analyse des Quellcodes wie die, die von Veracode (www.veracode.com) und Checkmarx (www.checkmarx.com) angeboten werden. Bei der CxSuite von Checkmarx (oder um genauer zu sein, bei CxDeveloper) handelt es sich um ein Werkzeug, das zu einem vernünftigen Preis zu haben ist und über ein sehr umfangreiches Angebot an Tests von Webanwendungen und mobilen Apps verfügt.

Wie Abbildung 14.13 zeigt, laden Sie bei CxDeveloper einfach den Enterprise Client, melden sich an der Anwendung an (die Standardanmeldung lautet admin-cx/admin), starten CREATE SCAN WIZARD, um ihn auf den Quellcode zu richten und ihre Scanrichtlinie auszuwählen, klicken auf NEXT, klicken auf RUN und sind fertig.

Abbildung 14.13: Mit CxDeveloper eine in die Tiefe gehende Analyse eines ASP.NET-Quellcodes vornehmen

Wenn der Scan abgeschlossen ist, können Sie sich mit den gefundenen Ergebnissen und den entsprechenden Empfehlungen beschäftigen (siehe Abbildung 14.14).

Abbildung 14.14: Überdenken Sie Ergebnisse einer Quellcode-Analyse mit CxDeveloper.

Sie benötigen eigentlich nicht mehr als CxDeveloper, um Schwachstellen im C#-, Java- und mobilen Quellcode zu analysieren und die entsprechenden Berichte anzufertigen. Auch Checkmarx bietet wie Veracode einen auf der Cloud basierenden Analysedienst an. Wenn Sie sich dazu durchringen können, Ihren Quellcode an einen Dritten hochzuladen, finden Sie hier eine höchst effiziente Methode, um einen Quellcode zu analysieren.

Die Analyse eines Quellcodes führt häufiger dazu, dass Schwachstellen aufgedeckt werden, als das mit herkömmlichen Sicherheitstests möglich wäre. Wenn Sie Ihre Tests so umfassend wie möglich durchführen wollen, machen Sie beides. Die zusätzliche Testebene, die eine Analyse des Quellcodes bietet, wird gerade bei mobilen Apps immer wichtiger. Diese Apps sind oft voller Sicherheitslöcher, von denen die jüngeren Softwareentwickler noch nie etwas gehört haben. Ich behandele mobile Schwachstellen in Kapitel 10.

Wenn Sie es schaffen, Ihren Entwicklern und den Menschen, die für die Qualitätssicherung zuständig sind, klarzumachen, dass Sicherheit bei ihnen beginnt, können Sie die Sicherheit der Daten des gesamten Unternehmens auf ein neues Niveau heben.

15

Datenbanken und Speichersysteme

In diesem Kapitel ...

Schwächen bei Datenbanken testen und ausnutzen

Schwachstellen bei Speichersystemen suchen

Sensible Daten aufstöbern

Dem Missbrauch von Datenbanken und Speichersystemen begegnen

Angriffe auf Datenbanken und Speichersysteme können eine sehr ernste Angelegenheit werden, weil sich dort »die Werte« befinden, was Angreifer natürlich wissen. Angriffe dieser Art können über das Internet oder im internen Netzwerk vorgenommen werden, wenn dort externe Angreifer und bösartige interne Benutzer Schwachstellen ausnutzen. Diese Angriffe können auch über die Webanwendung aufgrund einer SQL-Injection erfolgen.

In Datenbanken eintauchen

Datenbanksysteme wie Microsoft SQL Server, MySQL und Oracle verstecken sich gerne im Hintergrund, aber ihr Wert und die bei ihnen vorhandenen Schwachstellen haben letztendlich auch sie auf die Bühne gezerrt. Ja, selbst das mächtige Oracle, von dem es einst hieß, dass es nicht zu knacken sei, ist durch ähnliche Exploits gefährdet, wie sie bei den Mitbewerbern vorkommen. Und aufgrund der gesetzlichen Aufbewahrungsfristen bestimmter Daten verfügt heutzutage so gut wie jedes Unternehmen über ein Datenbanksystem (das wiederum die entsprechenden Sicherheitslücken aufweist).

Werkzeuge wählen

Sie benötigen, wie bei drahtlosen Netzwerken, Betriebssystemen und so weiter, auch hier gute Werkzeuge, um die wichtigen Sicherheitslöcher bei Datenbanken zu finden. Ich teste die Sicherheit von Datenbanken am liebsten mit diesen Werkzeugen:

Advanced SQL Password Recovery (www.elcomsoft.com/asqlpr.html) für das Knacken von Kennwörtern des Microsoft SQL Servers

Cain & Abel (www.oxid.it/cain.html) für das Knacken von Kennwort-Hashes bei Datenbanken

QualysGuard (www.qualys.com), um in die Tiefe gehende Schwachstellenscans durchzuführen

SQLPing3 (www.sqlsecurity.com/downloads), um Microsoft SQL Server im Netzwerk aufzuspüren und um sa-Konten (das Standardkonto eines Systemadministrators des Microsoft SQL Servers) ohne Kennwort zu finden

Sie können zusätzlich Exploits wie Metasploit verwenden, um Ihre Datenbank zu testen.

Eine Fallstudie zum Hacken von Datenbanken mit Chip Andrews

Die Situation

Während eines routinemäßigen Tests, in ein System einzudringen, führte Mr. Andrews auch die üblichen Google-Suchen durch, untersuchte den Domänennamen, machte einen Fingerprint des Betriebssystems und scannte die Ports, aber die Website, um die es ging, war dicht. Als er sich um die Webanwendungen kümmerte, die auf dem System liefen, traf er sofort auf eine Anmeldeseite, die mit SSL verschlüsselte Anmeldeformulare verwendete. Er überprüfte den Quellcode der Webseite und bemerkte, dass jedes Mal, wenn sich ein Benutzer an der Site anmelden wollte, ein verstecktes Feld App_Name an die Anwendung übermittelt wurde. Könnte es sein, dass die Entwickler es versäumt haben, bei diesem so unschuldig aussehenden Parameter eine Überprüfung der Eingabe vorzusehen? Die Jagd war eröffnet.

Das Ergebnis

Als Erstes wurde das Werkzeug zusammengestellt. Damals arbeitete Mr. Andrews am liebsten mit diesen Dingen: Paros Proxy, Absinthe, Cain & Abel, Data Thief und Microsoft SQL Server Management Studio/SQL Server (Express Edition), die alle kostenlos zu haben sind. Er begann mit Paros Proxy, um die Webanforderungen, die an den Webserver gingen, besser kontrollieren und sehen zu können. Nachdem er nach verfügbaren Seiten gesucht und eine schnelle Suche nach Schwachstellen über SQL-Injection durchgeführt hatte, erhielt er die Bestätigung, dass der Parameter App_Name die Anwendung wohl dazu brachte, eine Ausnahme vom Typ Error 500 auszugeben, die einen Anwendungsfehler bedeutet. Eine der wenigen Gelegenheiten, bei denen Anwendungsfehler erwünscht sind, bilden die Versuche, in eine Anwendung einzudringen.

Da der Anwendungsfehler nichts anderes bedeutete, als dass Mr. Andrews unzulässige Zeichen in den SQL-Code einfügen konnte, der von der Anwendung an die Datenbank gesendet wird, war er in der Lage zu erkennen, ob er eine Situation schaffen konnte, die sich ausnutzen ließ. Ein Test, der bei Datenbanken des Microsoft SQL Servers funktioniert, ist das Übermitteln eines Befehls wie WAITFOR DELAY '00:00:10', der den Datenbankserver veranlasst, zehn Sekunden zu warten. Bei einer Anwendung, die eine Seite normalerweise in weniger als einer Sekunde zurückliefert, kann eine Verzögerung von zehn Sekunden ein guter Indikator dafür sein, dass Sie Befehle im SQL-Strom unterbringen können.

Als Nächstes versuchte Mr. Andrews, die Anmeldeseite mit dem Werkzeug Data Thief anzugreifen. Dieses Werkzeug versucht, die Datenbank zu zwingen, den Befehl OPENROWSET zu verwenden, um Daten aus der Zieldatenbank in Mr. Andrews Datenbank zu ko pieren, die im Internet abgelegt war. Dies ist normalerweise ein sehr effizienter Weg, um große Datenmengen aus angreifbaren Datenbanken abzusaugen, aber in diesem Fall schlug der Angriff fehl. Der Datenbankadministrator hatte OPENROWSET deaktiviert, indem er die Option DISABLE ADHOC DISTRIBUTED QUERIES sauber konfiguriert hat.

Fleißig wie er ist, machte Mr. Andrews mit dem nächsten Werkzeug weiter – Absinthe. Dieses Programm verwendet eine Technik, die Blind SQL-Injection genannt wird, um etwas über Daten aussagen zu können, indem einfache Ja/Nein-Fragen an die Datenbank gesendet werden. So könnte zum Beispiel das Werkzeug die Datenbank fragen, ob der erste Buchstabe einer Tabelle kleiner als L ist. Falls die Antwort Ja ist, wird die Anwendung nichts unternehmen, aber im Fall von Nein könnte die Anwendung eine Ausnahme ausgeben. Indem Sie diese einfache binäre Logik verwenden, ist es – wenn auch sehr zeitintensiv – möglich, die gesamte Struktur der Datenbank und sogar die Daten offenzulegen, die in der Datenbank abgelegt worden sind. Mit dieser Technik gelang es Mr. Andrews, eine Tabelle zu identifizieren, die sensible Kundendaten enthielt, und Hunderte Daten sätze herunterzuladen, um sie seinem Kunden zu zeigen.

Zum Schluss war dann noch Zeit für einen letzten heimtückischen Angriff auf die Datenbank. Mr. Andrews lud das Werkzeug Cain & Abel und aktivierte dessen »Schnüffelmodus«. Dann verwendete er Paros Proxy und die bereits identifizierte Schwachstelle, um mit der allen Datenbankbenutzern zur Verfügung stehenden gespeicherten Prozedur xp_dirtree den Versuch zu starten, auf seiner über das Internet verbundenen Maschine ein Verzeichnis anzuzeigen, auf das er über die Angabe eines UNC-Pfades (UNC bedeutet Universal Naming Convention) zugriff. Dies zwang die Zieldatenbank dazu, einen Versuch zu unternehmen, sich am PC von Mr. Andrews zu authentifizieren. Da Cain & Abel die Netzwerkleitung abhörte, erhielt es den Hash des Versuchs, die angegebene Freigabe zu authentifizieren. Wenn dieser Hash nun an den Kennwortknacker weitergegeben wird, der zu Cain & Abel gehört, erhält Mr. Andrews den Benutzernamen und das Kennwort, die der angreifbare SQL-Server zum Laufen verwendet (außer es handelt sich um das Konto Local System).

Ob das gehackte Konto wohl dasselbe Kennwort wie das administrative Konto der Webanwendung verwendet? Ob dieses Kennwort wohl auch zum Konto des Administrators des lokalen Hosts passt? Mr. Andrews packte seine Sachen und die eingesammelten Daten zusammen und bereitete für seinen Kunden einen Bericht vor.

Chip Andrews ist Mitbegründer der Beratungsfirma für Sicherheitsfragen Special Ops Security Inc., und Inhaber von SQLSecurity.com (www.sqlsecurity.com), wo es diverse Werkzeuge für die Sicherheit von Microsoft SQL Server gibt – zum Beispiel SQLPing3. Er hat an mehreren Büchern über die Sicherheit von SQL Server mitgeschrieben und beschäftigt sich seit 1999 intensiv mit diesem Thema.

Datenbanken im Netzwerk finden

Der erste Schritt bei der Suche nach Schwachstellen von Datenbanken sieht so aus, dass Sie herausfinden müssen, wo sich die Datenbanken im Netzwerk verstecken. Das hört sich komisch an, aber ich habe die Erfahrung gemacht, dass viele Netzwerkadministratoren gar nichts von den vielen Datenbanken wissen, die in ihrer Umgebung laufen. Dies gilt ganz besonders für SQL Server Express, einen Datenbankserver, den jeder kostenlos herunterladen und auf einer Arbeitsstation oder einem Testsystem laufen lassen kann.

Sie glauben nicht, wie oft ich in Testdatenbanken sensible Produktivdaten wie Nummern von Kreditkarten finde, wobei diese Datenbanken in der Regel offenen Scheunentoren gleichen. Die Verwendung sensibler Daten in nicht kontrollierten Bereichen der Entwicklung oder der Qualitätssicherung ist eine Datenpanne, die nur darauf wartet, dass etwas geschieht.

Das beste Werkzeug, das ich gefunden habe, um sich mit Microsoft SQL Server zu beschäftigen, ist SQLPing3 (siehe Abbildung 15.1).

Abbildung 15.1: SQLPing3 kann SQL-Server-Systeme finden und prüfen, ob das Konto »sa« über ein Kennwort verfügt.

SQLPing3 kann Instanzen von SQL Server entdecken, die sich hinter lokalen Firewalls verstecken.

Wenn Sie in Ihrer Umgebung Oracle einsetzen, kann Sie Pete Finnigan mit einer großartigen Liste von Werkzeugen versorgen, die über ähnliche Funktionen wie SQLPing3 verfügen: www.petefinnigan.com/tools.htm.

Datenbankkennwörter knacken

SQLPing3 dient gleichzeitig als ein nettes, kleines Programm, das über Wörterbücher versucht, Kennwörter von SQL Server zu knacken. Wie Abbildung 15.1 zeigt, findet standardmäßig eine Überprüfung auf leere Kennwörter statt. Ein anderes kostenloses Werkzeug zum Knacken von SQL Server-, MySQL- und Oracle-Kennwort-Hashes ist Cain & Abel, das Abbildung 15.2 zeigt.

Abbildung 15.2: Oracle-Kennwort-Hashes mit Cain & Abel knacken

Auch das kommerzielle Produkt Elcomsoft Distributed Password Recovery (www.elcomsoft.com/edpr.html) ist in der Lage, die Hashes von Oracle-Kennwörtern zu knacken.

Wenn Sie auf die Datei master.mdf von SQL Server zugreifen können, sind Sie in der Lage, Datenbankkennwörter sofort mit Elcomsofts Advanced SQL Password Recovery (www.elcomsoft.com/asqlpr.html) wiederherzustellen.

Vielleicht stolpern Sie auch noch über einige Datenbankdateien von Microsoft Access, die kennwortgeschützt sind. Kein Problem! Das Werkzeug Advanced Office Password Recovery (www.elcomsoft.com/acpr.html) bringt Sie schnell ans Ziel.

Sie können sich sicherlich vorstellen, dass diese Kennwörter knackenden Werkzeuge eine großartige Möglichkeit bieten, die grundlegenden Sicherheitsprobleme einer Datenbank aufzuzeigen. Sie können den Beweis für Probleme am einfachsten dadurch liefern, dass Sie Microsoft SQL Server 2008 Management Studio Express (www.microsoft.com/de-de/download/details.aspx?id=7593) verwenden, um sich mit den Datenbanksystemen zu verbinden, deren Kennwörter Sie nun besitzen, und Benutzerkonten als Hintertür einzurichten oder um die Systeme einfach nur zu durchsuchen.

Datenbanken nach Schwachstellen absuchen

Wie bei Betriebssystemen und Webanwendungen gibt es auch Schwachstellen, die speziell bei Datenbanken auftauchen und die Sie nur mit den richtigen Werkzeugen ausfindig machen können. Ich verwende QualysGuard, um nach folgenden Dingen Ausschau zu halten:

Buffer-Overflow

Privileg-Eskalation

Kennwort-Hashes, auf die über standardmäßige/ungeschützte Konten zugegriffen werden kann
schwache Authentifizierungsmethoden

Protokolldateien von Datenbanken, die ohne Authentifizierung umbenannt werden können

Eine wirklich gute Komplettlösung als kommerzieller Schwachstellenscanner für Datenbanken ist AppDetectivePro (www.appsecinc.com/products/appdetective/). Mit diesem Programm können Sie Datenbanken intensiv überprüfen und sich bei SQL Server, Oracle und so weiter um Benutzerrechte kümmern. Wenn Sie die Kosten nicht scheuen, kann AppDetectivePro zu einer guten Ergänzung Ihrer Sicherheitstestwerkzeuge werden.

Viele Schwachstellen können sowohl aus der Perspektive eines nicht berechtigten Außenstehenden als auch aus der eines berechtigten Insiders getestet werden. Sie können zum Beispiel das Konto SYSTEM verwenden, um sich an Oracle anzumelden, Inhalte auszulesen und das System zu durchsuchen (etwas, das auch QualysGuard unterstützt). Ich bin mir nicht ganz sicher, aber ich drücke Ihnen die Daumen, dass Qualys auch authentifizierte Scans von SQL Server durchführen kann.

Bewährten Vorgehensweisen folgen, um Sicherheitsrisiken bei Datenbanken zu minimieren

Es ist wirklich sehr einfach, dafür zu sorgen, dass Datenbanken sicher sind. Machen Sie Folgendes:

Lassen Sie Ihre Datenbank auf verschiedenen Maschinen laufen.

Überprüfen Sie das darunter liegende Betriebssystem auf sicherheitstechnische Schwachstellen. Ich behandele Exploits der Betriebssysteme Windows und Linux in den Kapiteln 11 und 12.

Achten Sie darauf, dass Ihre Datenbanken im Rahmen von Sicherheitsaktualisierungen berücksichtigt werden.

Verlangen Sie für jedes Datenbanksystem starke Kennwörter.

Verwenden Sie geeignete Datei- und Freigabeberechtigungen, um spionierende Augen fernzuhalten.

Verhindern Sie, dass die Entwickler oder die Qualitätssicherung zum Testen sensible Produktivdaten verwenden.

Überprüfen Sie Ihre Webanwendung auf SQL-Injection und damit zusammenhängende Schwachstellen bei der Dateneingabe.

Verwenden Sie eine Firewall für das Netzwerk, wie sie zum Beispiel von Fortinet (www.fortinet.com) oder SonicWALL (www.sonicwall.com) angeboten wird, und datenbankspezifische Kontrollen wie die von Pyn Logic (www.pynlogic.com) und Idera (www.idera.com).

Verwenden Sie Werkzeuge wie Microsoft Security Compliance Manager (http://technet.microsoft.com/de-de/library/cc677002.aspx), um Datenbanken sicherer und verwaltbarer zu machen.

Verwenden Sie immer die neueste Softwareversion eines Datenbankservers – und zwar ganz besonders dann, wenn Sie Microsoft nutzen. Die neuen Sicherheitsfunktionen in SQL Server 2008 R2 und SQL Server 2012 haben auf dem Gebiet der Datenbanksicherheit große Fortschritte gemacht.

Speichersysteme

Angreifer führen inzwischen immer mehr Hacks gegen Speichersysteme durch. Hacker verwenden verschiedene Angriffswerkzeuge, um in Speicherumgebungen einzudringen. Aus diesem Grund müssen auch Sie diese Techniken und Werkzeuge kennen und verwenden, um Ihre eigene Speicherumgebung zu testen.

Um die Sicherheit von Speichersystemen wie Fibre Channel, iSCSI Storage Area Networks (SANs), CIFS und auf dem NFS basierenden Network Attached Storage (NAS) ranken sich viele irrige Annahmen und Mythen. Viele Netzwerkadministratoren glauben, dass Verschlüsselung und RAID mit Sicherheit gleichzusetzen sind, dass ein externer Angreifer keinen Zugriff auf die Speicherumgebung erhalten kann und dass Sicherheit für Speichersysteme kein Thema ist. Dieser Glaube ist sehr gefährlich, und ich bin sicher, dass immer mehr Angriffe auf Speichersysteme gerichtet sind.

Wie bei Datenbanken gilt, dass so gut wie jedes Unternehmen über irgendeine Form von netzwerkbezogener Datenablage verfügt, auf der sensible Daten abgelegt sind, die auf keinen Fall verloren gehen dürfen. Aus diesem Grund ist es sehr wichtig, sowohl den Netzwerkspeicher (SAN- und NAS-Systeme) als auch die herkömmlichen Dateifreigaben in Ihre Tests aufzunehmen.

Werkzeuge wählen

Dies sind meine Lieblingswerkzeuge, wenn es um das Testen von Speichersystemen geht:

FileLocator Pro (www.mythicsoft.com) und Identity Finder (www.identity finder.com), um sensible Daten in unstrukturierten Dateien zu finden

LanGuard (www.gfi.com/network-security-vulnerability-scanner/), um offene und ungeschützte Freigaben zu finden

QualysGuard (www.qualys.com), um in die Tiefe gehende Schwachstellenscans durchzuführen
nmap (http://nmap.org) für Portscans, um aktive Speicherhosts zu finden

Speichersysteme im Netzwerk finden

Um Schwachstellen aufzuspüren, die mit der Speicherung von Daten zu tun haben, müssen Sie herausbekommen, was wo abgelegt wird. Um dabei in Fahrt zu kommen, sollten Sie einen Portscanner und einen Schwachstellenscanner als Komplettlösung verwenden, zum Beispiel QualysGuard oder LanGuard. Da auf vielen Speicherservern auch Webserver laufen, können Sie Werkzeuge wie Acunetix Web Vulnerability Scanner und WebInspect einsetzen, um webbasierende Schwächen aufzudecken. Sie können diese Schwachstellenscanner verwenden, um eine gute Sicht auf Bereiche zu erzielen, die näher untersucht werden sollten, zum Beispiel schwache Authentifizierung, nicht ordnungsgemäße Namensgebung durch DNS-Server, nicht aktualisierte Betriebssysteme, ungeschützte Webserver und so weiter.

Eine gerne bei Speichersystemen übersehene Schwachstelle ist, dass auf diese Systeme sowohl von draußen als auch von drinnen zugegriffen werden kann. Dies birgt für beide Seiten des Netzwerks nicht unerhebliche Risiken.

Sie können sich auch um die grundlegenden Dateiberechtigungen und um Freigaben kümmern (was in Kapitel 11 behandelt wird) und sollten auch nicht auf Werkzeuge verzichten, die in Texten suchen, um sensible Informationen zu finden, auf die nicht jeder im Netzwerk Zugriff haben sollte.

Sensiblen Text in Netzwerkdateien ausgraben

Ein wichtiger, authentifiziert ablaufender Test, den Sie auf Ihren Speichersystemen durchführen müssen, ist die Suche nach sensiblen Daten, die sich in Textdateien befinden, auf die problemlos zugegriffen werden kann. Verwenden Sie hierfür einfach ein Werk-zeug zum Suchen von Text wie FileLocator Pro oder Effective File Search (www.sowsoft.com/search.htm). Alternativ können Sie auch Windows Explorer verwenden, wobei dieses Programm für meinen Geschmack zu langsam und zu ungenau arbeitet.

Sie werden überrascht sein, was sich alles auf dem Desktop von Benutzern, auf Serverfreigaben und anderswo finden lässt:

Gesundheitsdaten von Mitarbeitern

Kreditkartennummern von Kunden

Finanzberichte des Unternehmens
und so weiter und so weiter

Denken Sie immer daran, dass es auch gesetzliche Vorschriften gibt, die es nicht erlauben, dass bestimmte Daten öffentlich zugänglich sind, wobei öffentlich auch nicht ausdrücklich dazu autorisierte Personen im Unternehmen einschließt.

Führen Sie Ihre Suche nach sensiblen Daten durch, während Sie am lokalen System oder an der Domäne als normaler Benutzer und auf keinen Fall als Administrator angemeldet sind. Damit können Sie viel besser herausfinden, worauf normale Benutzer ohne eine besondere Berechtigung zugreifen können. Während Sie ein Werkzeug für die Textsuche wie FileLocator Pro verwenden, halten Sie unter anderem nach diesen Zeichenfolgen Ausschau:

Geb (für Geburtsdatum)

KVN (für Krankenversicherungsnummern)

Kredit oder KNr (für Kreditkartennummern)

KtoNr (für Kontonummer)

Vergessen Sie Ihre mobilen Geräte nicht, wenn Sie nach sensiblen, ungeschützten Daten suchen. Für Angreifer wird alles zum Spielball, angefangen bei Laptops über USB-Laufwerke bis hin zu externen Festplatten. Ein falsch platziertes oder gestohlenes System ist alles, was man braucht, damit es zu kostenintensiven Datenpannen kommt.

Es gibt unzählige Möglichkeiten, Daten offenzulegen. Fangen Sie mit dem Einfachen an und suchen Sie nur in nicht binären Dateien, von denen Sie wissen, dass sie Text enthalten. Wenn Sie sich bei der Suche auf diese Dateien beschränken, sparen Sie sehr viel Zeit:

.txt

.doc und .docx

.dbf

.db

.rtf

.xls und .xlsx

Abbildung 15.3 zeigt als Beispiel eine einfache Textsuche mit FileLocator Pro. Achten Sie einmal auf die Dateien, die an verschiedenen Stellen des Servers gefunden wurden.

Abbildung 15.3: Sensiblen Text mit FileLocator Pro in ungeschützten Freigaben suchen

Um den Vorgang zu beschleunigen, können Sie Identity Finder verwenden, bei dem es sich um ein wirklich gutes Werkzeug handelt, das zu dem Zweck entwickelt wurde, Speichergeräte nach sensiblen Daten zu durchsuchen, die einer Person zugeordnet werden können. Das Programm kann auch in binären Dateien wie PDFs suchen. Abbildung 15.4 zeigt, was dieses Werkzeug in kürzester Zeit gefunden hat.

Abbildung 15.4: Identity Finder findet auf einem ungeschützten Speichergerät Hunderte von sensiblen Datensätzen.

Von Identify Finder gibt es eine Enterprise-Edition, die Sie verwenden können, um Netzwerke und sogar Datenbanken nach sensiblen Daten zu durchsuchen.

Bei der zweiten Testrunde können Sie Ihre Suche als angemeldeter Administrator durchführen. Sie werden höchstwahrscheinlich weitere, verstreut abgelegte sensible Daten finden, die sich an Stellen befinden, auf die ein Netzwerkadministrator normalerweise keinen Zugriff haben sollte.

Ein erfolgreiches Testen hängt stark vom gewählten Zeitpunkt, den richtigen Schlüsselwörtern und der Auswahl der richtigen Systeme im Netzwerk ab. Sie werden mit ziemlicher Sicherheit nicht alle sensiblen Daten ans Tageslicht holen, aber Sie können erkennen, wo es Probleme gibt. Und das, was Sie hier machen, hilft, Ihre Forderung nach stärkeren Zugriffskontrollen und einer besseren IT- und Sicherheitsverwaltung zu rechtfertigen.

Bewährten Vorgehensweisen folgen, um Sicherheitsrisiken bei der Datenspeicherung zu minimieren

Die Sicherheit von Speichermedien hat, wie die Sicherheit von Datenbanken, nichts mit einer Operation am Gehirn zu tun. Es ist nicht schwer, Speichersysteme sicher zu halten, wenn Sie Folgendes tun:

Überprüfen Sie das darunterliegende Betriebssystem auf Sicherheitslöcher. Ich behandele Exploits der Betriebssysteme Windows und Linux in den Kapiteln 11 und 12.

Sorgen Sie dafür, dass die Software Ihres Netzwerkspeichers (SAN- und NAS-Systeme) regelmäßig aktualisiert und sicherheitstechnisch auf den neuesten Stand gebracht wird.

Verlangen Sie, dass auf die Speicherverwaltung nur über starke Kennwörter zugegriffen werden kann.

Verwenden Sie Datei- und Freigabeberechtigungen, die geeignet sind, spionierende Augen fernzuhalten.

Bringen Sie Ihren Benutzern bei, wo sensible Daten abgelegt werden dürfen und wie gefährlich es ist, sich nicht daran zu halten.

Sorgen Sie dafür, dass die Softwareentwickler und die Qualitätssicherung für ihre Tests keine sensiblen Produktivdaten verwenden.

Verwenden Sie Netzwerkfirewalls wie die von Fortinet (www.fortinet.com) oder SonicWALL (www.sonicwall.com), damit sichergestellt wird, dass nur die Personen und Systeme auf die Speicherumgebung zugreifen können, die es wirklich müssen.

Teil VI

Die Ernte des ethischen Hackens

In diesem Teil ...

Nachdem wir mit dem schwierigen – dem technischen – Stoff durch sind, ist es an der Zeit, die Einzelteile zusammenzusetzen, das zu kitten, was zerbrochen ist, und stabile Sicherheitsverhältnisse zu schaffen.

Dieser Teil behandelt als Erstes, wie Sie über die Sicherheitslöcher berichten können, die Sie entdeckt haben, damit Sie die Unterstützung des Managements und vielleicht sogar ein größeres Budget erhalten, um zukünftig alles richtig zu machen. Dann gehe ich in diesem Teil auf bewährte Vorgehensweisen beim Stopfen von Sicherheitslöchern in Ihren Systemen ein. Zum Schluss kümmert sich dieser Teil um das, was geschehen muss, damit es zu einem lang anhaltenden Erfolg kommt, wozu auch gehört, dass das ethische Hacken gegebenenfalls an Dritte vergeben wird und somit ein dicker Punkt von Ihrer Aufgabenliste gestrichen werden kann.

16

Die Ergebnisse präsentieren

In diesem Kapitel ...

Die Testdaten zusammenführen

Die entdeckten Schwachstellen kategorisieren

Die Ergebnisse dokumentieren und präsentieren

Auch wenn Sie nach den Tests eine Pause benötigen, wäre es jetzt falsch, sich auf seinen Lorbeeren auszuruhen. Der Wert der Berichtsphase des ethischen Hackens wird immer wieder unterschätzt. Das Letzte, was Sie machen sollten, ist, die Tests durchzuführen, Schwachstellen zu finden – und dann zu sagen: »Das war's.« Nehmen Sie sich die Zeit, Ihre Anstrengungen sorgfältig zu analysieren und das zu dokumentieren, was Sie gefunden haben, damit Schwachstellen abgestellt werden können und Daten wieder sicher sind. Das Berichtswesen ist ein wichtiges Element einer kontinuierlichen Wachsamkeit, die auf Datensicherheit und Risikomanagement gerichtet ist.

Zum Berichtswesen des ethischen Hackens gehört, dass Sie sich um jede Kleinigkeit kümmern, die Sie gefunden haben, um festzulegen, welche Schwachstellen angesprochen werden müssen und welche davon besonders kritisch sind. Zum Berichtswesen gehört auch, dass Sie Ihre Vorgesetzten oder Ihre Kunden auf die verschiedenen gefundenen Sicherheitslöcher aufmerksam machen und dass Sie die entsprechenden Empfehlungen aussprechen, um diese Löcher zu stopfen. Und dann dürfen Sie nicht vergessen, dass letztendlich Ihre Berichte nachweisen, dass das Unternehmen weder Zeit noch Geld vergeudet hat, als es Sie mit den Tests beauftragte.

Die Ergebnisse zusammenführen

Wenn Sie haufenweise Testdaten haben – angefangen bei Screenshots, über manuelle Beobachtungen, die Sie dokumentiert haben, bis hin zu detaillierten Berichten der verschiedenen von Ihnen verwendeten Schwachstellenscanner –, kommt die Frage auf, was man damit anfangen soll. Sie müssen mit einem feinen Kamm durch Ihre Dokumentation gehen und die Bereiche markieren, auf die es besonders ankommt. Grundlage Ihrer Entscheidungen sollten sein:

Ranglisten der bei Ihren Prüfungen gefundenen Schwachstellen

Ihr Wissen als IT-/Sicherheitsfachmann
das Umfeld, in dem die Schwachstelle auftaucht, und welche Auswirkungen sie auf das Unternehmen haben kann

Viele der funktionsreichen Sicherheitswerkzeuge weisen jeder Schwachstelle (aufgrund einer allgemeinen Risikoeinstufung) eine Gefahrenstufe zu, erklären die Schwachstelle, schlagen mögliche Lösungen vor und enthalten Verknüpfungen zu interessanten Sites mit weiterführenden Informationen. Außerdem lohnt es sich immer, einen Blick auf die Website des entsprechenden Herstellers und in Onlineforen zu werfen, um herauszufinden, ob sich ein Sicherheitsloch nur bei Ihnen aufgetan hat oder ob es auch andere kennen.

Sie sollten in Ihrem Abschlussbericht die Schwachstellen wie folgt anordnen:

Nicht technische Erkenntnisse

• Schwachstellen durch Social Engineering

• physische Sicherheitslöcher

• Schwachstellen aufgrund von Arbeitsweisen

• Sonstiges

Technische Erkenntnisse

• Netzwerkinfrastruktur

• Betriebssysteme

• Firewalls

• Websysteme

• Datenbankverwaltungssysteme

• mobile Geräte

Um Ihre Ergebnisse noch deutlicher zu machen, können Sie sie zusätzlich in interne und externe Sicherheitsprobleme aufteilen.

Schwachstellen mit Prioritäten versehen

Es ist wichtig, dass Sie die Sicherheitslöcher, die Sie finden, mit einer Wertigkeit versehen, weil es sicherlich einige Probleme gibt, die sich nicht beseitigen lassen, während andere Probleme den Aufwand nicht wert sind, sie zu beseitigen. Es wird immer Schwachstellen geben, gegen die Sie aus technischen Gründen nichts unternehmen können. Wichtig ist, dass Sie herausfinden, ob der Aufwand (einer Beseitigung) den Ertrag (die gewonnene Sicherheit) nicht unverhältnismäßig überschreitet. Wenn Sie zum Beispiel sehen, dass es 30.000 Euro kosten wird, eine Datenbank mit Verkaufszahlen zu verschlüsseln, die für das Unternehmen einen Wert von 20.000 Euro hat, dürfte die Verschlüsselung keinen Sinn machen. Andererseits kann einige Wochen Entwicklerzeit sehr viel Geld einsparen, wenn es darum geht, etwas gegen Cross-Site-Scripting und SQL-Injection zu unternehmen. Dasselbe gilt für mobile Geräte, bei denen jeder schwört, dass sie keine sensiblen Daten enthalten. Sie müssen jede Schwachstelle sorgfältig untersuchen, die Risiken für das Unternehmen herausfinden und die Entscheidung fällen, ob es sich lohnt, sie zu beseitigen.

Es ist unmöglich, alle Schwachstellen zu beseitigen, die Sie gefunden haben – und manchmal lohnt sich noch nicht einmal der Versuch dazu. Analysieren Sie jede Schwachstelle sorgfältig und finden Sie heraus, was im schlimmsten Fall passieren kann. Und oft werden Sie feststellen, dass eine Schwachstelle nicht immer mit einem Risiko gleichzusetzen ist.

Hier eine schnelle Methode, um Ihre Schwachstellen zu bewerten. Sie können diese Methode so ändern, dass sie Ihren Bedürfnissen entspricht. Bei jeder von Ihnen entdeckten Schwachstelle müssen Sie zwei grundsätzliche Faktoren berücksichtigen:

Die Wahrscheinlichkeit, dass sie ausgenutzt wird: Wie wahrscheinlich ist es, dass sich ein Hacker, ein bösartiger Benutzer, Malware oder eine andere Bedrohung diese Schwach stelle zunutze macht?

Die Auswirkung des Ausnutzens: Welcher Schaden würde angerichtet werden, wenn jemand die von Ihnen untersuchte Schwachstelle ausnutzt?

Viele ignorieren diese Überlegungen und meinen, dass jede Schwachstelle, die sie entdeckt haben, beseitigt werden muss. Das ist ein großer Fehler. Nur weil Sie ein Sicherheitsloch entdeckt haben, bedeutet dies noch lange nicht, dass es auch in Ihrer speziellen Situation und Umgebung ausgenutzt werden kann. Wenn Sie mit der Einstellung leben, dass jede Schwachstelle unabhängig davon angegriffen wird, wie die Umstände aussehen, vergeuden Sie viel Zeit, Energie und Geld. Achten Sie aber darauf, dass Sie nicht zu weit in die andere Richtung pendeln. Viele Schwachstellen sehen auf den ersten Blick nicht sonderlich gravierend aus, können aber Ihr Unternehmen schnell in große Schwierigkeiten bringen, wenn sie ausgenutzt werden. Setzen Sie bei einer Entscheidung einfach auf Ihren gesunden Menschenverstand.

Bewerten Sie jede Schwachstelle und verwenden Sie dabei Kriterien wie Hoch, Mittel und Gering oder Noten von 1 bis 5 (wobei 1 der niedrigsten und 5 der höchsten Priorität entspricht). Tabelle 16.1 zeigt beispielhaft, wie so etwas aussehen könnte. Sie enthält für jede Kategorie eine repräsentative Schwachstelle.

Tabelle 16.1: Schwachstellen bewerten

Das Bewerten von Schwachstellen, wie es Tabelle 16.1 zeigt, beruht auf qualitativen Methoden der Überprüfung von Sicherheitsrisiken. Mit anderen Worten, es ist subjektiv und basiert nur auf Ihren Kenntnissen von den Systemen und Schwachstellen. Sie können auch jede Risikoeinstufung in Betracht ziehen, die Sie von Ihren Sicherheitswerkzeugen erhalten – aber verlassen Sie sich nicht nur darauf, weil kein Hersteller im Besitz der ultimativen Schwachstellenbewertung ist.

Berichte erstellen

Sie werden höchstwahrscheinlich Ihre Informationen über Schwachstellen in einer Dokumentation für das Management oder Ihren Kunden zusammenstellen. Das ist zwar nicht immer der Fall, aber es gehört zu Ihrer professionellen Arbeitsweise und zeigt, dass Sie Ihre Arbeit ernst nehmen. Fassen Sie die wichtigen Ergebnisse zusammen und dokumentieren Sie sie so, dass andere sie verstehen.

Diagramme und Tabellen sind ein Plus. Screenshots Ihrer Ergebnisse können Ihre Berichte besonders dann bereichern, wenn sich die gewonnenen Daten nicht in einer Datei speichern lassen. Außerdem liefern sie einen handfesten Beweis dafür, dass die Probleme existieren.

Dokumentieren Sie die Schwachstellen kurz und knapp, aber nicht technisch. Jeder Bericht sollte diese Informationen enthalten:

Angaben darüber, wann das Testen erfolgte
die durchgeführten Tests

Zusammenfassung der entdeckten Schwachstellen
eine mit einer Bewertung versehene Liste der Schwachstellen, um die man sich kümmern muss

Empfehlungen und die besonderen Schritte, die unternommen werden müssen, um die Sicherheitslöcher zu stopfen

Die meisten wollen, dass der Abschlussbericht eine Zusammenfassung der Ergebnisse und nicht jede Kleinigkeit enthält. Das Letzte, was jemand machen will, ist, sich durch einen meterhohen Stapel von Papier zu kämpfen, der nur technische Ausdrücke enthält, die einem so gut wie nichts sagen.

Viele Manager und Kunden lieben es, das Rohmaterial der Sicherheitswerkzeuge zu erhalten. Auf diese Weise können sie später bei Bedarf auf die Daten verweisen, ohne in Hunderten von Seiten mit technischem Geschwafel unterzugehen. Fügen Sie Ihrem Bericht die Rohdaten im Anhang bei und verweisen Sie im Bericht darauf.

Die Liste der von Ihnen vorgeschlagenen Aktionen könnte unter anderem Folgendes enthalten:

Auf allen Servern sollte die Windows-Sicherheitsüberprüfung – besonders für das An- und Abmelden – eingeschaltet werden.

Die Tür zum Serverraum muss mit einem Sicherheitsschloss versehen werden.

Die Betriebssysteme müssen besonders sicher gemacht werden. Die (englischsprachigen) Empfehlungen der National Vulnerabilities Database (http://nvd.nist.gov) und des Centers for Internet Security Benchmarks/Scoring Tools (www.cisecurity.org) gelten auch im deutschsprachigen Raum.

Verstärken Sie die Sicherheit Ihrer drahtlosen Zugriffspunkte.

Verwenden Sie, wenn es um die Zerstörung vertraulicher Ausdrucke geht, Schredder, die nach dem Prinzip des Längs- und Querschnitts arbeiten.

Verlangen Sie, dass auf allen mobilen Geräten starke PINs oder Kennphrasen verwendet werden, die regelmäßig zu ändern sind.

Installieren Sie auf allen Laptops eine lokale Firewall/ein lokales IPS.

Prüfen Sie bei Webanwendungen alle Eingaben auf Gültigkeit, um Cross-Site-Scripting und SQL-Injection zu verhindern.

Installieren Sie auf Datenbankservern immer die neuesten Sicherheitsaktualisierungen (Patches).

Vielleicht sollten Sie auch die Reaktionen der Mitarbeiter auf Ihr ethisches Hacken mit in den Abschlussbericht aufnehmen. Haben sie zum Beispiel von Ihren Tests nichts mitbekommen oder haben sie sich aggressiv gegen Ihre Versuche eines Social Engineerings gewehrt? Haben die Mitarbeiter von IT und Sicherheit technische Hinweise wie Störungen im Netzwerk durch Ihre Tests oder die verschiedenen Angriffe erkannt, die in Protokolldateien erscheinen? Außerdem können Sie in Ihre Dokumentation aufnehmen, wie schnell die Mitarbeiter der IT oder das Management des Service-Providers auf Ihre Tests reagiert oder geantwortet haben.

Schützen Sie den Abschlussbericht vor Personen, die nicht berechtigt sind, ihn zu lesen. Ein Bericht über ethisches Hacken und die damit zusammenhängenden Dokumentationen und Dateien, die in die Hände eines Mitbewerbers, eines Hackers oder eines böswilligen Insiders gelangen, können für ein Unternehmen zu einem großen Problem werden. Hier ein paar Tipps, wie Sie so etwas verhindern:

Liefern Sie den Bericht persönlich bei denen ab, die ihn in Auftrag gegeben haben.

Wenn Sie den Abschlussbericht versenden, verschlüsseln Sie alle Anlagen (Dokumente und Testergebnisse) mit PGP, im verschlüsselten ZIP-Format oder über einen sicheren Cloud-Dienst.

Nehmen Sie die eigentlichen Testschritte nicht in den Bericht auf, weil sie von einer bösartigen Person missbraucht werden könnten, sondern beantworten Sie im Abschlussgespräch alle diesbezüglichen Fragen.

17

Sicherheitslöcher stopfen

In diesem Kapitel ...

Festlegen, um welche Schwachstellen sich zuerst gekümmert werden muss

Systeme sicherheitstechnisch auf den neuesten Stand bringen

Sicherheit mit anderen Augen betrachten

Wenn Sie mit Ihren Tests fertig sind, wollen Sie auf Ihrem Weg zu mehr Sicherheit bestimmt nicht stehen bleiben. Sie haben also Schwachstellen gefunden. (Ich hoffe, dass es nicht zu viele von der Sorgen bereitenden Sorte sind!) Wenn Sie diese Löcher stopfen wollen, bevor sie ein Hacker ausnutzt, verlangt dies in der Regel Ellbogeneinsatz. Sie müssen Ihre Pläne auf den Tisch legen und entscheiden, welche Sicherheitsprobleme zuerst behoben werden müssen. Ein paar Patches könnten erforderlich sein oder eventuell sogar ein besserer Schutz der Systeme. Vielleicht möchten Sie aber auch das Design Ihres Netzwerks neu aufsetzen und die gesamte sicherheitsbezogene Infrastruktur überdenken. In diesem Kapitel kümmere ich mich um einige dieser wirklich wichtigen Bereiche.

Berichte in Aktionen verwandeln

Häufig sieht es so aus, als ob es ganz einfach wäre, die Sicherheitsschwäche zu identifizieren, um die man sich als Erstes kümmern muss. Aber hierbei gibt es weder Schwarz noch Weiß. Wenn Sie sich noch einmal mit den Schwachstellen beschäftigen, die Sie gefunden haben, sollten Sie diese Fragen berücksichtigen:

Kann die Schwachstelle behoben werden?

Wie einfach ist es, eine Schwachstelle zu beheben?

Wie gravierend ist die Schwachstelle?

Kann das System aus dem Netz genommen werden, um das Problem zu beheben?

Wie viel Zeit, Geld und Aufwand kostet es, um neue Hardware oder Software zu erwerben oder geschäftliche Abläufe neu aufzusetzen, um die Löcher zu stopfen?

Ich gehe in Kapitel 16 auf die grundlegenden Dinge ein, wie Sie herausfinden können, wie wichtig ein Sicherheitsproblem ist und wie dringend es behoben werden muss. In Tabelle 16.1 stelle ich Praxisbeispiele zur Verfügung. Wenn Sie sich um dieses Thema kümmern, dürfen Sie die Zeit nicht vergessen, die Sie für Aufgaben dieser Art haben. Schauen Sie sich also primär die Dinge an, die sowohl wichtig (sehr wichtig) als auch dringend (sehr dringend) sind. Ignorieren Sie zunächst die Probleme mit ziemlich großen Auswirkungen oder die ziemlich wahrscheinlich eintreten werden. Sie werden auch auf Schwachstellen stoßen, die mit größter Wahrscheinlichkeit niemals ausgenutzt werden. Andererseits gibt es natürlich auch Sicherheitslöcher, die extrem gefährlich sind. Verzichten Sie niemals auf eine persönliche Analyse der gefundenen Daten, weil »Scannen und Rennen« letztendlich keine Probleme langfristig löst.

Konzentrieren Sie sich zuerst auf die Aufgaben, die den Aufwand wirklich lohnen – bei denen ein Missbrauch zu großem Schaden führt und die Missbrauchswahrscheinlichkeit hoch ist. Im Regelfall betrifft das die Minderheit Ihrer Schwachstellen. Wenn Sie die wichtigsten Sicherheitslöcher gestopft haben, können Sie sich um die weniger wichtigen und weniger dringenden Aufgaben kümmern – wenn es Ihr zeitlicher und Ihr finanzieller Rahmen erlauben. Beginnen Sie zum Beispiel mit dem Stopfen wichtiger Löcher wie SQL-Injection bei Webanwendungen und fehlende Patches, bevor Sie sich mit Sicherungsbändern beschäftigen, die Sie verschlüsseln und mit starken Kennwörtern versehen, damit niemand etwas damit anfangen kann, falls sie in falsche Hände fallen sollten.

Patchen für die Perfektion

Haben Sie auch das Gefühl, dass Sie eigentlich nichts anderes tun, als Ihre Systeme mit Programmaktualisierungen zu versorgen, um Sicherheitslöcher zu beheben? Wenn Ihre Antwort auf diese Frage »Ja« lautet, ist das gut so – so Sie das auch wirklich tun. Wenn Sie zwar ständig den Druck verspüren, Ihre Systeme mit aktuellen Patches zu versorgen, aber die Zeit dazu nicht finden, ist das besser als nichts, weil Sie das Problem wenigstens auf Ihrem Radar haben. Viele IT-Verantwortliche denken nämlich erst über das Problem nach, rechtzeitig Patches aufzuspielen, wenn das Kind in den Brunnen gefallen ist.

Es ist eigentlich egal, was Sie tun, welches Werkzeug Sie verwenden und welche Abläufe in Ihrer Umgebung die besten sind, wenn Sie Ihre Systeme sicherheitstechnisch nur auf dem aktuellsten Stand halten. Dies gilt für Betriebssysteme, Webserver, Datenbanken, mobile Apps und sogar für die Firmware Ihrer Netzwerkinfrastruktur.

Sie können die Notwendigkeit für Patches nur dadurch vermeiden, dass Software sicher entwickelt wird, was aber so schnell nicht geschieht. Ein großer Teil der sicherheitstechnischen Unfälle könnte vermieden werden, wenn das Patchen sorgfältig erfolgte. Es gibt also keinen Grund, sich nicht um eine solide Patchverwaltung zu kümmern.

Patch-Verwaltung

Wenn Sie von Sicherheitspatches für Ihre Systeme überschwemmt werden, sollten Sie nicht aufgeben, sondern das Problem beherrschen. Hier kommen meine Grundsätze für das Patchen, damit Ihre Systeme sicher bleiben:

Sorgen Sie dafür, dass alle, die in Ihrer Organisation für das Patchen der Systeme zuständig sind, den gleichen Wissensstand haben und nach denselben Abläufen arbeiten.

Halten Sie für kritische Prozesse formale, dokumentierte Prozeduren bereit:

• Sorgen Sie für rechtzeitige Warnungen durch Hersteller und denken Sie dabei auch an Adobe, Java und so weiter, die gerne übersehen werden.

• Überprüfen Sie, welche Patches Ihre Systeme betreffen.

• Legen Sie fest, wann Patches aufgespielt werden.

Legen Sie in einer Richtlinie fest, dass Patches getestet werden, bevor sie auf die Systeme gelangen, und regeln Sie, wie diese Tests auszusehen haben. Es ist keine große Sache, Patches zu testen, nachdem sie auf Arbeitsstationen aufgespielt wurden, aber bei Servern sieht die Sache ganz anders aus. Manche Patches weisen »undokumentierte Funktionen« und unerwartete Nebenwirkungen auf. Ein ungetesteter Patch ist eine Einladung für einen Systemabsturz!

Patch-Automatisierung

Die folgenden Abschnitte beschreiben verschiedene Werkzeuge für die Bereitstellung von Sicherheitsaktualisierungen, damit Sie sich nicht selbst ständig um die Patches kümmern müssen.

Kommerzielle Werkzeuge

Ich empfehle ganz besonders dann eine stabile Anwendung für die Patch-Automatisierung, wenn Sie es hiermit zu tun haben:

ein großes Netzwerk
ein Netzwerk, in dem es verschiedene Betriebssysteme gibt (Windows, Linux und so weiter)

viele Programme von Drittanbietern wie Adobe und Java
mehr als nur wenige Dutzend Computer

Schauen Sie sich einmal diese Lösungen für eine Patch-Automatisierung an:

IBM Tivoli Endpoint Manager (www.bigfix.com)

VMware vCenter Protect (www.vmware.com/products/datacenter-virtualization/vcenter-protect/overview.html)

Ecora Patch Manager (www.ecora.com/ecora/products/patchmanager.asp)

Quest Patch Manager (früher ScriptLogic Patch Authority Ultimate) (www.quest.com/patch-manager/)

Windows Server Update Services von Microsoft (http://technet.microsoft.com/de-de/windowsserver/bb332157.aspx)

Auch GFI LanGuard (www.gfi.com/network-security-vulnerability-scanner), ein Produkt, das ich in diesem Buch wiederholt erwähne, ist in der Lage, eine Überprüfung auf Patches vorzunehmen und diese bereitzustellen.

Kostenlose Werkzeuge

Verwenden Sie eines dieser kostenlosen Werkzeuge als Hilfe bei der Automatisierung von Patches:

Windows Server Update Services (WSUS), das unter http://technet.microsoft.com/de-de/windowsserver/bb332157.aspx heruntergeladen werden kann

Windows Update, das in das Betriebssystem Microsoft Windows integriert ist

Microsoft Baseline Security Analyzer (MBSA), herunterzuladen unter www.microsoft.com/technet/security/tools/mbsahome.mspx
die in die auf Linux basierenden Systeme integrierten Werkzeuge für das Patchen

Systeme dicht machen

Nachdem Sie die neuesten Sicherheitsaktualisierungen aufgespielt haben, müssen Sie dafür sorgen, dass die Systeme vor Sicherheitslöchern geschützt werden, die sich durch Patches nicht beheben lassen. Ich habe es wiederholt erlebt, dass das Patchen eingestellt wurde, weil jemand glaubte, dass die Systeme nun sicher seien – was aber falsch ist und Riesensicherheitslücken aufmacht. Darüber hinaus bin ich der festen Überzeugung, dass es keinen narrensicheren Weg gibt, Systeme so dicht zu machen, dass niemand sie erfolgreich angreifen kann. Da jedes System und die Bedürfnisse einer jeden Organisation unterschiedlich sind, gibt es keine Lösung, die auf alles passt. Sie müssen Kompromisse schließen und dürfen sich nicht auf nur eine Option verlassen.

Es ist wichtig, zumindest grundsätzliche Sicherheitsmaßnahmen zu ergreifen. Unabhängig davon, ob Sie im Netzwerk eine Firewall installieren oder von den Benutzern starke Kennwörter verlangen – Sie müssen sich um die Grundlagen kümmern, wenn Sie ein Mindestmaß an Sicherheit erreichen wollen.

Die Infrastruktur der Sicherheitseinrichtungen überprüfen

Eine Überprüfung der sicherheitstechnischen Infrastruktur kann Schwung in Ihre Systeme bringen:

Schauen Sie sich das Design Ihres Netzwerks an. Berücksichtigen Sie dabei auch organisatorische Dinge wie das Vorhandensein von Richtlinien, deren ständige Aktualisierung und ob sie auch eingehalten werden. Übersehen Sie dabei physische Probleme nicht. Kümmert sich die Geschäftsführung um Datensicherheit oder tut sie die Maßnahmen mit einem Achselzucken als unnötige Ausgabe und Hindernis im Alltag ab?

Legen Sie eine Karte Ihres Netzwerks an, indem Sie die Informationen verwenden, die Sie durch die in diesem Buch vorgestellten Tests des ethischen Hackens gewonnen haben. Es ist wichtig, vorhandene Dokumentationen ständig zu aktualisieren. Heben Sie IP-Adressen, aktivierte Dienste und was Sie sonst noch entdecken hervor. Zeichnen Sie ein Diagramm Ihres Netzwerks – das Design des Netzwerks und die dazugehören-den Sicherheitseinrichtungen sind viel leichter zu überprüfen, wenn Sie sie auch optisch vor Augen haben. Ich ziehe es zwar vor, ein Netzwerkdiagramm mit einem technischen Zeichenprogramm wie Visio oder Cheops-ng (http://cheops-ng.sourceforge.net) zu erstellen, aber ein solches Werkzeug ist nicht zwingend erforderlich. Zur Not skizzieren Sie Ihre Karte auf einer Serviette!

Denken Sie daran, diese Karte immer dann zu aktualisieren, wenn sich das Netzwerk ändert.

Denken Sie über Ihre Vorgehensweise nach, wenn es um das Korrigieren von Schwachstellen und ein Erhöhen der generellen Sicherheit in Ihrem Unternehmen geht. Konzentrieren sich Ihre Anstrengungen auf eine gezielte oder auf eine flächendeckende Vorgehensweise? Nehmen Sie sich die Struktur von Sicherheitsvorkehrungen in Banken zum Vorbild: Sicherheitskameras, die auf den Kassenschalter, die Selbstbedienungsterminals und die Umgebung gerichtet sind und nicht nur auf den Parkplatz und den Eingang. Achten Sie darauf, dass Sie mehrere Sicherheitsstufen parat haben, falls eine nicht greifen sollte. Dadurch werden Angreifer gezwungen, sich nach dem Überwinden einer Hürde mit der nächsten auseinanderzusetzen, wenn sie Ihre Systeme erfolgreich hacken wollen.

Denken Sie über unternehmensweite Sicherheitsrichtlinien und die entsprechenden Prozeduren nach. Dokumentieren Sie vorhandene Sicherheitsrichtlinien und die entsprechenden Abläufe und ob sie überhaupt greifen. Schauen Sie sich an, wie im Unternehmen generell mit Sicherheit umgegangen wird. Versuchen Sie sich vorzustellen, was Kunden und Geschäftspartner darüber denken, wie bei Ihnen mit sensiblen Daten umgegangen wird.

Gehen Sie mit einem hohen Anspruch an das Thema Sicherheit heran, und wenn Sie das aus einem nicht technischen Blickwinkel heraus machen, sehen Sie Sicherheitslöcher plötzlich mit ganz anderen Augen. Das kostet zwar am Anfang Zeit und Mühe, aber wenn Sie erst einmal einen Grundstock an Sicherheit eingerichtet haben, fällt es Ihnen viel leichter, mit Bedrohungen und Schwachstellen umzugehen.

18

Sicherheitsverfahren umsetzen

In diesem Kapitel ...

Aufgaben automatisieren

Fehlverhalten beobachten

Testverfahren an Dritte vergeben

Jeden von der Bedeutung der Sicherheit überzeugen

Datensicherheit ist ein niemals stillstehender Vorgang, den Sie sinnvoll umsetzen müssen, um erfolgreich zu sein. Dieses Umsetzen geht über das regelmäßige Aufspielen von Sicherheitsaktualisierungen hinaus. Es ist wichtig, dass Sie Ihre Tests mit dem ethischen Hacken wiederholt durchführen, da die Bedrohung der Sicherheit Ihrer Daten und die Schwachstellen ständig vorhanden sind. Anders ausgedrückt: Die Tests, die Sie mit dem ethischen Hacken durchführen, sind bestenfalls Momentaufnahmen der generellen Datensicherheit. Das zwingt Sie, die Tests immer wieder durchzuführen, um beim Thema Sicherheit immer auf dem Laufenden zu sein. Und es sind nicht nur die gesetzlichen Vorgaben, die Sie zwingen, ständig wachsam zu sein, sondern es geht schließlich auch darum, die Risiken für Ihr Unternehmen so gering wie möglich zu halten.

Die Abläufe des ethischen Hackens automatisieren

Viele der in diesem Buch vorgestellten Tests können automatisiert ablaufen:

Ping-Sweeps und Portscans, die zeigen, welche System verfügbar und aktiv sind

Tests zum Knacken von Kennwörtern, um Zugriff auf externe Webanwendungen, ferne Server und so weiter zu erhalten

Schwachstellenscans, um fehlende Patches, fehlerhafte Konfigurationen und ausnutzbare Löcher zu finden

Ausnutzen von Schwachstellen (zumindest ansatzweise)

Sie müssen die richtigen Werkzeuge besitzen, um die folgenden Tests zu auto matisieren:

Einige kommerzielle Werkzeuge sind in der Lage, Prüfungen in regelmäßigen Abständen durchzuführen und darüber gute Berichte zu erstellen, ohne dass Sie – mit Ausnahme weniger Einstellungen und der Angabe zeitlicher Vorgaben – manuell eingreifen müssen. Aus diesem Grund liebe ich viele dieser kommerziellen Werkzeuge zum Durchführen von Sicherheitstests wie QualysGuard und WebInspect. Das, was diese Werkzeuge an Automatisierung bieten, rechtfertigt in der Regel ihren Preis – insbesondere schon deshalb, weil Sie dann nicht um zwei Uhr morgens vor Ort oder 24 Stunden auf Abruf sein müssen, um die Testergebnisse zu beobachten.

Sicherheitswerkzeuge wie Nmap, John the Ripper und Netstumbler, die für sich laufen, reichen nicht aus. Sie können unter Windows den Windows Task Scheduler und AT-Befehle und auf Linux basierenden Systemen Cron-Jobs verwenden, aber manuelles Vorgehen und Ihr gesunder Menschenverstand sind zwingend erforderlich.

Sie finden im Anhang Links zu diesen Werkzeugen.

Bestimmte Tests und Abläufe wie das Auslesen neuer Systeme, verschiedene Tests von Webanwendungen, Social Engineering und physische Überprüfungen von Sicherheiten können nicht automatisiert erfolgen. Da sind Sie persönlich gefragt.

Selbst das »intelligenteste Expertensystem für Computer« ist nicht in der Lage, Sicherheitstests durchzuführen. Sicherheit verlangt immer noch technische Fachkenntnisse und Erfahrung und den guten alten gesunden Menschenverstand.

Bösartigkeit überwachen

Es ist wichtig, dass Ereignisse, die die Sicherheit berühren, dauerhaft überwacht werden. Dies gehört eigentlich zu den gleichen grundsätzlichen und alltäglichen Routinen wie das tägliche Kontrollieren von Protokolldateien von Routern, Firewalls und wichtigen Servern. Zum erweiterten Kontrollieren gehört die Einbindung eines geeigneten Systems zum Umgang mit Sicherheitsproblemen, damit Sie alles überwachen können, was in Ihrer Umgebung geschieht. Eine beliebte Methode ist der Einsatz eines Systems zum Verhindern eines unberechtigten Eindringens in Ihre Systeme oder eines Systems, das Datenlecks vermeidet. Außerdem müssen Sie immer auf bösartiges Verhalten achten.

Das Problem bei der Kontrolle sicherheitsrelevanter Ereignisse ist, dass es langweilig ist und nur sehr schwierig erfolgreich durchgeführt werden kann. Sie könnten sich jeden Morgen die Zeit nehmen, als Erstes die Protokolldateien der vorherigen Nacht oder des letzten Wochenendes zu checken und auf Sicherheitsprobleme bei Computern und dem Netzwerk hin durchzusehen. Eine Frage: »Wollen Sie sich oder einem anderen das wirklich antun?«

Das manuelle Durchforsten von Protokolldateien ist bestimmt nicht der beste Weg, ein System zu überwachen. Bedenken Sie diese Nachteile:

Es ist schwierig, wenn nicht sogar fast unmöglich, wichtige sicherheitsbezogene Ereignisse in Protokolldateien aufzuspüren. Um eine solche Suche effektiv durchzuführen, ist diese Aufgabe für einen normalen Durchschnittsmenschen viel zu mühsam.

Abhängig von der Art der Protokollierung und Ihrer verwendeten Sicherheitsausrüstung können Sie Ereignisse, die die Sicherheit der Systeme betreffen, nicht entdecken, zum Beispiel wenn Techniken Systeme umgehen, die Eindringlinge entdecken sollen, oder wenn der Angriff auf das Netzwerk über zulässige Ports erfolgt.

Statt sich durch alle Protokolldateien zu kämpfen, um kaum auffindbare Angriffe zu entdecken, sollten Sie so vorgehen:

Aktivieren Sie Systemprotokolle dort, wo es Sinn macht und möglich ist. Sie müssen nicht alle Computer- und Netzwerkereignisse einsammeln, aber Sie sollten unbedingt nach bestimmten Ereignissen Ausschau halten, zum Beispiel nach Protokollfehlern, »missgebildeten« Paketen und nicht berechtigten Zugriffen auf Dateien.

Protokollieren Sie sicherheitsrelevante Ereignisse, indem Sie in Ihrem Netzwerk syslog oder einen zentralen Server verwenden. Belassen Sie möglichst keine Protokolldateien auf lokalen Hosts, denn dort könnten sie von einem Angreifer bearbeitet werden, der seine Spuren verwischen will.

Hier ein paar gute Vorschläge, um das Dilemma zu lösen, wie Sie die Sicherheit von Systemen erfolgreich überwachen können:

Erwerben Sie ein System, das Ereignisse protokolliert. Es gibt kostengünstige Lösungen wie GFI EventsManager (www.gfi.com/eventsmanager). Normalerweise unterstützen preiswerte Systeme, die Ereignisse protokollieren, nur eine Betriebssystemplattform – üblicherweise Microsoft Windows. Hochwertige Lösungen wie HP ArcSight Logger (www.hpenterprisesecurity.com/products/hp-arcsight-security-intelligence/hp-arcsight-logger) bieten nicht nur eine Protokollverwaltung auf mehreren Plattformen, sondern auch eine Überprüfung auf übereinstimmende Ereignisse, was im Falle eines Unglücks die zu überprüfenden Quellen und Systeme reduziert.

Übergeben Sie die Überwachung der Sicherheit an Dritte (zum Beispiel in der Cloud). Während der Boom-Zeit des Internets tummelten sich dort Dutzende von Anbietern, von denen aber nur noch wenige übrig geblieben sind, so zum Beispiel BTs Assure (http://www.globalservices.bt.com/de/de/home?cont=true), Dell SecureWorks (www.secureworks.com) und auch Alert Logic (www.alertlogic.com). Überlegen Sie sich, die Überwachung in die Cloud zu verlagern, weil die Firmen dort über Möglichkeiten und Werkzeuge verfügen, die Sie sich in der Regel nicht leisten und mit denen Sie normalerweise auch nicht umgehen können. Außerdem gibt es dort einen rund um die Uhr besetzten Analysedienst, und man verfügt über eine bei vielen Kunden erworbene Erfahrung in Sicherheitsfragen, von der auch Sie profitieren.

Wenn die Anbieter dieser Cloud-Dienste ein Sicherheitsloch oder einen Eindringling entdecken, können sie sich normalerweise sofort um die Angelegenheit kümmern, und zwar häufig ohne Ihr Zutun. Sie sollten sich auf jeden Fall damit beschäftigen, ob nicht Dritte mit ihren Diensten dafür sorgen können, Ihnen so viel Arbeit abzunehmen, dass Sie sich wieder um Ihre eigentlichen Aufgaben kümmern können. Verlassen Sie sich aber niemals nur auf den Cloud-Anbieter, denn dieser könnte Schwierigkeiten dabei haben, Missbrauch durch Insider, Social-Engineering-Angriffe und das Hacken von Webanwendungen über Secure Sockets Layer (SSL) abzufangen.

Ethisches Hacken an Dritte vergeben

Ethisches Hacken wird gerne an Dritte vergeben (wobei eine Vergabe von Aufgaben an Dritte auch Outsourcing genannt wird) und eignet sich sehr gut für Unternehmen, die eine unvoreingenommene Meinung über ihre Sicherheitseinrichtungen erhalten wollen. Outsourcing sorgt für ein geprüftes System, das Kunden, Geschäftspartner und Zertifizierungsfachleute gerne sehen.

Es kann teuer werden, ethisches Hacken an Dritte zu vergeben. Es gibt Firmen, die Tausende – wenn nicht sogar Zehntausende – von Euro dafür ausgegeben haben, wobei die Höhe der Summe natürlich von den durchgeführten Tests abhängt. Vergessen Sie aber nicht, dass es nicht unbedingt billiger wird, wenn Sie die Aufgabe selbst übernehmen. Und normalerweise können Sie nicht so wirkungsvoll arbeiten wie die Fachleute.

Es stehen viele vertrauliche Daten auf dem Spiel, weshalb Sie außenstehenden Beratern und Herstellern vertrauen müssen. Wenn Sie sich nach einem unabhängigen Experten als Partner umschauen, sollten Sie Folgendes berücksichtigen:

Steht der Anbieter des ethischen Hackens auf Ihrer Seite oder ist er von einem Hersteller abhängig? Versucht er, Ihnen Produkte zu verkaufen, oder arbeitet er herstellerunabhängig? Viele Anbieter könnten versucht sein, ein paar Euro extra zu machen. Achten Sie darauf, dass es zu keinem Interessenkonflikt kommt, der letztendlich nur Ihrem Budget und dem Unternehmen schadet.

Welche weiteren IT- oder Sicherheitsdienste werden von Ihrem potenziellen Geschäftspartner angeboten? Konzentriert sich der Anbieter ausschließlich auf Sicherheitsfragen? Oftmals ist es besser, wenn Sie einen Fachmann für IT-Sicherheitsfragen für sich arbeiten lassen und auf einen Generalisten der IT-Branche verzichten. Frage: Würden Sie einen normalen Rechtsanwalt anheuern, wenn es um eine Frage des Patentrechts geht?

Wie sehen die Einstellungsvoraussetzungen beim Anbieter aus? Welche Regelungen gibt es für den Fall einer Auflösung eines Arbeitsverhältnisses? Schauen Sie sich die Maßnahmen an, die der Anbieter getroffen hat, um die Wahrscheinlichkeit so klein wie möglich zu halten, dass einer seiner Mitarbeiter mit Ihren vertraulichen Daten das Weite sucht.

Versteht der Anbieter Ihre geschäftlichen Bedürfnisse? Hat er sie sich aufgeschrieben, damit auf keinen Fall etwas vergessen wird?

Wie sieht die Kommunikation mit dem Anbieter aus? Glauben Sie, dass Sie zeitnah über alles informiert werden?

Wissen Sie genau, wer die Tests durchführen wird? Werden die Tests von einer Person durchgeführt oder kümmern sich Spezialisten um die einzelnen Bereiche? (Das ist kein Punkt, der eine Zusammenarbeit verhindern sollte, aber es ist immer gut, so etwas zu wissen.)

Besitzt der Anbieter die Erfahrung, um praktische und wirksame Maßnahmen gegen die gefundenen Schwachstellen empfehlen zu können? Der Anbieter sollte Ihnen nicht nur einen Bericht aushändigen und viel Glück wünschen. Sie benötigen echte Lösungen.

Wie sehen die Motive des Anbieters aus? Haben Sie den Eindruck gewonnen, dass es dem Anbieter nur um das schnelle Geld geht, oder ist er daran interessiert, zu Ihnen eine langfristige Geschäftsbeziehung aufzubauen?

Wenn Sie ein Unternehmen finden, mit dem Sie auch auf Dauer zusammenarbeiten können, erleichtert dies natürlich Ihre Anstrengungen. Fragen Sie nach Referenzen und gesäuberten Ergebnissen (das sind Berichte von durchgeführten Arbeiten, bei denen die sensiblen Daten entfernt wurden). Wenn ein Anbieter damit nicht sofort dienen kann, sollten Sie sich nach einem anderen Geschäftspartner umsehen.

Der Anbieter sollte Ihnen einen individuellen Vertrag vorlegen, der auch ein Geheimhaltungsabkommen enthält.

Was von geläuterten Hackern zu halten ist

Ehemalige Hacker – und hier meine ich die, die sich in der Vergangenheit in Computersysteme gehackt haben – können bei dem, was sie machen, sehr gut sein. Viele schwören darauf, für das ethische Hacken geläuterte Hacker einzustellen. Andere sind der Meinung, dass dies so wäre, als wenn der Fuchs den Hühnerhof beschützen solle. Wenn Sie darüber nachdenken, einen ehemaligen unethischen Hacker ins Unternehmen zu holen, um Ihre Systeme zu testen, sollten Sie dies berücksichtigen:

Wollen Sie mieses Verhalten wirklich mit dem Geld Ihres Unternehmens belohnen?

Die Behauptung, geläutert zu sein, muss nicht unbedingt den Tatsachen entsprechen.

Bei den Daten, auf die während des ethischen Hackens zugegriffen wird, handelt es sich um die sensibelsten Informationen, die Ihr Unternehmen besitzt. Wenn diese Daten in die falschen Hände fallen, können sie gegen Ihr Unternehmen verwendet werden. Es gibt Hacker und geläuterte Kriminelle, die in feste soziale Gruppen eingebunden sind. Sie möchten doch sicherlich nicht, dass Ihre Daten dort herumschwirren.

Andererseits hat jeder das Recht darauf, zu erklären, was in der Vergangenheit los war. Null Toleranz bringt Sie nicht weiter. Hören Sie sich an, was die Person zu sagen hat, und gebrauchen Sie Ihren Menschenverstand, um zu entscheiden, ob Ihr Vertrauen so groß ist, dass die Person Ihnen helfen darf. Es könnte nämlich sein, dass der vermeintliche Black-Hat-Hacker in Wirklichkeit ein Gray-Hat-Hacker oder ein fehlgeleiteter White-Hat-Hacker ist, der gut in Ihr Team passt.

Für eine auf Sicherheit gerichtete Einstellung sorgen

Ihre Netzwerkbenutzer bilden oft die erste und die letzte Verteidigungslinie. Achten Sie darauf, dass Ihre Anstrengungen im ethischen Hacken und das Geld, das für Ihre Initiative zur Sicherheit der Daten ausgegeben wird, nicht dadurch vergeudet werden, dass ein einfacher Ausrutscher eines Mitarbeiters einem Angreifer den Schlüssel zum Paradies verschafft.

Die folgenden Elemente können dabei helfen, in Ihrer Organisation eine sicherheitsbewusste Kultur einzurichten:

Die Aufmerksamkeit für Sicherheitsfragen und regelmäßige Schulungen sollten zu einem ständigen Begleiter aller Mitarbeiter und der Benutzer Ihres Netzwerks werden. Hierzu gehören auch das Management und Vertragspartner. Eine einmalige Schulung, zum Beispiel bei der Einstellung, reicht nicht aus. Bewusstseinsbildung und Schulung müssen regelmäßig wiederholt werden, damit sich das Thema ganz oben im Gedächtnis festsetzen kann.

Behandeln Sie Bewusstseinsbildung und Schulungen als langfristige Investitionen.

Programme zur Stärkung des Sicherheitsbewusstseins müssen nicht teuer sein. Sie können Poster, Mauspads, Bildschirmschoner, Kugelschreiber und Aufkleber besorgen, die helfen, das Thema Sicherheit nicht aus dem Gedächtnis zu verlieren.

Tragen Sie den Begriff Sicherheit in das Management. Wenn Sie die Mitglieder des Managements darüber im Dunkeln lassen, was Sie da machen, ist es unwahrscheinlich, dass sie sich auf Ihre Seite stellen. Wie Sie für Ihre Sicherheitsinitiative Unterstützung bekommen können, behandele ich in Kapitel 19.

Richten Sie Ihre Sicherheitsbotschaft am Publikum aus und seien Sie dabei so wenig technisch wie möglich. Das Letzte, was Sie tun sollten, ist, eine Reihe von Computerfreaks einzuladen, die dann zu Leuten sprechen, die keine Ahnung haben, wovon geredet wird. Sie erreichen damit nur das Gegenteil dessen, was Ihnen vorschwebt. Verpacken Sie Ihre Botschaft so, dass jeder sie versteht.

Gehen Sie mit gutem Beispiel voran. Zeigen Sie, dass Sie Sicherheit ernst nehmen, und liefern Sie die entsprechenden Beweise, damit Ihnen die anderen folgen.

Wenn Sie sich beim Management und den Benutzern Gehör verschaffen können und in Ihren Anstrengungen nicht nachlassen, können Sie dazu beitragen, dass Sicherheit zu einem festen Bestandteil der Unternehmenskultur wird.

Auch bei anderen Sicherheitsanstrengungen nicht nachlassen

Das ethische Hacken ist nicht die alles selig machende Lösung, wenn es um Datensicherheit geht. Es ist keine Garantie für Sicherheit, aber es ist sicherlich ein sehr guter Anfang. Das ethische Hacken muss zu einem Bestandteil eines übergreifenden Programms für die Datensicherheit werden, zu dem auch diese Punkte gehören:

Risikoüberprüfung für Daten auf sehr hohem Niveau
starke Sicherheitsrichtlinien und Standards, die verpflichtend sind und die eingehalten werden
solide Pläne für Reaktionen auf Unglücksfälle
wirkungsvolle Initiativen für das Wecken eines Sicherheitsbewusstseins und für Schulungen

Diese Anstrengungen machen es eventuell nötig, neue Leute einzustellen oder Sicherheitsdinge an Dritte zu vergeben.

Vergessen Sie nicht, dass auch Sie und alle Kollegen, die Ihnen helfen, geschult werden müssen. Sie müssen sich ständig weiterbilden, damit Sie das Sicherheitsspiel auch weiterhin anführen können.

Teil VII

Der Top-Ten-Teil

In diesem Teil ...

Lassen Sie es mich bildlich darstellen: Wir sind am Ziel angekommen. Ich habe in diesem Teil Listen mit den Top-Ten-Dingen zusammengestellt, von denen ich glaube, dass sie die zentralen Faktoren für einen Erfolg sind, wenn es in einem Unternehmen um ein erfolgreiches ethisches Hacken und damit letztendlich um eine funktionierende Sicherheit der Unternehmensdaten geht. Verwenden Sie Lesezeichen, Eselsohren oder machen Sie mit den Seiten, was Sie wollen, damit Sie immer wieder schnell zu ihnen zurückkehren können. Hier gibt es das Salz in der Suppe dessen, was Sie wissen müssen, wenn es um Datensicherheit, das Befolgen von Regeln und den Umgang mit Risiken für Ihre Daten und weniger um die technischen Hacks und die Gegenmaßnahmen geht, die ich bis hierher im Buch behandelt habe. Lesen Sie die folgenden Kapitel, lernen Sie daraus und setzen Sie Ihr Wissen um. Das können Sie nämlich!

19

Zehn Tipps, um die Unterstützung der Geschäftsführung zu erlangen

Um die Unterstützung zu erhalten, die Sie benötigen, um Ihr ethisches Hacken durchzuführen, gibt es Dutzende von Möglichkeiten. Ich beschreibe in diesem Kapitel diejenigen, die ich für die wirkungsvollsten halte.

Sorgen Sie für einen Verbündeten und einen Geldgeber

Sie sollten nicht allein versuchen, dem Management ethisches Hacken und Datensicherheit zu verkaufen. Holen Sie sich einen Verbündeten an die Seite – am besten jemanden aus der Geschäftsführung. Wählen Sie eine Person aus, die versteht, wie wertvoll ethisches Hacken und Datensicherheit sind. Auch dann, wenn die Person nicht in der Lage sein sollte, direkt für Sie zu sprechen, kann sie als unbefangener Dritter dienen und dafür sorgen, dass Sie glaubwürdiger werden.

Seien Sie kein Aufschneider

Sherlock Holmes sagte: »Es ist ein kapitaler Fehler, zu theoretisieren, bevor Fakten auf dem Tisch liegen.« Um eine gute Basis für Datensicherheit und die Notwendigkeit des ethischen Hackens zu schaffen, suchen Sie als Unterstützung für Ihre Absicht die entsprechenden Daten zusammen. Blasen Sie die Dinge aber auf keinen Fall auf, um Angst, Unsicherheit und Zweifel zu säen. Manager, die ihr Geld wert sind, durchschauen so etwas sofort. Konzentrieren Sie sich darauf, dem Management Praxisbeispiele zu präsentieren. Bewirken Sie rationale Angst, die in einem proportionalen Verhältnis zur Bedrohung steht – das geht in Ordnung. Erzählen Sie nicht, dass die Götter erzürnt seien und der Himmel gleich einstürzen werde.

Zeigen Sie, warum es sich das Unternehmen nicht leisten kann, gehackt zu werden

Zeigen Sie, wie abhängig das Unternehmen von seinen Informationssystemen ist. Erstellen Sie Was-wäre-wenn-Szenarien – das Durchspielen der Folgen eines Datenklaus auf das Unternehmen –, um zu zeigen, wie der Ruf des Unternehmens geschädigt werden kann und wie lange das Unternehmen ohne Zugriff auf das Netzwerk, die Computer und die Daten überleben würde. Fragen Sie in der Geschäftsführung nach, was man dort ohne Computer und die Mitarbeiter der IT machen könne oder wie man reagieren würde, wenn sensible Geschäfts- oder Kundendaten an die Öffentlichkeit gelangten. Weisen Sie auf tatsächlich geschehene Hacker-Angriffe über zum Beispiel Malware, physische Einbrüche in die Sicherheitsumgebung und Social Engineering hin, aber verteufeln Sie das alles nicht. Gehen Sie positiv an die Sache heran. Suchen Sie nach Berichten über Geschehnisse in vergleichbaren Unternehmen oder Geschäftszweigen. Legen Sie auch Zeitungsartikel zu diesem Thema vor. Lassen Sie die Fakten für sich sprechen.

Ein großartiges Werkzeug ist Google, mit dem Sie so gut wie alles finden können, was Sie zum Thema Datensicherheit wissen müssen.

Zeigen Sie der Geschäftsführung, dass es im Unternehmen Dinge gibt, die Hacker haben wollen. Eines der häufigsten Missverständnisse beim Thema Datensicherheit und Schwachstellen ist, dass geglaubt wird, dass es im Unternehmen und im Netzwerk nichts Interessantes gäbe. Weisen Sie auf die möglichen Folgekosten eines Schadens durch Hacker hin:

Kosten auf Grund verpasster Geschäfte

Veröffentlichung geistigen Eigentums

Haftungsrechtliche Probleme

Kosten für Anwälte und Gerichtsverfahren

Kosten für die Säuberung der Systeme und für Reaktionen auf den Vorfall

Kosten für den Ersatz verloren gegangener, an die Öffentlichkeit geratener oder beschädigter Daten oder Systeme

Kosten für die Reparatur des angeschlagenen Rufes

Heben Sie die allgemeinen Vorteile des ethischen Hackens hervor

Sprechen Sie nicht nur über die im vorherigen Abschnitt aufgeführten Kosten, sondern auch darüber, wie vorbeugendes Testen helfen kann, bei einem Informationssystem Sicherheitslöcher zu finden, die normalerweise übersehen würden. Sagen Sie dem Management, dass das Testen der Datensicherheit im Rahmen des ethischen Hackens ein Weg ist, wie ein Angreifer zu denken und zu handeln, damit sich das Unternehmen vor diesen Leuten schützen kann.

Zeigen Sie, wie ethisches Hacken gerade Ihrem Unternehmen helfen kann

Dokumentieren Sie die Vorteile, die das Gesamtunternehmen hat:

Zeigen Sie, dass Sicherheit nicht unbedingt teuer sein muss und dem Unternehmen auf lange Sicht Geld sparen hilft.

• Es ist einfacher und billiger, von Anfang an auf Sicherheit zu setzen.

• Sicherheit muss nicht kompliziert sein und kann die Produktivität steigern, wenn sie sauber eingerichtet wird.

Reden Sie darüber, wie neue Produkte oder Dienstleistungen wettbewerbsfähig angeboten werden können, wenn es sichere Informationssysteme gibt.

• Gesetzliche und firmeninterne Datenschutzrichtlinien werden eingehalten.

• Es werden die Bedürfnisse von Geschäftspartnern und Kunden befriedigt.

• Es wird gezeigt, dass das Management und das Unternehmen es wert sind, dass man mit ihnen Geschäfte macht.

• Ethisches Hacken und die damit zusammenhängenden Abläufe zeigen, dass das Unternehmen sensible Kunden- und Geschäftsdaten schützt.

Heben Sie hervor, welche Vorteile das Fortführen von tiefgehenden Tests bietet.

Kümmern Sie sich um das Unternehmen

Sehen Sie zu, dass Sie wissen, wie Ihr Unternehmen funktioniert, wer die zentralen Figuren sind und welche Politik verfolgt wird:

Gehen Sie zu Besprechungen, um zu sehen und um gesehen zu werden. Dies hilft dabei nachzuweisen, dass Sie am Unternehmen interessiert sind.

Seien Sie eine wertvolle Person, die daran interessiert ist, am Erfolg des Unternehmens mitzuwirken.

Erkennen Sie Ihre Gegner. Wenn Sie wissen, wer Ihr »Feind« ist, und wenn Sie dessen mögliche Gegenargumente kennen, ist es viel einfacher, sich um Unterstützung zu kümmern.

Seien Sie glaubwürdig

Konzentrieren Sie sich auf diese drei Merkmale:

Reden Sie nur positiv über das Unternehmen und beweisen Sie, dass es Ihnen nur um das Unternehmen geht.

Versuchen Sie, Manager zu verstehen, und zeigen Sie ihnen, dass Sie aufseiten des Unternehmens stehen und verstehen, was Manager leisten müssen.

Um positive Beziehungen im Unternehmen aufzubauen, müssen Sie vertrauenswürdig sein. Bauen Sie langfristig eine Vertrauensposition auf, und es wird Ihnen viel leichter fallen, Sicherheit zu verkaufen.

Reden Sie wie ein Manager

Es mag sich zwar cool anhören, aber von technischem Gerede ist eigentlich niemand beeindruckt. Reden Sie die Sprache Ihres Unternehmens. Wenn Sie Unterstützung haben wollen, sorgt nämlich genau das dafür, dass man Ihnen glaubt.

Ich habe gesehen, wie unzählige IT- und Sicherheitsprofis den Kontakt zum oberen Management verloren haben, als sie anfingen, etwas zu »erklären«. Ein Megabyte hier, eine zustandsorientierte Untersuchung dort und überall Stapel und Pakete! Vergessen Sie's. Machen Sie das Thema Sicherheit zu etwas, das zum täglichen Geschäftsablauf gehört, damit der Job erledigt werden kann.

Zeigen Sie, wie wertvoll Ihre Anstrengungen sind

Das ist genau der Punkt, auf den es ankommt. Wenn Sie zeigen können, dass sich das, was Sie machen, für das Unternehmen lohnt, können Sie bei Ihrem ethischen Hacken ein gutes Tempo vorlegen und müssen nicht ständig darum bitten, weitermachen zu dürfen. Am besten merken Sie sich diese Punkte:

Dokumentieren Sie, welche Beziehung Sie zur IT und zur Datensicherheit haben, und erstellen Sie für das Management ständig aktuelle Berichte über den Sicherheitszustand des Unternehmens. Liefern Sie dem Management Beispiele dafür, wie die Systeme des Unternehmens vor Angriffen geschützt werden.

Weisen Sie auf konkrete Ergebnisse hin, die als Beweis für Ihr Konzept dienen können. Zeigen Sie beispielhafte Berichte von Schwachstellenüberprüfungen vor, die Sie auf den Systemen vorgenommen haben.

Behandeln Sie Zweifel, Einwände und Gegenreden der Geschäftsführung als Zeichen dafür, dass Informationen fehlen. Suchen Sie nach Antworten und kehren Sie gewappnet zurück, um nachzuweisen, wie wertvoll Ihr ethisches Hacken ist.

Seien Sie flexibel und anpassungsfähig

Bereiten Sie sich als Erstes auf Skepsis und Ablehnung vor. So etwas kommt oft vor. Gerade das obere Management, insbesondere der Finanzchef und die Unternehmensführung, hat in der Regel keine Verbindung zur IT und den sicherheitstechnischen Fragen. Das mittlere Management, das existiert, damit alles ein wenig komplizierter wird, gehört ebenfalls zum problematischen Bereich.

Ziehen Sie sich nicht zurück. Sicherheit ist etwas Langfristiges. Fangen Sie klein an, verbrauchen Sie nur wenige Ressourcen in Form von Geld, Zeit und Werkzeugen, und bauen Sie das Programm im Laufe der Zeit aus.

20

Zehn Gründe, warum Hacken das einzig sinnvolle Testen ist

Ethisches Hacken findet nicht aus Spaß an der Freude statt. Ethisches Hacken ist aus vielen Gründen der einzig sinnvolle Weg, um Sicherheitslöcher zu finden, die für Ihr Unternehmen wichtig sind.

Die Bösen denken Böses, verwenden gute Werkzeuge und entwickeln neue Methoden

Wenn Sie mit externen Angreifern und bösartigen Insidern zu tun haben, müssen Sie die neuesten Angriffsarten und die Werkzeuge kennen, die diese Leute verwenden. Ich behandele in Kapitel 10 (Mobile Geräte) und in Kapitel 14 (Websites und Webanwendungen) einige der neuesten Tricks, Techniken und Werkzeuge.

Gesetze und die Einhaltung von Regeln bedeuten in der IT immer noch mehr als hochwertige Prüflisten

Bei all den gesetzlichen Vorschriften und industriellen Vorgaben haben Sie höchstwahrscheinlich keine große Wahl, was Sicherheit angeht. Das Problem ist, dass Sie nicht automatisch auf der sicheren Seite stehen, wenn Sie alle Regeln und Vorschriften befolgen. Hier fällt mir zum Beispiel der PCI DSS ein. Sie müssen die Scheuklappen der Prüflisten abnehmen. Wenn Sie auf das ethische Hacken setzen, sind Sie in der Lage, viel tiefer in die wirklichen Schwachstellen des Unternehmens einzudringen.

Ethisches Hacken ergänzt Prüfverfahren und Einschätzungen der Sicherheitsstandards

Zweifellos gibt es in Ihrem Unternehmen jemanden, der der Meinung ist, dass reine Sicherheitsüberprüfungen besser sind als dieses komische ethische Hacken. Wenn Sie es schaffen, dieser Person das ethische Hacken zu verkaufen und sie in Ihre Sicherheitsinitiative einzubinden (zum Beispiel für interne Stichproben der Prüfverfahren), kann das ganze Prüfverfahren viel intensiver und mit besseren Ergebnissen ablaufen.

Kunden und Partner fragen: »Wie sicher sind Ihre Systeme?«

Viele Unternehmen verlangen heutzutage in die Tiefe gehende Sicherheitsbeurteilungen ihrer Geschäftspartner. Dasselbe gilt für bestimmte Kunden. Die größeren Unternehmen wollen wissen, wie sicher ihre Daten in Ihrem Netzwerk sind. Der einzige Weg, um definitiv herauszufinden, wo Sie stehen, sind die Methoden und Werkzeuge, die ich in diesem Buch behandele.

Das Gesetz des Durchschnitts arbeitet gegen Ihr Unternehmen

Informationssysteme werden immer komplexer. Es ist nur eine Frage der Zeit, bis sich diese Komplexität gegen Sie richtet und den bösen Buben zum Vorteil dient. Ein krimineller Hacker muss nur eine Schwachstelle finden, um mit seinen Anstrengungen erfolgreich zu sein. Sicherheitsprofis müssen alle Schwachstellen entdecken. Wenn Sie sicher sein wollen, dass Ihre wichtigen Systeme und die sensiblen Daten, die Sie verarbeiten, sicher sind, müssen Sie sich die Dinge aus dem Blickwinkel einer bösartigen Denkweise anschauen.

Das ethische Hacken verbessert das Verständnis für Bedrohungen des Unternehmens

Es ist etwas anderes zu sagen, dass Kennwörter schwach sind oder Patches fehlen, als solche Schwächen tatsächlich auszunutzen und zu zeigen, was dabei passieren kann. Es gibt keinen besseren Weg, um zu beweisen, dass es ein Problem gibt und welche Folgen das haben kann, als es durch ethisches Hacken aufzuzeigen und damit das Management zu motivieren, etwas zu unternehmen.

Wenn es zu einem Einbruch kommt, müssen Sie auf etwas zurückgreifen können

Wenn ein externer Angreifer oder ein bösartiger Insider Ihren Sicherheitswall durchbricht, könnte Ihr Unternehmen verklagt werden, oder es bewegt sich außerhalb gesetzlicher Vorschriften und Regeln. Das Management sollte dann zumindest zeigen, dass es mit der gebührenden Sorgfalt vorgegangen ist und sich regelmäßig um Sicherheitsrisiken gekümmert hat. Problematisch kann es auch werden, wenn Schwierigkeiten nicht beseitigt werden. Das Letzte, was Sie gebrauchen können, ist ein Anwalt, der Ihnen nachweist, wie nachlässig Ihr Unternehmen mit der Datensicherheit umgegangen ist oder dass Sicherheitstests nicht zu Ende geführt wurden.

Ethisches Hacken fördert das Übelste Ihrer Systeme ans Tageslicht

Jemand, der mit einer Prüfliste herumläuft, ist in der Lage, auf »bewährte Vorgehensweisen« bei Sicherheitstests hinzuweisen, die Sie vielleicht übersehen haben, aber er bemerkt nicht die gravierenden Sicherheitslöcher, die das ethische Hacken offenlegt. Das sind die Schwachstellen, die das Unternehmen in die größten Schwierigkeiten bringen können. Ethisches Hacken bringt die ungeschminkte Wahrheit an das Tageslicht.

Ethisches Hacken verbindet das Beste der Tests auf Eindringen mit dem Prüfen auf Schwachstellen

Wenn Sie das Eindringen in Systeme testen, finden Sie nur selten alles, weil der Umfang der herkömmlichen Tests einfach zu stark eingeschränkt ist. Dasselbe gilt für die reinen Schwachstellentests, zu denen meistens auch Sicherheitsscans gehören. Ethisches Hacken verbindet das Beste aus beiden Welten.

Ethisches Hacken kann Schwächen aufdecken, die ansonsten vielleicht jahrelang übersehen worden wären

Ethisches Hacken deckt nicht nur technische, physische und menschliche Schwächen auf, es kann auch Probleme aufzeigen, die die IT im Sicherheitsbereich hat, zum Beispiel beim Patch-Management, bei der Änderungsverwaltung und einen Mangel an Aufmerksamkeit, auf die man vielleicht sonst nicht gestoßen wäre.

21

Zehn tödliche Fehler

Es gibt Fehler, die sich auf die Ergebnisse Ihres ethischen Hackens und möglicherweise auch auf Ihre Karriere verheerend auswirken. Ich behandele in diesem Kapitel poten zielle Fallgruben, die Sie möglichst umgehen sollten.

Im Vorfeld keine Genehmigung einholen

Es ist ein absolutes Muss, sich im Voraus von Ihrem Management oder einem Kunden eine schriftliche Genehmigung für das ethische Hacken einzuholen – sei es als E-Mail, als internes Memo oder als formeller Vertrag. Das ist dann Ihre Sie-kommen-aus-dem-Gefängnis-frei-Karte!

Lassen Sie sich hier auf keine Ausnahmen ein, und zwar ganz besonders dann nicht, wenn Sie für einen Kunden arbeiten. Sorgen Sie dafür, dass Sie eine unterschriebene Ausfertigung der Papiere für Ihre Unterlagen und Ihren Anwalt bekommen.

Davon ausgehen, dass Sie im Verlauf Ihrer Tests alle Schwachstellen finden

Es gibt so viele – bekannte und unbekannte – Schwachstellen, dass es unmöglich ist, alle während Ihrer Tests zu finden. Garantieren Sie niemals, alle Sicherheitslöcher eines Systems zu finden. Sie versprechen damit etwas, das Sie nicht halten können.

Davon ausgehen, alle Sicherheitslöcher beseitigen zu können

Wenn es um Computer geht, ist es unmöglich, eine hundertprozentige, wasserdichte Sicherheit zu erreichen. Es ist so gut wie unmöglich, alle Schwachstellen zu verhindern, aber Sie machen schon einen guten Job, wenn Sie an die niedrig hängenden Früchte gelangen und diese Aufgaben ausführen:

Folgen Sie bewährten Vorgehensweisen.

Spielen Sie auf Ihren Systemen aktuelle Patches auf.

Wenden Sie vernünftige (von den Kosten her vertretbare) sicherheitsspezifische Gegenmaßnahmen an.

Diese Bereiche werden in vielen Kapiteln angesprochen, zum Beispiel in den Kapiteln über die Betriebssysteme in Teil IV. Außerdem ist es wichtig, daran zu denken, dass es nicht eingeplante Kosten geben kann. Sie könnten auf viele Sicherheitsprobleme stoßen und benötigen dann ein entsprechendes Budget, um die Löcher zu stopfen.

Tests nur einmal ausführen

Das ethische Hacken liefert eine Momentaufnahme des allgemeinen Zustands Ihrer Sicherheitssysteme. Ständig tauchen neue Bedrohungen und Schwachstellen auf, weshalb Sie die Tests in Abständen – und das ständig – wiederholen müssen, damit Sie mit den Sicherheitsmaßnahmen für Ihre Systeme auf dem Laufenden bleiben. Entwickeln Sie sowohl kurz- als auch langfristige Pläne, um die Sicherheitstests auch in den nächsten Monaten und Jahren fortsetzen zu können,

Glauben, alles zu wissen

Selbst wenn es auf dem Feld der IT Menschen gibt, die anderer Meinung sind, ist es eine Tatsache, dass niemand, der mit Computern oder der Datensicherheit zu tun hat, alles darüber weiß. Es ist unmöglich, bei all den Softwareversionen, Hardwaremodellen und sich ständig ausweitenden Technologien auf dem Laufenden zu bleiben – und dabei reden wir noch nicht einmal von den damit zusammenhängenden Bedrohungen der Sicherheit und den ganzen Schwachstellen. Echte Fachleute für Datensicherheit kennen ihre Grenzen – sie wissen, was sie nicht wissen. Aber das Entscheidende ist, dass Sie wissen, wo Sie Antworten finden können. (Ein Tipp: Probieren Sie es einmal mit Google oder Bing.)

Tests nicht aus der Sicht eines Hackers betrachten

Denken Sie darüber nach, wie ein bösartiger Außenstehender oder ein Insider Ihr Netzwerk und die Computer angreifen könnte. Schauen Sie sich die Dinge einmal aus einem ganz anderen Blickwinkel an und lenken Sie Ihr Denken in neue Bahnen.

Studieren Sie das Verhalten krimineller Hacker und die bekannten Angriffs arten, damit Sie wissen, wie Ihre Tests aussehen müssen.

Die falschen Systeme testen

Konzentrieren Sie sich auf die Systeme und Operationen, die am wichtigsten sind. Klar, Sie könnten auch den ganzen Tag lang ein System hacken, auf dem MS-DOS läuft und das noch Diskettenlaufwerke hat und über keine Verbindung zum Netzwerk verfügt, aber macht das Sinn? Sicherlich nicht. Denken Sie auch daran, dass sich Ihr größtes Risiko vielleicht auf dem unwichtigsten System versteckt. Nehmen Sie sich die Dinge vor, die dringend und wichtig sind.

Nicht die richtigen Werkzeuge verwenden

Es ist unmöglich, ohne die richtigen Werkzeuge irgendetwas zu erledigen, ohne verrückt zu werden. Laden Sie die kostenlosen Werkzeuge herunter, die ich im Buch und im Anhang erwähne. Kaufen Sie sich möglichst die kommerziellen Werkzeuge – sie sind in der Regel jeden Cent wert. Kein Sicherheitswerkzeug kann alles.

Stellen Sie sich einen eigenen Werkzeugkasten zusammen und lernen Sie Ihre Werkzeuge gut kennen, weil dies unendlich viele Anstrengungen einspart und Sie andere mit Ihren Ergebnissen beeindrucken können.

Sich zur falschen Zeit mit produktiven Systemen abgeben

Eine der besten Möglichkeiten, es sich mit Ihrem Management zu verderben oder das Vertrauen eines Kunden zu verlieren, sind Angriffe gegen produktive Systeme während der Hauptarbeitszeit. Wenn Sie versuchen, ein System zur falschen Zeit zu testen, müssen Sie damit rechnen, dass es zum wirklich unpassendsten Zeitpunkt herunterfährt. Bekommen Sie heraus, wann die Zeit gekommen ist, Ihre Tests durchzuführen. Wenn Sie Pech haben, geht das nur mitten in der Nacht. (Ich habe niemals behauptet, dass es einfach ist, die Sicherheit von Daten zu testen.) Andererseits kann so etwas aber auch als Rechtfertigung dafür dienen, dass Sie Sicherheitswerkzeuge verwenden müssen, um bestimmte Aufgaben des ethischen Hackens automatisiert durchzuführen.

Tests an Dritte vergeben und sich dann um nichts kümmern

Outsourcing ist eine tolle Sache, aber Sie müssen die ganze Zeit über in die Abläufe eingebunden sein. Übergeben Sie nicht einfach die Zügel Ihrer Sicherheitstests an Dritte oder einen Dienst in der Cloud, ohne sich ständig um das zu kümmern, was da abläuft. Sie tun den Managern Ihres Unternehmens oder Ihrem Kunden keinen Gefallen, wenn Sie demjenigen, der den Auftrag übernommen hat, nicht ständig auf den Füßen stehen. Fordern Sie Berichte von Schwachstellenscans, formelle Prüfberichte und Informationen über alles an, was gemacht wird, um zu beweisen, dass Ihr Auftrag auch ernst genommen wird.

Stichwortverzeichnis

A

ACL

AES

Amap

Angriff

Anwendungen

Betriebssystem

Directory Traversal

Netzwerkinfrastruktur
nicht technischer
planen

Standardskripte

Angriffsart

Angriffsbaum

Anmeldung
unsichere im Web

ARP

Poisoning

Poisoning mit Cain & Abel

Reverse

Spoofing

Tabellen

ASP

Auditierung

Authentifizierung
schwache
umgehen

B

Banner-Grabbing

Gegenmaßnahmen

Bassline

Berechtigung

Freigabeberechtigungen

Bericht
erstellen

Berichtswesen

Bildschirmaktion aufzeichnen

BIOS-Kennwörter

Bluetooth

Brute-Force-Angriff

BSD

Buffer-Overflow

C

C|EH

CAPTCHA

CCMP

CGI

CMS

Code-Injection

Cracker

Crawler

Cross-Site-Scripting

Cyberterrorist

D

Daemon
auskommentieren
suchen

Datei

Kennwort knacken

Dateiberechtigung

Linux

Datenbank
durchsuchen

Kennwörter knacken

Schwachstellen

Werkzeuge

Datenschutzrichtlinie

DDoS

Denial of Service

E-Mail-Anhänge

DHA

Dienstablehnung

Directory Traversal

Gegenmaßnahmen

Directory-Harvest-Angriff

Distributed DoS

DoS

Testwerkzeuge

DoS-Angriffe, Gegenmaßnahmen
dpkg

Dumpster Diving

E

E-Commerce

EICAR

Elcomsoft Distributed Password Recovery

E-Mail

Angriffe

Angriffe, Gegenmaßnahmen

Banner-Angriffe

Banner-Angriffe, Gegenmaßnahmen

Bomben

Firewalls

Header

Malware

Postfix
qmail

Sendmail

Sicherheitskontrollen

SMTP

Tarpitting

Teergrube

Verkehr abfangen

Ethisches Hacken

Outsourcing

EWSA

Exploit

F

FAQ

Festplattenverschlüsselung

Filesharing

Firewall

E-Mail

Regeln
testen

FMEA

Footprinting

FQDN

Freigabe finden

Freigabeberechtigung

G

Gebäude

Angriffspunkte

Gegenmaßnahmen

Infrastruktur

Versorgung

Google
erweiterte Suche

Groups
suchen mit

Greifhand

Grids

Groove

GUI

H

H.323

Hacken

Abläufe automatisieren
ethisches, Arbeitsabläufe
ethisches, Gebote

Hacker

Definition

Denkweise

Fähigkeiten
geläuterter
klassifizieren

Hacktivist

Hash

Hashwert

HTTP

HTTrack Website Copier

I

ICMP

Icons, Bedeutung der

ICR

IDS

IKE

Inferenz

Informationsbeschaffung

Internet Key Exchange

Internetsicherheit, Quellen
iOS, Kennwörter knacken

IPS

ISP

IV

K

Kennwort

BIOS
hacken
knacken

Brute-Force

Datenbank
iOS

John the Ripper

Laptops

Linux

Netzwerkanalysator
pwdumpx

Rainbow

Software

Unix

Windows

Wörterbuch

Social Engineering

Speicherort

Suchen

Kennwortablage

Unix
unsichere

Windows

Kennwortablageinux

Kennwortverschlüsselung

Keylogger

Keystroke Logging

Werkzeuge

L

Laptop

Kennwort knacken

Linux

.rhosts

BackTrack

Dateiberechtigungen

Dienst deaktivieren

Distributionen aktualisieren
hosts.equiv

Kennwort knacken

Kennwortablage

Patches

Schwachstellen

Werkzeuge

Live-CD

Local File Inclusion

LSAT

M

MAC

MAC-Adresse
fälschen mit ifconfig
fälschen mit SMAC

Spoofing

Spoofing, Gegenmaßnahmen

MAC-Spoofing

Gegenmaßnahmen

MBSA

Metasploit, Editionen

Microsoft, Werkzeuge

MITM

MSFGUI

Mülltauchen

N

NAT
net, view

NetBIOS

Gegenmaßnahmen

Hacks

Ports

Netzwerk

Analysator

Ports scannen

Scanner

Schwachstellenprüfung

Testwerkzeuge

Netzwerkanalysator

Empfehlungen
entdecken

Kennwort knacken

OmniPeek

Verteidigungsmaßnahmen

Netzwerkinfrastruktur
hacken

Schwachstellen

Nexpose

NFS

Hacks
nmap

Notation, klassische

NT-Hash

Null Session

Gegenmaßnahmen
zuordnen

O

Oechslin

Oracle, Werkzeuge

Outsourcing

OWA

P

P2P

Patch

Verwaltung

Werkzeuge

Phishing
durchführen

Werkzeuge

PHP

PID

Ping of Death

Ping Sweep
auszuführen
pkgtool

Poisoning

Port
offener
scannen

Portscanner

Funktionsweise

PPTP

Probe-Request-Signal

PSK

Pufferüberlauf

R

Rainbow

Cracking

Rainbow-Tabelle

RARPs

RC4

Remote Cracking Utility

Richtlinie

Risikoanalyse

RPM

RTP

S

SAM

Sandbox

Scan
authentifizierter

Schlaghand

Schwachstelle
bewerten

Datenbanken

Kennwörter
lokalisieren
mobile

Netzwerkinfrastruktur
physische, identifizieren

Prioritäten

Windows

Schwachstellenscanner, Webanwendungen

SecureCRT

Share Finder

Shoulder Surfing

Sicherheit, Infrastruktur überprüfen

Sicherheitseinrichtung, physische

SIEM

SIP

Skriptkiddies

Fähigkeiten

SMTP

Relay

Relay-Angriffe, Gegenmaßnahmen

Sniffer

SNMP
scannen

Schwachstellen

Werkzeuge

Social Engineering

Angriff durchführen

Beispiele

Einführung

Gegenmaßnahmen

Kennwörter knacken
umgekehrtes

Software

Kennwörter knacken

Sozialtechnik

Speichersystem, Testwerkzeuge

Spider

Spoofing

ARP

Gegenmaßnahmen

MAC

MAC-Adresse

MAC, Gegenmaßnahmen

SQL-Injection

Blind

SSID

Standort

SYN-Floods

Sysinternals

System
eindringen in
festlegen
scannen

T

Tablet
knacken

Tabulatur

TCP

Telefon

Identität verheimlichen
knacken

Telefonsystem

Telnet

Terminologie

Test

Planung

Rahmenplan
vorbereiten

Zeitplanung

Teststandard

Tiger Team

Time-Memory Tradeoff

TKIP

Tool siehe Werkzeug

U

UDP

UEFI

Unix

Kennwort knacken

Kennwortablage

MAC-Adressen fälschen

Update-Manager

USV

V

Versicherung

Vertrauen

VLAN

Voice over IP siehe auch VoIP

Voicemail

VoIP

Gespräche aufzeichnen

Netzwerkanalysator

Schwachstellen

Schwachstellen suchen

Schwachstellen, Gegenmaßnahmen

W

Web

Anmeldung, unsichere
ausgeblendete Felder

Buffer-Overflow

Code-Injection

Cross-Site-Scripting

SQL-Injection

Standardskripte

URL-Manipulation

Web 2.0
hacken

Werkzeuge

Webanwendung

Testwerkzeuge

Webcrawler

Webproxy

Webserver

Softwareversion

Websicherheit

Crawler

Google

Website
spiegeln

WEP

Werkzeug

7-zip

Absinthe

Acunetix Web Vulnerability Scanner

Advanced EFS Data Recovery

Advanced Office Password Recovery

Advanced SQL Password Recovery

Aircrack-ng
airodump

AlgoSec Firewall Analyzer

Amap

AppDetectivePro

Archive Password Recovery

Arpwatch

Athena Firewall Grader

BackTrack Linux

Bastille UNIX

Beispiele

BitLocker knacken

Blast

Blooover

BlueScanner

Bluesnarfer

BlueSniper rifle

Brutus

Cain & Abel

Cain & Abel, ARP-Poisoning

Camtasia Studio

Car Whisperer

CheckSum Tool

Cisco Global Exploiter

CommView

CommView for WiFi

COPS

CxDeveloper

CxSuite

Data Thief
dsniff

DumpSec
eBlaster

Effective File Search

Elcomsoft Advanced SQL Password Recovery

Elcomsoft Distributed Password Recovery

Elcomsoft Forensic Disk Decryptor

Elcomsoft Internet Password Breaker

Elcomsoft Phone Password Breaker

Elcomsoft System Recovery

Elcomsoft Wireless Security Auditor

EmailVerify

Essential NetTools

ESSID-jack

Ethereal
ettercap

Event ID 4226 Patcher

FileLocator Pro

Firefox Web Developer
fping
für Patches

Getif

GFI EventsManager

GFI LanGuard

GFI LANguard

GNU MAC Changer

Google Hack Honeypot

HP ArcSight Logger

HTTrack Website Copier

HyperTerminal

Identity Finder

IKECrack

Invisible KeyLogger Stealth
iOS Forensic Toolkit, Verwendung

IP Personality

John the Ripper

Kaseya Patch Management

KeyGhost

Kismet

LanGuard

Linux Security Auditing Tool

Lumension Patch and Remediation

Mailsnarf

Metaploit

Metasploit

Metasploit verwenden

Microsoft

Microsoft Baseline Security Analyzer
monkey-jack
nbtstat

Nessus

Netcat

NetResident

NetScanTools Pro

NetStumbler

NetUsers

Network Security Toolkit

Netzwerkinfrastruktur

Nexpose

Nmap

NMapWin

NMapWindows

Nping

NTAccess

NTOSpider

OmniPeek
ophcrack

Ophcrack Live
ophcrack, Verwendung

Oxygen Forensic Suite

Paros Proxy

Passware

Passware Kit Forensic

PGP

PGP Whole Disk Encryption

Ping

Point

PortSentry

Proactive Password Auditor

Proactive System Password Recovery

PromiscDetect

PROTOS
pwdump6
pwdumpx

Pwnie Express

QualysGuard

RainbowCrack

Reaver

Reaver Pro

RPM Package Manager

S/MIME

Secur/Tree

SecureIIS

ServerDefender

ServerMask

Share Finder

ShareEnum

Simple Phishing Toolkit
sipsak

SiVuS

SMAC

SMAC verwenden
smtpscan

SnagIt

SNARE

Sniffdet

SNMPUTIL

SonicWall

Sourcefire

Spector Pro

SPI Proxy
spt

SQL Inject Me

SQL Injector

SQL Power Injector

SQLPing3

Symantec

Symantec Encryption

Sysinternals

TCP Wrappers
tcpdump

TCPView

Telnet

THC-Amap

THC-Hydra
theHarvester

Tiger

Traffic IQ Professional

Tripwire

TrueCrypt

UDPFlood

VNC

VoIP Hopper
vomit

Web 2.0

Web Proxy

WebInspect

WebInspectNTOSpider

Wellenreiter

WEPCrack

Whois

Windows-Angriffe

Winfo

WinHex

WinMagic

WinMagic SecureDoc

WinMagic SecureDoc Full Disk Encryption

WinZip

Wireshark

Wi-Fi

WiFi Protected Setup

Windows

Freigaben

Kennwort knacken

Kennwortablage

Kennwörter

MAC-Adressen fälschen

Null Sessions

Portscan

Schwachstellen

System untersuchen

Version herausfinden

Windows

Sicherheit

WinNuke

WLAN

Angriffe

Antenne
entdecken

Gegenmaßnahmen

Verkehr, verschlüsselter

Verschlüsselungsprotokolle

Wörterbuch

Wörterbuchdatei

Wortliste

WPA

WPA2

WPS

Angriffe

WSUS

X

XSS
prüfen auf

Z

Zugriffspunkt

Hersteller finden

Table of Contents

- Hacken für Dummies — Schummelseite
- Titelei
- Inhaltsverzeichnis
- Über den Autor
- Einführung

- Teil I Den Grundstock für das ethischen Hacken legen

- 1 Eine Einführung in das ethische Hacken

- 2 Die Denkweise von Hackern knacken

- 3 Einen Plan für das ethische Hacken entwickeln

- 4 Die Methodik des Hackens

- Teil II Mit dem ethischen Hacken loslegen

- 5 Social Engineering
- 6 Physische Sicherheitseinrichtungen
- 7 Kennwörter

- Teil III Netzwerkhosts hacken

- 8 Die Infrastruktur des Netzwerks
- 9 Drahtlose Netzwerke
- 10 Mobile Geräte

- Teil IV Betriebssysteme hacken

- 11 Windows

- 12 Linux

- Teil V Anwendungen hacken

- 13 Kommunikations- und Benachrichtigungssysteme

- 14 Websites und Webanwendungen

- 15 Datenbanken und Speichersysteme

- Teil VI Die Ernte des ethischen Hackens

- 16 Die Ergebnisse präsentieren
- 17 Sicherheitslöcher stopfen
- 18 Sicherheitsverfahren umsetzen

- Teil VII Der Top-Ten-Teil

- 19 Zehn Tipps, um die Unterstützung der Geschäftsführung zu erlangen

- 20 Zehn Gründe, warum Hacken das einzig sinnvolle Testen ist

- 21 Zehn tödliche Fehler

- Stichwortverzeichnis