Penetrationstests: Einbruch auf Bestellung

14.11.2001 von Detlef Weidenhammer
MÜNCHEN (COMPUTERWOCHE) - Die Ausgaben für die Sicherung der externen Zugänge steigen. Doch die sachgerechte Konfiguration entsprechender Lösungen und die Aktualität der verwendeten Software werden häufig vernachlässigt. Eine Sicherheitsüberprüfung durch Scan- und Penetrationstests gehört daher zu den Aufgaben eines Sicherheits-Managements.

Fehler in der Administration oder in der verwendeten System- oder Anwendungssoftware bedrohen die Sicherheit ebenso wie neue, bisher noch wenig bekannte Angriffsstrategien. Deshalb ist die ständige Überwachung der Sicherheit aller eingesetzten Systeme von besonderer Bedeutung.

Proaktive (vorbeugende) Maßnahmen sollten in festen Intervallen, bei Bedarf aber auch unangemeldet, getroffen werden:

Dazu gehören die Analyse und Bewertung von Sicherheitskonzepten und allen eingesetzten technischen und organisatorischen Sicherheitsmaßnahmen (Review), die Überprüfung der korrekten Umsetzung vorgegebener Sicherheitskonzepte (Revision) sowie eine Schwachstellenanalyse in Form von Einbruchs- und Störsimulationen durch Scan- und Penetrationstests.

  

Ein sinnvolles Angebot an Sicherheitsüberprüfungen setzt sich aus vielen Elementen zusammen. (Quelle: Weidenhammer)

 

Eine proaktive Sicherheitsprüfung ist immer nur eine Momentaufnahme, eine direkte Reaktion auf eintretende Gefahren lässt sich damit nicht verbinden. Deshalb bietet sich als Ergänzung die Installation eines Intrusion-Detection-Systems an. Dem Vorgehen eines Virenscanners vergleichbar, überwacht es permanent einzelne Netzsegmente oder Endsysteme durch dort platzierte Sensoren.

Die Auswertung von Überprüfungsmaßnahmen erfordert ein hohes Maß an Fachkenntnis. Insbesondere Security-Scanner und Intrusion-Detection-Systeme liefern häufig Fehlinterpretationen ("false positives"), die bei unsachgemäßer Prüfung zu unnötigen und aufwändigen Reaktionen führen können.

Auch die besten technischen Sicherheitsmaßnahmen dürfen nie ausschließlich statischer Natur sein. Neu hinzukommende Anwendungen müssen genauso beachtet werden wie die korrekte Einhaltung der Security-Policy ("security health check"). Zum Einsatz kommen hierfür üblicherweise Scan- und Penetrations-Tests, die aber jeweils recht unterschiedliche Zielsetzungen haben:

Scan-Tests verfolgen einen breit angelegten Ansatz und nehmen durch umfangreiche Überprüfung der vorgegebenen Zielsysteme eine möglichst detaillierte Schwachstellenanalyse vor. Die gefundenen Risiken werden klassifiziert, zumindest in die Kategorien "Gering", "Mittel" und "Hoch", um den Verantwortlichen Prioritäten bei der nachfolgenden Bereinigung zu liefern. Risiken mit der Einstufung "Hoch" sollten sofort beseitigt werden, bei den anderen Schwachstellen kann das Unternehmen je nach Einschätzung vielleicht sogar bis zum nächsten Update warten.

Automatische Scanner

Der Einsatz von automatisierten Security-Scannern, die in Form einer Toolbox alle bekannten Schwachstellen "kennen" und einem Test unterziehen, ist hierfür unabdingbar. Startpunkt für das Aufkommen von Security-Scannern war das Jahr 1994 mit der Freigabe und Verbreitung von "Satan" (Security Administration Tool for Analyzing Networks). Damit stand erstmals ein System zur zentral veranlassten umfassenden Prüfung vernetzter Systeme zur Verfügung. Gute Report-Möglichkeiten verbunden mit Hinweisen zur Behebung der gefundenen Schwachstellen helfen dem Administrator bei der Überprüfung seines Sicherheitsstandes. Kommerzielle Systeme wie zum Beispiel der Internet-Scanner von Internet Security Systems (ISS) kamen bald danach auf den Markt.

Bessere Datenbanken Derzeit findet ein Übergang zu einer neuen Generation von Scannern statt. Diese zeichnen sich neben verbesserten Reports und Informationsdatenbanken vor allem durch die Kombination von Sicherheitstests aus. Idee dabei ist, das Verhalten von Eindringlingen nachzuahmen, deren Vorgehen zumeist durch das kombinierte Ausnutzen mehrerer Schwachstellen gekennzeichnet ist. Die ebenfalls neue Fähigkeit, durch "Auto-Reaktion" gefundene Probleme automatisch beseitigen zu lassen, ist jedoch mit Vorsicht zu genießen und nur in eindeutig geklärten Fällen (zum Beispiel File-Protections) einzusetzen.

Penetrationstests haben im Gegensatz zu Scan-Tests nicht das primäre Ziel, einen möglichst umfassenden Überblick zu Schwachstellen zu liefern, sondern sie sollen aufzeigen, wie weit ein Angreifer in vermeintlich geschützte Systembereiche eindringen kann. Im Gegensatz zum Scan-Test ist dabei das Vorgehen mehrstufig, das heißt, es werden zwar ebenfalls Schwachstellen ermittelt, diese dann aber direkt ausgenutzt, um Systemzugang zu erhalten. Ist dieser Zugang nur mit wenigen Privilegien ausgestattet, versucht der Angreifer, weitere Privilegien zu erlangen.

Simulation eines Angreifers Ein Black-Box-Test kombiniert Scan- und Penetrationstest, um die Angreifbarkeit eines Unternehmens zu demonstrieren. Dabei stehen nur minimale Informationen zur Verfügung. Im Gegensatz zu einem White-Box-Test, bei dem die Ziele genau bekannt sind, muss der Black-Box-Test allein mit der Benennung des zu untersuchenden Unternehmens auskommen. Dies simuliert genau den Fall des anonymen Angreifers, der nicht mehr Basisinformationen besitzt. Das weitere Vorgehen lässt sich dann in insgesamt vier Phasen gliedern.

Eine "typische" Penetration läuft häufig wie folgt ab:

Bei einem öffentlich erreichbaren System wurde eine ausnutzbare Schwachstelle festgestellt. Anfällig hierfür sind besonders Web- und DNS-Server, aber natürlich auch vor der Schutzzone platzierte Projekt-Server für ftp- oder telnet-Zugang.

Entweder gelingt es gleich, hohe Privilegien zu erlangen, oder man sucht als einfacher User jetzt lokal nach weiteren Schwachstellen. Häufig gelingt es, an die Passwort-Datei zu gelangen und diese dann einem Crack-Programm zuzuführen.

Privilegiert lassen sich jetzt von diesem Ausgangssystem leicht weitere Aktivitäten starten. Zunächst werden sicherheitshalber Log-Einträge gereinigt und eventuell Systemprogramme gegen manipulierte ausgetauscht. Hierüber oder durch Installation eines Sniffer-Programms lassen sich dann weitere Passwörter ablauschen.

Mit ein wenig Glück findet der Angreifer ausnutzbare Vertrauensbeziehungen zu anderen Rechnern - oder er kann eine bestehende Session übernehmen ("hijacking"). Ist diese von interner Seite aus initiiert, dann ist sogar ein Eindringen in das interne Netz möglich.

Die erste Phase dient der reinen Informationsbeschaffung unter Nutzung öffentlich zugänglicher Quellen. Mit dem Namen des Unternehmens können zum Beispiel über Search-Engines wie Google und den Web-Server (falls vorhanden) des Unternehmens erste Informationen gesammelt werden. Besonders interessant sind Hinweise auf Unternehmensstrukturen, die sich zum Beispiel aus Geschäftsberichten ergeben. Zur Ermittlung von Domain-Namen, IP-Adressbereichen und Public-Servern steht eine Vielzahl von weiteren Recherchemöglichkeiten zur Verfügung. Hierzu gehören öffentliche Server wie Ripe-Datenbank, IP Index oder auch Tools wie nslookup, dig, whois oder finger.

Damit sind die dem Unternehmen zuzurechnenden IP-Adressbereiche bestimmt, DNS-, Mail- und Web-Server bekannt und zumeist auch noch die Namen (Adressen, Telefonnummern) der administrativen und technischen Ansprechpartner im Unternehmen zugänglich. Die Aktivitäten der Infoseek-Phase bleiben für das zu überprüfende Unternehmen unbemerkt.

Die Ergebnisse der ersten Phase liefern den Input für den Connect-Scan, der die zuvor ermittelten IP-Adressbereiche auf wirklich erreichbare Zielsysteme untersucht. Üblicherweise sind die IP-Ranges nur dünn belegt, deshalb kann man zumeist nur mit einer geringen Zahl solcher Systeme rechnen. Häufig werden auch bestimmte Tastversuche wie Ping-Sweeps unterbunden, so dass auch andere Techniken zum Einsatz kommen müssen. Die beim Connect-Scan unternommenen einfachen Tastversuche sollten einem aufmerksamen Administrator nicht verborgen bleiben. In dieser Phase finden jedoch keine Sicherheitsuntersuchungen statt.

Die dritte Phase verwendet die Ergebnisse des Connect-Scan, um gezielt nach Schwachstellen zu suchen. Mit Hilfe von Portscannern, CGI-Tests oder OS-Detection sammeln die Eindringlinge Informationen über die auf den Zielsystemen eingesetzte System- und Anwendungssoftware. Versionen, von denen Schwachstellen bekannt sind, die sich durch andere Programme ("exploits") ausnutzen lassen, werden je nach Gefährdung aufgelistet. Dankbare Objekte hierfür sind zumeist ältere (ungepatchte) Betriebssysteme oder Dienste wie Bind, SSH, MS IIS, SMTP. Häufig gelingt es aber auch schon, durch einfaches Raten zum Beispiel Router-Passwörter zu ermitteln oder mit ungeänderten Initial-Passwörtern wie bei SNMP (Community-String "public") einen Schritt weiterzukommen.

Häufig eingesetzte Tools hierbei sind kommerzielle Security-Scanner von Firmen wie ISS, NAI und Symantec oder auch Open-Source-Varianten wie Nessus, Nmap, Whatsrunning und ldistfp. Beim Security-Scan sind typische Angriffsmuster erkennbar, die einem Administrator sofort auffallen sollten. Bestimmte Tests können sogar zum Systemabsturz führen (insbesondere Denial-of-Serviceattacken), weshalb diese vorher genau abzustimmen sind und bei Anwendung die ständige Erreichbarkeit des lokalen Administrators erforderlich machen.

Soll die Überprüfung nicht mit den Ergebnissen des Security-Scans abgeschlossen werden, sondern sollen Angriffe bis zum Erfolg (zum Beispiel Eindringen in lokale System über Netzgrenzen hinweg) betrieben werden, kommt der Penetrationstest zum Einsatz. Dieser ist entgegen der Aussage einiger Hersteller von System-Scannern nur bedingt automatisierbar und erfordert weitgehend manuelles Vorgehen von erfahrenen Fachleuten.

Ablauf einer Penetration

Die aus der vorigen Phase ermittelten Schwachstellen liefern die ersten Ansatzpunkte für das weitere Vorgehen. Sind bekannte Lücken ermittelt worden, werden die notwendigen Exploits eingesetzt, um diese auszunutzen. Je nach Art der Schwachstelle ist es möglich, Dienste zu unterbinden (DoS-Attacke), Web-Inhalte zu verändern oder sich Zugang zum gewünschten Zielsystem zu verschaffen.

Die Erfahrung zeigt, dass man wohl jedes Unternehmensnetz knacken kann, wenn dieses zumindest über eine Internet-Anbindung mit den üblichen Standarddiensten verfügt. Dabei verzichteten die vorstehend dargestellten Szenarien sogar auf Methoden wie Social-Engineering, Denial-of-Service oder das Einschleusen manipulierter E-Mail-Attachments. Je mehr Partner in das Netz eingebunden sind, umso anfälliger wird es für Angriffe.