Make your own free website on Tripod.com


vorheriges KapitelInhaltsverzeichnisStichwortverzeichnisnächstes Kapitel


10

Scanner

Scanner sind Programme, mit deren Hilfe ein Angreifer seinen Ziel-Host nach vermeintlich fehlerhaften Diensten abtasten kann. Mit Hilfe eines Scanners kann ein Anwender in Los Angeles Sicherheitsschwachstellen auf einem Server in Japan aufdecken, ohne jemals sein oder ihr Wohnzimmer zu verlassen. Dieses Kapitel gibt Ihnen einen Überblick über die beliebtesten Scanner.

10.1 Wie arbeiten Scanner?

Scanner senden Anfragen an TCP/IP-Ports und zeichen die Antwort des Ziels auf. Auf diesem Weg tragen Scanner wertvolle Informationen zusammen, wie z.B.:

10.1.1 Für welche Plattformen sind Scanner verfügbar?

Frühe Scanner wurden ausschließlich für Unix geschrieben. Das hat sich geändert. Heute unterstützen viele Betriebssysteme TCP/IP und daher tauchen immer mehr Scanner für jede erdenkliche Plattform auf. (Der derzeitige Schwerpunkt liegt auf Windows NT. Entwickler von Scannern haben hier einen erheblichen kommerziellen Markt erkannt, und so können Sie für das nächste Jahr eine ganze Ladung von Windows NT-Scannern erwarten.)

10.1.2 Systemanforderungen für Scanner

Die Systemanforderungen hängen vom Scanner ab. Sicher sind die meisten Freeware-Scanner für Unix geschrieben und werden üblicherweise als Source-Code und nicht als Binärdatei vertrieben. Dann brauchen Sie (mindestens) folgendes:

Nicht jeder hat Zugang zu diesen Tools. Studenten mit Shell-Accounts beispielsweise haben wahrscheinlich nur Zugang zu zwei der drei Voraussetzungen. Zusätzlich gibt es einige Scanner, die noch speziellere Auflagen erfordern. (SATAN z.B. verlangt, daß Sie Root-Privilegien haben.) Daher ist die beste Voraussetzung eine vollständige Linux-Installation.

Es gibt auch noch andere allgemeinere Anforderungen:

Außerdem arbeiten nicht alle Scanner auf verschiedenen Plattformen gleich. Diese oder jene Funktion ist vielleicht nicht aktiviert, oder bei manchen Plattformen gar nicht verfügbar.

Schließlich ist eine Schlüsselvoraussetzung eine Netzwerkverbindung.

10.1.3 Ist es schwer, einen Scanner zu entwickeln?

Nein, es ist nicht schwer, einen Scanner zu entwickeln. Tatsächlich können Sie einen nützlichen Scanner mit einigen hundert Zeilen Code schreiben. Sie brauchen jedoch sehr gute Kenntnisse über TCP/IP sowie Kenntnisse in C, Perl und einer oder mehreren Shell-Sprachen. Schließlich der wichtigste Punkt: Sie brauchen Erfahrung in der Socket-Programmierung.

Wegweiser:

Ein ausgezeichneter Ausgangspunkt ist ein Online-Socketlehrgang von Jim Frost von Software Tool and Die. Diesen Lehrgang finden Sie unter: http:/ /world.std.com/~jimf/papers/sockets/sockets.html.

10.1.4 Sind Scanner legal?

Über die Legalität von Scannern wird ständig diskutiert. Einige Leute argumentieren, daß das Scannen eines Ziels das gleiche ist, wie sich einem Haus zu nähern und ein Brecheisen zu benutzen, um Türen und Fenster auszuprobieren. Sie setzen einen Scan-Vorgang gleich mit kriminellem unbefugtem Zutritt. Andere bestehen darauf, daß jeder, der eine Website betreibt, sein zumindest stillschweigendes Einverständnis dazu gibt, gescannt zu werden. Schließlich gilt für Ihre IP-Adresse ähnliches wie für Ihre Telefonnummer, jeder hat das legale Recht, sie anzuwählen.

Keine der beiden Ansichten wird vom Strafgesetzbuch unterstützt. Bis heute wurde kein Gesetz geschrieben, das sich ausdrücklich auf Scanner bezieht. Derzeit lautet die Antwort also, Scanner sind legal.

Leider wird Ihnen diese Tatsache nicht weiterhelfen, wenn Sie einen Host ohne Genehmigung scannen. Ich habe den klassischen Fall hundertmal gesehen: Ein Student scannt das lokale Netzwerk. Ein Systemadministrator entdeckt dies und kontaktiert die Universitätsverwaltung. Der schuldige Student muß vor den Verwaltungsrat und wird bestraft. Kann der Student Einspruch einlegen? Sicher, wenn er genug Geld hat, um einen Anwalt anzuheuern - aber ist das Scannen einiger Hosts soviel Geld (und monatelange Prozesse) wert? Wahrscheinlich nicht.

Und dann ist da noch die ethische Frage. Sie können das Scannen eines Zielnetzwerks damit verteidigen, daß Sie seine Sicherheit verbessern wollten. Es ist jedoch wahrscheinlicher, daß Sie die gefundenen Sicherheitslöcher ausnutzen wollten. (Tatsächlich basiert ein weitverbreitetes Argument gegen den Einsatz von Scannern auf dieser Annahme. Die meisten Systemadministratoren glauben, daß der einzige Grund, ein Netzwerk zu scannen, darin liegt, Schwachstellen offenzulegen. Daher ist ihrer Meinung nach das Scannen eines Netzwerks eindeutiger Beweis für böse Absichten.) Wie auch immer, wenn Sie ein Netzwerk ohne Erlaubnis scannen, machen Sie sich auf entschieden negative Reaktionen gefaßt, nicht nur vom Ziel, sondern auch von Ihrem Provider.

10.1.5 Warum sind Scanner in Hinsicht auf Internet-Sicherheit
wichtig?

Scanner sind wichtig, weil sie Schwachstellen in Netzwerken offenlegen. In verantwortliche Hände gelegt, können Scanner die Basisarbeit für Sicherheitsaudits rationalisieren. In unverantwortlichen Händen stellen Scanner eine legitime Bedrohung für die Sicherheit von Netzwerken dar. Aufgrund dieser Fakten sind Scanner wichtige Sicherheitstools und jeder Systemadministrator sollte mit ihnen vertraut sein.

10.1.6 Wie Scanner die Sicherheitsgemeinde beeinflußt haben

Scanner haben viel dazu beigetragen, die Sicherheit im Internet zu verbessern. Um zu verstehen wie, denken Sie an folgendes: Es gibt mehrere hundert bekannte Sicherheitsschwachstellen auf jeder Plattform. In den meisten Fällen sind diese Schwachstellen einmalig und betreffen nur einen Netzwerkdienst.

Das manuelle Überprüfen eines einzelnen Hosts auf solche Schwachstellen könnte mehrere Tage in Anspruch nehmen. Während dieser Zeit würden Sie den gleichen Prozeß - Exploitcode (d.h. der Code, der von Crackern benutzt wird) besorgen, kompilieren und ablaufen lassen - mehrere hundertmal wiederholen. Dies ist ein langsamer, arbeitsreicher und fehleranfälliger Prozeß. Und für all Ihre Bemühungen hätten Sie nur einen einzelnen Host überprüft.

Noch schlimmer, nachdem Sie Ihren Host manuell überprüft haben, würden Sie vor einem ganzen Berg von Daten stehen. Die Daten wären nicht einheitlich, sondern von unterschiedlicher Struktur. Das liegt daran, daß Cracker sich nicht an Standards orientieren. (D.h. es gibt keine Standardmethode für das Formatieren der Ergebnisse eines Exploits.) Jeder Crakker schreibt seinen Code ein bißchen anders als andere Cracker. Sie müßten also nach Ihrer manuellen Überprüfung verschiedene Daten analysieren, ein Prozeß, der mehrere Tage dauern könnte.

Scanner lösen diese Probleme mit einem Schlag. Die Entwickler von Scannern nehmen öffentlich erhältliche Exploit-Codes und integrieren sie in den allgemeinen Scanning-Prozeß. Die Ausgabe ist einheitlich formatiert, um ein Suchen und eine Analyse zu vereinfachen. Und schließlich ermöglichen die meisten Scanner das Überprüfen einer unbegrenzten Anzahl von Domains.

Scanner sind aus all diesen Gründen mächtige Tools, die dafür eingesetzt werden können, vorläufige Daten für ein Auditing zu sammeln. Für diesen Zweck benutzt, stellt ein Scanner einen schnellen und schmerzlosen Weg dar, um weithin bekannte Schwachstellen zu entdekken.

Hinweis:

Moderne Sicherheitsadministratoren verlassen sich möglicherweise zu sehr auf Scanner. Das ist ein Fehler. Zwar sind die meisten entfernten Angriffe in kommerzielle Scanner integriert worden, aber viele andere Angriffsarten sind es nicht. Bestenfalls bieten Scanner einen schnellen Überblick über TCP/IP-Sicherheit. Sie sollten nicht die einzigen Tools sein, die Sie einsetzen, um die Sicherheit Ihres Netzwerks zu überprüfen. Wenn Sie ein Netzwerk scannen und und dabei keine Sicherheitslöcher entdeckt werden, sollten Sie Ärger erwarten. Scanner sind nur eine Art von Tools von vielen, die ein Systemadministrator anwenden sollte.

10.2 Die Scanner

Der Rest dieses Kapitels listet verschiedene Scanner auf. Die meisten sind kostenlos im Internet zu bekommen. Der Scanner, den ich am ausführlichsten behandle, ist Nessus.

10.2.1 Nessus

Scannertyp: TCP-Port-Scanner

Autor: Renaud Deraison

Programmiersprache: C

Entwicklungsplattform: Linux

Zielplattform: Unix, verschiedene Plattformen

Anforderungen: Linux, C.

Nessus ist der neueste in einer ganzen Reihe kostenlos erhältlicher Scanner. Ich stelle Nessus hier aus zwei Gründen vor:

Nessus wurden von Renaud Deraison geschrieben, einem 18jährigen, der in Paris lebt. Renaud hat mit 16 Jahren Linux entdeckt und programmiert seitdem. (Falls Sie sich fragen sollten, er benutzt MkLinux.)

Im Jahr 1996 fing Renaud an, 2.600 Vorträge zu besuchen und entwickelte danach ein starkes Interesse für Sicherheit. Dies brachte eine Partnerschaft zwischen Renaud und zwei anderen Hackern hervor, die 1997 zusammen ihr erstes Auditing-Tool schrieben. Nach Abschluß dieses Projekts plante Renaud Anfang 1998 Nessus.

Nessus ist aus mehreren Gründen bemerkenswert:

Hinweis:

Nessus wird unter der GNU Public License der Free Software Foundation vertrieben. Es gibt Einschränkungen auf den Verkauf von GPL-Source. Wenn Sie mit der GNU Public License nicht vertraut sind, sollten Sie sie sich anschauen unter: http://www.gnu.org/copyleft/gpl.html.

Renauds Entscheidung, den Nessus-Code kostenlos zu verteilen, basierte auf zwei Faktoren:

Der Nessus-Source-Code ist erstens deshalb offen zugänglich, weil ein solch sensibles Programm leicht als Trojanisches Pferd mißverstanden werden kann, und zweitens, um freiwillige Beiträge zur Verbesserung und Erweiterung von Nessus zu ermutigen.

Wegweiser:

Das vorhergehende Zitat ist aus der Nessus-Dokumentation, die Sie unter http://www.nessus.org/ finden.

Der Autor ruft also die Sicherheitsgemeinde auf, weitere Versionen zu entwikkeln. Soweit ich weiß, ist Nessus der erste Scanner, der auf freiwilliger Basis von freiberuflichen Hackern entwickelt wurde.

Grundlegende Merkmale von Nessus

Linux war das ursprüngliche Entwicklungsbetriebssystem für Nessus. Seit Mai 1998 werden auch NetBSD und Solaris unterstützt. Renaud erwartet eine Microsoft-NT-Version innerhalb der nächsten Monate.

Ganz grundlegend ist Nessus ein Toolkit-Scanner, d.h. die Source-Codes der meisten bekannten Attacken wurden in die Distribution integriert. Zusätzliche Module können allerdings einfach hinzugefügt werden.

Die grafische Benutzeroberfläche von Nessus

Nessus läuft unter X. Die grafische Benutzeroberfläche von Nessus wurde unter Benutzung des Gimp Toolkit (gtk) entwickelt. Sie brauchen daher gtk, um Nessus laufen zu lassen. Dieses Paket bekommen Sie unter

ftp://ftp.gimp.org/pub/gtk/

gtk ist eine Bibliothek freier Widgets, die benutzt werden, um grafische Benutzeroberflächen für X zu entwickeln. Ihrem Aussehen nach ähneln gtk-basierte Anwendungen Motif- Applikationen. Mehr Informationen über gtk bekommen Sie unter

http://www.gtk.org/

Die Nessus-Umgebung

Nessus startet und zeigt einen Begrüßungsbildschirm. Von hier aus können Sie einen neuen Angriff starten (Abbildung 10.1).


Abbildung 10.1: Die Nessus-Dialogbox »Select Host to Test«

Bevor Sie die Parameter einer neuen Attacke konfigurieren, sollten Sie die aktuell installierten Plug-Ins überprüfen. Plug-Ins sind in diesem Fall vorkompilierte Exploits. Nessus verfügt über viele Plug-Ins, die in die folgenden Kategorien unterteilt sind:

Jede Kategorie enthält aktuelle Angriffe (Abbildung 10.2).


Abbildung 10.2: Die Nessus-Dialogbox »Installed Plug-Ins«

Sie können sich die Dokumentation zu jeder Attacke anschauen, hier ist beschrieben, wie der Angriff funktioniert, wer der Autor des Exploits ist usw. (Abbildung 10.3).


Abbildung 10.3: Der Nessus-Bildschirm »Plug-In Information«

Nessus läßt seinen eigenen Daemon laufen, der standardmäßig an Port 3000 angebunden ist. Um eine neue Arbeitssitzung zu starten, müssen Sie sich mit einem Benutzernamen und einem Paßwort anmelden (siehe Abbildung 10.4).


Abbildung 10.4: Die Nessus-Dialogbox »New Session«

Nessus startet den Scan-Vorgang, wenn Sie eine neue Arbeitssitzung starten und Ihre Ziele festlegen. Der Status dieses Vorgangs wird Ihnen in Echtzeit mitgeteilt (Abbildung 10.5).


Abbildung 10.5: Der Status-Bildschirm von Nessus

Berichterstellung

Nach Beendigung des Scan-Vorgangs können Sie sich die Informationen entweder in grafischer oder roher Form ansehen. Das Grafikformat ist in Abbildung 10.6 illustriert.


Abbildung 10.6: Der Nessus-Bildschirm »New Session«

Nessus stellt für jede gefundene Schwachstelle ein Lernprogramm zur Verfügung. Dieses Lernprogramm erklärt die Gründe für das Sicherheitsloch und bietet Lösungen an.

Berichtsdaten können auch in roher Form überprüft werden. Nachstehend finden Sie ein typisches Beispiel für eine Nessus-Scan-Ausgabe:

timide.nain.org 21

It is possible to crash the remote FTP server...by sending it a too long password.... An intruder may be able to execute arbitrary commands...on the remote host using this method...Solution: contact your vendor for a fix...


timide.nain.org 21 INFO

The remote ftp home is '/home/ftp'...This information may interest some
system hackers who know where to put a .rhost file, although this problem
is not very serious...Solution: modify the sources of your ftp daemon

timide.nain.org 53

The remote BIND do not properly bounds check a memory copy when responding to an inverse query request. An improperly or maliciously formatted inverse query on a TCP stream can crash the server or allow an attacker to gain root privileges...

Solution: upgrade
timide.nain.org 80

The 'phf' cgi is present. We attempted to obtain /etc/passwd



Query Results...



/usr/local/bin/ph -m alias=cat/etc/passwdslip=n...root:1eoSpkqp0GtDI:0:1:Operator:

/root:/bin/bash...nobody:*:65534:65534::/:...daemon:*:1:1::/:...

sys:*:2:2::/:/bin/csh...bin:*:3:3::/bin:...uucp:*:4:8::

/var/spool/uucppublic:...sync:*:1:1::/:/bin/sync...ftp:*:404:404:

FTP:/home/ftp:/bin/bash...guest:*:501:501:Guest:/home/guest:

/bin/bash...www:*:65000:100:www:/usr/local/etc/httpd/:

marieco:8Fh9Df90kMESU:667:667:MarieColombe:/home/marieco:

/bin/bash...renaud:/FkD9AUxQBnZ0:502:502:\:/home/renaud/:

/bin/bash...+::0:0:::



timide.nain.org 80

The 'finger' cgi is present...This may give away some informations to an intruder...This may lead to a denial of service

Zusammenfassung

Nessus ist bemerkenswert, weil zusätzliche Exploits leicht hinzugefügt werden können. Ich vermute, daß Nessus innerhalb eines Jahres der umfassendste und erweiterbarste kostenlose Scanner auf dem Markt wird.

Nessus finden Sie derzeit unter: http://www.nessus.org/.

10.2.2 NSS (Netzwork Security Scanner)

Scannertyp: TCP-Port-Scanner

Autor: Douglas O'Neal

Programmiersprache: Practical Extraction and Report Language (Perl)

Entwicklungsplattform: Unix (generell)

Zielplattform: Unix

Anforderungen: Perl, Unix, ftplib.pl

NSS ist einzigartig, weil er aussschließlich in Perl geschrieben wurde. Das ist insofern von Bedeutung, weil Sie keinen C-Compiler brauchen, um ihn zu benutzen. (Die meisten Scanner sind in C geschrieben, hängen von IP-Include-Dateien ab, werden nur in Form von Source-Codes verteilt und können im allgemeinen nur von Unix-Anwendern benutzt werden.) Außerdem können Perl-Programme leicht modifiziert werden und daher ist NSS erweiterbar.

NSS wurde für die DEC-Plattform geschrieben (DecStation 5000 und Ultrix 4.4). Er läuft jedoch, so wie er verbreitet wird, auch auf SunOS 4.1.3 und IRIX 5.2. Für andere Plattformen ist möglicherweise grundlegendes oder weitreichendes Portieren notwendig.

Der hauptsächliche Vorteil von NSS ist seine Geschwindigkeit; er ist extrem schnell. NSS führt Überprüfungen auf folgende Schwachstellen durch:

Hinweis:

Sie können NSS für die Überprüfung auf host.equiv nur dann benutzen, wenn Sie Root-Privilegien haben. Einige Scanner erfordern diese Einschränkung (in unterschiedlichem Maß), darunter SATAN und spätere Versionen des Internet Security Scanner. Installieren Sie sich Linux, Solaris X86 oder FreeBSD, wenn Sie woanders keine Root-Privilegien haben (und nicht einen Haufen Geld ausgeben wollen, um ein paar Scans durchzuführen).

NSS kommt als tar.gz-Datei. Sie brauchen also Archivierungstools, die diese Formate bearbeiten können.

NSS macht nun folgendes:

Installations- und Kompatibilitätsaspekte

Bevor Sie den NSS tatsächlich benutzen können, müssen Sie mehrere Umgebungseinstellungen vornehmen:

$TMPDIR - das temporäre Directory, das von NSS benutzt wird

$YPX - das Directory, in dem sich das ypx-Utility befindet

$PING - das Directory, in dem sich das ausführbare ping befindet

$XWININFO - das Directory, in dem sich xwininfo befindet

Tip:

Ihr Perl-Include-Directory (in dem sich die Perl-Include-Dateien befinden) muß im Pfad enthalten sein. Außerdem benötigen Sie die ftplib.pl-Bibliothek. Dieses Paket finden Sie unter http://floyd.msfc.nasa.gov/msg/webtools/glimpse/webglimpse/lib/ftplib.pl .

Schließlich verfügt NSS über parallele Möglichkeiten, kann Prozesse aufteilen und den Scan-Vorgang zwischen mehreren Workstations verteilen. Wenn Sie NSS ohne Erlaubnis benutzen, sollten Sie diese Funktionen deaktivieren (es sind Optionen, die im Code angegeben werden können). Sie erhalten NSS unter

http://www.giga.or.at/pub/hacker/unix/nss.tar.gz.

10.2.3 Strobe

Scannertyp: TCP-Port-Scanner

Autor: Julian Assange

Programmiersprache: C

Entwicklungsplattform: Unix (generell)

Zielplattform: Unix

Anforderungen: Unix, C, IP-Header-Dateien

Strobe (der Super Optimized TCP Port Surveyor) protokolliert alle offenen Ports eines Rechners. Seine Hauptmerkmale sind:

Strobe erkennt schnell, welche Dienste am Ziel laufen, und kann eine Auflistung möglicher Einstiegspunkte generieren. Eine typische Ausgabe eines Strobe-Scan-Vorgangs sieht so aus:

localhost echo 7/tcp Echo [95,JBP]

localhost discard 9/tcp Discard [94,JBP]

localhost systat 11/tcp Active Users [89,JBP]

localhost daytime 13/tcp Daytime [93,JBP]

localhost netstat 15/tcp Netstat

localhost chargen 19/tcp Character Generator [92,JBP]

localhost ftp 21/tcp File Transfer [Control] [96,JBP]

localhost telnet 23/tcp Telnet [112,JBP]

localhost smtp 25/tcp Simple Mail Transfer [102,JBP]

localhost time 37/tcp Time [108,JBP]

localhost finger 79/tcp Finger [52,KLH]

localhost pop3 0/tcp Post Office Protocol-Version 3 122

localhost sunrpc 111/tcp SUN Remote Procedure Call [DXG]

localhost auth 113/tcp Authentication Service [130,MCSJ]

localhost nntp 119/tcp Network News Transfer Protocol 65,PL4

Wie Sie sehen, sind die Informationen nur diagnostisch. (Strobe überprüft beispielsweise nicht nach bestimmten Sicherheitslöchern.) Außerdem wurde Strobe seit einiger Zeit nicht mehr aktualisiert. Dennoch kompensiert Strobe das durch erweiterte Funktionalität. Es gibt eine Vielzahl an Befehlszeilen-Optionen, mit deren Hilfe Sie Ihre Scans anpassen können. Zum Beipiel können Sie alle doppelten Port-Beschreibungen deaktivieren. (Nur die erste Definition wird gedruckt). Andere Annehmlichkeiten sind:

Strobe wird in der Regel als tar.gz-Datei verteilt. Eine volle Hauptseite und die Binärdatei sind in dieser Distribution enthalten.

Installations- oder Kompatibilitätsaspekte

Es gibt ein bekanntes Problem mit Solaris 2.3. Um einen Kernspeicherabzug zu verhindern, deaktivieren Sie die Benutzung von getpeername() und fügen Sie der Befehlszeile die -g- Flag bei.

Obwohl Strobe keine Überprüfungen auf entfernten Hosts durchführt, hinterläßt er Spuren. Ein Host, der mit Strobe gescannt wurde, wird dies wissen.

Strobe können Sie unter folgenden URLs erhalten:

http://www.discordia.ch/killer/unix/strobe.tgz

ftp://ftp.win.or.jp/pub/network/misc/strobe-1.04.tgz

http://www.wizardsworld.com/security/strobe.tgz

http://www.madness.org/misc/strobe.tgz

10.2.4 SATAN (Security Administrator's Tool for Analyzing Networks)

Scannertyp: TCP-Port-Scanner

Autoren: Dan Farmer und Wietse Venema

Programmiersprache: C, Perl

Entwicklungsplattform: Unix (generell)

Zielplattform: Unix

Anforderungen: Unix, Perl 5.001+, C, IP-Header-Dateien und Root

SATAN wurde im April 1995 freigegeben und hat für einige Aufregung gesorgt. Überall im Land erschienen Artikel über SATAN. Nationale Nachrichtensendungen warnten vor einer Freigabe von SATAN. Tatsächlich erhielt SATAN mehr Aufmerksamkeit von seiten der Presse als jedes andere Sicherheitstool.

Wofür die ganze Aufregung? Kurz gesagt: SATAN war der vollkommene Scanner. Er kann nicht nur nach allen bekannten Schwachstellen suchen, sondern verfügt auch über Lernprogramme. Diese Lernprogramme beschreiben die Schwachstellen im Detail, wie sie ausgenutzt werden können und wie sie geschlossen werden können. Und das ist noch nicht alles: SATAN ist der erste Scanner, der diese Informationen in benutzerfreundlichem Format darstellt.

Das Programm kann bedient werden über ein HTML-Interface mit Formularen für die Eingabe von Zielen, Tabellen für die Darstellung von Resultaten und Kontext-sensiblen Lernprogrammen, die erscheinen, wenn ein Sicherheitsloch gefunden wurde. Es ist ein hervorragendes Tool, gut geschrieben und erweiterbar.

Die Autoren von SATAN sind für ihre Sachkenntnis in punkto Sicherheit hoch angesehen. Leser, die SATAN nicht kennen, erinnern sich vielleicht an Dan Farmer als Co-Autor des Computer Oracle and Password System (COPS). COPS ist für die Unix-Gemeinde schon seit langem Standard für das Überprüfen lokaler Hosts auf Sicherheitslöcher. Venema ist der Autor von TCP_Wrapper, einem Tool für Stapelprotokollierung und Paketfilterung. Beide Männer sind begabte Programmierer, Hacker (keine Cracker) und Autoritäten im Bereich Sicherheit im Internet.

SATAN wurde für Unix entwickelt. Er wurde in C und Perl geschrieben und läuft daher auf einer großen Vielfalt von Unix-Versionen, auf manchen ohne jegliches Portieren, auf anderen mit mäßigem bis intensivem Portieren.

Hinweis:

Wenn Sie SATAN auf Linux laufen lassen wollen, tritt folgendes Problem auf: Die Originaldistribution folgt gewissen Regeln, die in einem fehlerhaften Arbeitsablauf auf Linux resultieren. Ein weiteres Problem stellt sich durch die Art, wie der select-Aufruf in das tcp-scan-Modul implementiert ist. (In den folgenden Abschnitten finden Sie hierfür Abhilfe.) Und schließlich resultiert das Scannen eines gesamten Teilnetzes auf einmal in einer umgekehrten fping-Bombe, die Socketpuffer überlaufen läßt.

SATAN überprüft entfernte Hosts auf bekannte Sicherheitslöcher, darunter:

Installations- oder Kompatibilitätsaspekte

SATAN extrahiert sich in ein Verzeichnis /satan-1.1.1. Der erste Schritt (nach Lesen der Dokumentation) ist, das Perl-Skript reconfig zu starten. Dieses Skript sucht nach verschiedenen Komponenten (die wichtigste davon Perl) und definiert Verzeichnispfade.

Das Skript reconfig wird beendet, wenn es keinen Browser identifizieren oder definieren kann. Wenn Sie Ihren Browser nicht im Standardverzeichnis installiert haben (und sich das Verzeichnis nicht im Pfad befindet), müssen Sie diese Variable manuell einstellen.

Wenn Sie keinen DNS laufen lassen, müssen Sie dies außerdem in /satan-1.1.1/conf/ satan.cf wie folgt angeben:

$Dont_use_nslookup = 1;

Nach Erledigen der PATH-Aspekte, können Sie einen Scan-Vorgang starten. Während dieses Prozesses müssen Sie Ihre Plattform spezifizieren (make IRIX oder make SunOS). Ich empfehle Ihnen, beim Kompilieren genau auf Fehler zu achten.

Tip:

SATAN frißt mehr Ressourcen als gewöhnliche Scanner. Wenn Sie eine ungenügende Performance feststellen, gibt es mehrere Lösungsansätze. Eine ist, mehr RAM und größere Prozessorleistung zur Verfügung zu stellen. Wenn dies nicht machbar ist, schlage ich Ihnen zwei Dinge vor: Erstens sollten Sie so viele andere Prozesse wie möglich ausschalten. Zweitens sollten Sie die Zahl der Hosts, die in einem Scan-Vorgang überprüft werden, auf hundert oder weniger limitieren. Und schließlich gibt es noch die Möglichkeit, SATAN im Befehlszeilen-Modus laufen zu lassen, wenn Sie wirklich nur limitierte Ressourcen zur Verfügung haben.

Spezielle Bemerkungen zu SATAN und Linux

Damit SATAN auf Linux läuft, müssen Sie einige Modifikationen vornehmen:

Die Datei tcp_scan produziert inkompatible select()-Aufrufe. Um dieses Problem zu beseitigen, holen Sie sich den Patch unter http://recycle.jlab.org/~doolitt/satan/ tcp_scan.diff2 oder /pub/Linux/system/Network/admin/satan-linux.1.1.1.diff.gz.

Sie brauchen BSD-4.4-kompatible Netinfo-Include-Dateien. Diese finden Sie unter http:// recycle.jlab.org:80/~doolitt/satan/BSD-4.4-includes.tar.gz

Sie benötigen die aktuellste Version von Perl. Diese bekommen Sie unter http://language.perl.com/info/software.html .

Sie brauchen die aktuellste Version von bash. (Überprüfen Sie Ihre Distribution und wenden Sie sich gegebenenfalls an Ihren Anbieter.)

SATAN erhalten Sie unter http://www.trouble.org/~zen/satan/satan.html.

Hinweis:

Das größte Problem, über das Linux-Anwender berichten, ist, daß SATANs HTML-Interface nicht funktioniert. Wenn man auf die Links für die Bedienfelder drückt, stürzt Netscape ab (oder es passiert nichts). Hier ist die Lösung: Gehen Sie zu PREFERENCES | APPLICATION und löschen Sie die Referenz .pl-Erweiterung, so daß PERL-Dateien korrekt ausgeführt werden. (Warnung: Löschen Sie auf gar keinen Fall die Referenz zu PERL-Dateien, sondern nur die zu den Erweiterungen. Sonst werden Sie richtige Probleme haben.) Nach Löschen der .pl-Referenz starten Sie Ihren Rechner neu und starten Sie dann SATAN. Die Links werden jetzt perfekt funktionieren.

10.2.5 Ballista

Secure Networks, Inc.

Kontakt: Alfred Huger

Tel.: +1-403-262-9211
Fax: +1-403-262-9221

E-Mail: ahuger@secnet.com

URL: http://www.securenetworks.com/ oder http://www.secnet.com/

Ballista führt über 300 separate Überprüfungen auf verschiedene Sicherheitsschwachstellen durch. Viele halten Ballista seinen Konkurrenzprodukten gegenüber für überlegen. Von besonderem Interesse ist, daß Ballista nicht nur Überprüfungen von Unix-Netzwerken durchführen kann, sondern auch Windows-NT-Netzwerke auf die folgenden Schwachstellen untersucht:

Insgesamt ist Ballista ein ausgezeichnetes Paket, um einen schnellen Überblick über die Schwachstellen Ihres Netzwerks zu bekommen. Dieser Scanner läuft sowohl unter Windows NT als auch unter Unix.

10.2.6 Jakal

Scannertyp: TCP-Port-Scanner

Autor: Halflife Jeff (Phiji) Fay und Abdullah Marafie

Programmiersprache: C

Entwicklungsplattform: Unix (generell)

Zielplattform: Unix

Anforderungen: Unix, C, IP-Header-Dateien

Jakal ist ein Stealth-Scanner, der dazu entwickelt wurde, hinter Firewalls zu scannen. Den Autoren zufolge haben es die Alpha-Test-Sites nicht geschafft, irgendeine Aktivität zu protokollieren. (Obwohl sie auch zugeben, daß »einige Firewalls SYN | FIN durchließen«.) Für weitere Informationen schauen Sie sich die Dokumentation zu Jakal an: http://www.unitedcouncil.org/c/jakal.c .

Stealth-Scanner sind ein neues Phänomen. Zweifelsohne werden sie sich immer weiter verbreiten, je mehr Firewalls es im Netz gibt. Das ist immerhin ein relativ neues Expertengebiet. Wenn Sie Jakal testen und feststellen, daß einige Protokollmeldungen erscheinen, seien Sie nicht zu streng.

Stealth-Scanner führen halbe Scanvorgänge aus, die SYN-ACK-Transaktionen mit dem Zielrechner starten (aber niemals beenden). Stealth-Scan-Vorgänge umgehen Firewalls und entziehen sich Port-Scanning-Detektoren. Mit Hilfe von Stealth-Scannern können Sie ganz leise herausfinden, welche Dienste hinter einer Firewall laufen.

Jakal finden Sie unter http://www.unitedcouncil.org/c/jakal.c.

10.2.7 IdentTCPscan

Scannertyp: TCP-Port-Scanner

Autor: Dave Goldsmith

Programmiersprache: C

Entwicklungsplattform: Unix (generell)

Zielplattform: Unix

Anforderungen: Unix, C, IP-Header-Dateien

IdentTCPscan ist ein eher spezialisierter Scanner. Er identifiziert die Besitzer aller TCP- Port-Prozesse anhand ihrer UID. Hier ein Ausschnitt aus einer Testausgabe:

Port: 7 Service: (?) Userid: root

Port: 9 Service: (?) Userid: root

Port: 11 Service: (?) Userid: root

Port: 13 Service: (?) Userid: root

Port: 15 Service: (?) Userid: root

Port: 19 Service: (?) Userid: root

Port: 21 Service: (?) Userid: root

Port: 23 Service: (?) Userid: root

Port: 25 Service: (?) Userid: root

Port: 37 Service: (?) Userid: root

Port: 79 Service: (?) Userid: root

Port: 80 Service: (?) Userid: root

Port: 110 Service: (?) Userid: root

Port: 111 Service: (?) Userid: root

Port: 113 Service: (?) Userid: root

Port: 119 Service: (?) Userid: root

Port: 139 Service: (?) Userid: root

Port: 513 Service: (?) Userid: root

Port: 514 Service: (?) Userid: root

Port: 515 Service: (?) Userid: root

Port: 540 Service: (?) Userid: root

Port: 672 Service: (?) Userid: root

Port: 2049 Service: (?) Userid: root

Port: 6000 Service: (?) Userid: root

Durch die Identifizierung der UID für jeden Prozeß können Sie übliche Fehlkonfigurationen leicht entdecken. Zum Beispiel finden Sie in Zeile 12 der vorangehenden Ausgabe einen schweren Konfigurationsfehler. An Port 80 läuft httpd als Root. Dies ist ein Sicherheitsproblem, da Angreifer, die Schwachstellen in Ihrem CGI (Common Gateway Interface) ausnutzen, Ihre Prozesse auch als Root laufen lassen können.

IdentTCPscan ist extrem schnell. Dieses Utility kompiliert und arbeitet gleich gut unter Linux, BSDI und SunOS. Das Paket kommt als komprimierte Datei mit C-Source und braucht zum Ablaufen nur minimale Netzwerk-Ressourcen. Es läßt sich ohne Probleme mit Hilfe fast jeden C-Compilers aufbauen.

Wegweiser:

Hier können Sie IdentTCPscan von David Goldsmith (freigegeben am 11. Februar 1996) bekommen: http://www.asmodeus.com/archive/crack-scan/ identTCPscan.c.

10.2.8 Ogre

Scannertyp: TCP-Port-Scanner

Autor: Chameleon, Humble und NeonSurge von Rhino9

Programmiersprache: Unbekannt

Entwicklungsplattform: Windows

Zielplattform: Windows NT

Anforderungen: Microsoft Windows 95 oder Windows NT

Ogre ist interessant, weil er Informationen über NetBIOS-Aktivitäten sammelt. Ogre führt die folgenden Überprüfungen durch:

Die Entwickler von Ogre beschreiben ihren Scanner als:

...ein entferntes Netzwerk-Auditing-Tool, das für die Benutzung durch Windows-NT- Administratoren bestimmt ist. Ogre führt eine Vielfalt an Tests auf dem Zielnetzwerk durch, hauptsächlich sucht er nach bekannten ausnutzbaren Schwachstellen in bestimmten 95- und NT-Software-Installationen.

Scanner wie Ogre sind erst kürzlich aufgetaucht. Da es mittlerweile jedoch bekannt ist, daß Windows NT anfällig für entfernte Angriffe ist, können Sie eine Verbreitung dieser Tools erwarten.

10.2.9 WebTrends Security Scanner (vormals Asmodeus)

Scannertyp: TCP-Port-Scanner und NetBIOS-Scanner

Autor: WebTrends Corporation

Programmiersprache: C

Entwicklungsplattform: Windows NT

Zielplattform: Unix, Windows NT

Anforderungen: Windows NT 4.0

WSS ist eine seltsame Mischung aus verschiedenen Tools. Diese Applikation wurde ursprünglich Asmodeus genannt (geschrieben von Greg Hoglund). WSS ist einzigartig, weil er nicht nur einfach ein Port-Scanner ist, sondern in seiner Standard-Distribution auch einen Sniffer enthält.

Der WSS-Sniffer ist hinreichend fortschrittlich, so daß Sie ihn als Paketfilter einsetzen können. Zum Beispiel können Sie verschiedenen Angriffsmustern spezielle Signaturen zuordnen und Warnungen spezifizieren, wenn solche Muster gefunden werden.

WSS ist sogar erweiterbar. Er kommt mit einer Basis-Skriptsprache, die einer Mischung aus Perl und JavaScript ähnelt. Die Skriptsprache verfügt über vorgebaute Module, die es Ihnen ermöglichen, ein Dutzend verschiedene Werte, darunter IP-Adresse, Hostname, Pakettyp usw. als fehlerhaft zu kennzeichnen. Alles in allem ist WSS ein sehr vollständiges Paket. Sie finden WSS unter:

http://www.webtrends.com/wss/

10.2.10 Internet Security Scanner und SAFESuite

Scannertyp: TCP-Port-Scanner

Autor: Internet Security Systems

Programmiersprache: C

Entwicklungsplattform: Unix oder Windows NT

Zielplattform: Unix oder Windows NT

Anforderungen: Unix oder Windows NT

Vor einigen Jahren stellte Christopher Klaus einen einfachen und wirksamen Scanner namens ISS, Internet Security Scanner, vor. ISS war der erste seiner Art und rief unterschiedliche Reaktionen hervor. Viele Leute dachten, daß die kostenlose Freigabe eines solchen Tools die sowieso schon fragile Sicherheit des Internet gefährden würde. Klaus sprach diesen Punkt in der Dokumentation zu ISS an:

Die Freigabe an die Öffentlichkeit oder zumindest an die Leute, die sich mit Sicherheit befassen, wird manche Leute veranlassen zu denken, daß dieses Tool zu gefährlich für die Öffentlichkeit ist. Aber viele Cr(H)acker kennen die Sicherheitslöcher und wissen, wie sie sie ausnutzen können. Diese Sicherheitslöcher sind nicht tief in irgendwelchen OS-Routinen verborgen, sondern sie sind Standard-Fehlkonfigurationen, die in vielen Domains auf dem Internet zu sehen sind. Vor vielen dieser Löcher wird in CERT- oder CIAC-Hinweisen gewarnt.

Frühe Distributionen von ISS umfaßten den Source-Code. Für diejenigen unter Ihnen, die sich dafür interessieren, die Komponenten eines erfolgreichen und effektiven Scanners zu untersuchen, ist hier die URL des vollständigen Source-Codes:

http://www.giga.or.at/pub/hacker/unix/iss.tar.gz

Das Utility ist seit seiner ersten Freigabe sehr beliebt geworden. Das Entwicklungsteam von Internet Security Systems ist seiner Tradition für kleine, portierbare Utilities treu geblieben; SAFESuite ist sein aktuellstes Produkt. Gegenüber früheren Versionen wurden erhebliche Verbesserungen vorgenommen.

SAFESuite besteht aus mehreren Scannern:

SAFESuite ist SATAN und Nessus insofern ähnlich, daß die Konfiguration und das Management des Programms über eine grafische Benutzeroberfläche stattfinden. Dies spart Zeit und Mühe und ermöglicht auch das schnelle und bequeme Sichten von Berichten. SAFESuite hat jedoch noch ein weiteres Merkmal: Es läuft nicht nur auf Unix, sondern auch auf Windows NT.

SAFESuite führt eine Vielfalt von Angriffen auf verschiedene Dienste durch:

Die Leute von ISS beschreiben SAFESuite so:

SAFESuite ist der schnellste, umfassendste proaktive Unix-Netzwerk-Sicherheitsscanner auf dem Markt. Er ist einfach zu konfigurieren, führt Überprüfungen schnell durch und generiert umfassende Berichte. SAFESuite prüft eine Netzwerkumgebung auf ausgewählte Sicherheitsschwachstellen und simuliert dabei die Techniken eines entschlossenen Hackers. Abhängig von den Berichtsoptionen, die Sie auswählen, gibt SAFESuite Ihnen die folgenden Informationen über jede gefundene Schwachstelle: Ort, detaillierte Beschreibung und Vorschläge für Gegenmaßnahmen.

Wenn Sie frühere ISS-Versionen benutzt haben, werden Sie die SAFESuite-Distribution auf alle Fälle wesentlich verbessert finden. Zum Beispiel unterstützten frühere Versionen kein GUI. Aus diesem Grund stelle ich Ihnen nachfolgend kurz die Vorbereitungen für eine Überprüfung mit diesem Tool vor.

System-Anforderungen

Die Windows-NT-Version von SAFESuite ist mittlerweile verfügbar und hat umfangreiche Testläufe überstanden. Tabelle 10.1 listet die Systemanforderungen von SAFESuite auf.

Tabelle 10.1: Installationsanforderungen für SAFESuite

Element

Anforderung

Prozessorgeschwindigkeit

keine Angaben

RAM

16 Mbyte oder mehr

Netzwerk

TCP/IP

Privilegien

Root oder Administrator

Speicherbelegung

ca. 5 Mbyte

Browser

Jeder HTML-3-Browser-Client

Verschiedenens

Solaris-Rechner brauchen Motif 1.22+

SAFESuite läuft ebenfalls auf vielen Unix-Versionen:

Hinweis:

Sie müssen einen Webbrowser haben, um sich die SAFESuite-Dokumentation anzusehen. Wenn Sie keinen Browser bestimmen, wird die Hilfe-Option im Hauptmenü-Fenster nicht funktionieren. Wenn Sie einen Grund dafür haben, keinen Browser anzugeben - oder wenn auf dem Rechner, den Sie benutzen, kein Browser ist -, können Sie sich trotzdem das gesamte Lernprogramm und das Handbuch auf einem anderen Rechner ansehen. Übertragen Sie einfach alle HTML-Dateien in ein Verzeichnis Ihrer Wahl, starten Sie einen Browser und öffnen Sie index.html. Die Links werden lokal problemlos funktionieren.

Spezielle Merkmale

SAFESuite ist gut erweiterbar. Sie können daher selbstgeschriebenen speziellen Code für Überprüfungen von Teilen des Netzwerks, die nicht von SAFESuite vorgesehen sind, in den Scan-Vorgang integrieren (wie auch mit SATAN und Nessus möglich).

Tip:

Auch wenn Sie keine eigenen Sicherheitstools schreiben, können Sie den Code anderer als Patch einfügen. Zum Beispiel gibt es viele nichtetablierte Scanner, die ganz spezielle Aufgaben durchführen. Es gibt keinen Grund, diese Tools nicht fest in den SAFESuite-Scan-Vorgang zu integrieren.

Hinweis:

Das SAFESuite-Programm beinhaltet eine Funktion zur Erstellung von Netzwerk-Übersichtskarten. Diese Karten sind eine grafische Darstellung Ihres Netzwerks, in der potentielle Gefahrenstellen visuell hervorgehoben werden. Zusammen mit anderen Netzwerkarchitektur-Tools (von denen viele nicht unbedingt auf Sicherheit ausgerichtet sind) können Produkte wie SAFESuite Ihnen helfen, schnell eine sichere Netzwerk-Topologie zu entwerfen.

Wegweiser:

Für weitere Informationen über den Kauf, die Benutzung oder die Konfiguration von SAFESuite setzen Sie sich mit ISS in Verbindung. (http:// www.ISS.net/).

Berichterstellung

SAFESuite generiert detaillierte Berichte, einschließlich Lernprogrammen für jede Schwachstelle. Auch in dieser Hinsicht ähnelt SAFESuite sowohl SATAN als auch Nessus. Eine typische Ausgabe sieht wie folgt aus:

# Rlogin Binding to Port

# Connected to Rlogin Port

# Trying to gain access via Rlogin

127.0.0.1: ---- rlogin begin output ----

127.0.0.1: ---- rlogin end output ----

# Rlogin check complete, not vulnerable.

# Time Stamp(555): Rsh check: (848027962) Thu Nov 14 19:19:22

# Checking Rsh For Vulnerabilities

# Rsh Shell Binding to Port

# Sending command to Rsh

127.0.0.1: bin/bin logged in to rsh

127.0.0.1: Files grabbed from rsh into './127.0.0.1.rsh.files'

127.0.0.1: Rsh vulnerable in hosts.equiv

# Completed Checking Rsh for Vulnerability

root:bBndEhmQlYwTc:0:0:root:/root:/bin/bash

bin:*:1:1:bin:/bin:

daemon:*:2:2:daemon:/sbin:

adm:*:3:4:adm:/var/adm:

lp:*:4:7:lp:/var/spool/lpd:

sync:*:5:0:sync:/sbin:/bin/sync

shutdown:*:6:0:shutdown:/sbin:/sbin/shutdown

halt:*:7:0:halt:/sbin:/sbin/halt

mail:*:8:12:mail:/var/spool/mail:

news:*:9:13:news:/usr/lib/news:

uucp:*:10:14:uucp:/var/spool/uucppublic:

operator:*:11:0:operator:/root:/bin/bash

games:*:12:100:games:/usr/games:

man:*:13:15:man:/usr/man:

postmaster:*:14:12:postmaster:/var/spool/mail:/bin/bash

nobody:*:-1:100:nobody:/dev/null:

ftp:*:404:1::/home/ftp:/bin/bash

guest:*:405:100:guest:/dev/null:/dev/null

127.0.0.1: ---- FTP version begin output ----

SamsHack FTP server (Version wu-2.4(1) Tue Aug 8 15:50:43 CDT 1995) ready.

127.0.0.1: ---- FTP version end output ----

127.0.0.1: Please login with USER and PASS.

127.0.0.1: Guest login ok, send your complete e-mail address as password.

127.0.0.1: Please login with USER and PASS.

127.0.0.1: ANONYMOUS FTP ALLOWED

127.0.0.1: Guest login ok, access restrictions apply.

127.0.0.1: "/" is current directory.

127.0.0.1: iss.test: Permission denied.

127.0.0.1: iss.test: Permission denied. (Delete)

127.0.0.1: Entering Passive Mode (127,0,0,1,4,217)

127.0.0.1: Opening ASCII mode data connection for /bin/ls.

127.0.0.1: Transfer complete.

127.0.0.1: Entering Passive Mode (127,0,0,1,4,219)

127.0.0.1: Opening ASCII mode data connection for /etc/passwd (532 bytes).

127.0.0.1: Transfer complete.

127.0.0.1: Files grabbed via FTP into ./127.0.0.1.anonftp.files

127.0.0.1: Goodbye.

Wie Sie an der Ausgabe erkennen können, wurde die passwd-Datei zur Übertragung mit FTP in eine Datei gebracht. Die hauptsächlichen Schwachstellen, die bei der Überprüfung festgestellt wurden, waren u.a.:

Die andere Seite des Zauns

SAFESuite hinterläßt deutliche Spuren. Der Überprüfungsvorgang, der den obigen Bericht hervorbrachte, wurde an die Datei /var/adm/messages gemeldet. Schauen Sie sich die Ausgabe an:

Nov 10 21:29:38 SamsHack ps[159]: connect from localhost

Nov 10 21:29:38 SamsHack netstat[160]: connect from localhost

Nov 10 21:29:38 SamsHack in.fingerd[166]: connect from localhost

Nov 10 21:29:38 SamsHack wu.ftpd[162]: connect from localhost

Nov 10 21:29:38 SamsHack in.telnetd[163]: connect from localhost

Nov 10 21:29:39 SamsHack ftpd[162]: FTP session closed

Nov 10 21:29:39 SamsHack in.pop3d[169]: connect from localhost

Nov 10 21:29:40 SamsHack in.nntpd[170]: connect from localhost

Nov 10 21:29:40 SamsHack uucico[174]: connect from localhost

Nov 10 21:29:40 SamsHack in.rlogind[171]: connect from localhost

Nov 10 21:29:40 SamsHack in.rshd[172]: connect from localhost

Nov 10 21:29:40 SamsHack telnetd[163]: ttloop: read: Broken pipe

Nov 10 21:29:41 SamsHack nntpd[170]: localhost connect

Nov 10 21:29:41 SamsHack nntpd[170]: localhost refused connection

Nov 10 21:29:51 SamsHack ps[179]: connect from localhost

Nov 10 21:29:51 SamsHack netstat[180]: connect from localhost

Nov 10 21:29:51 SamsHack wu.ftpd[182]: connect from localhost

Nov 10 21:29:51 SamsHack in.telnetd[183]: connect from localhost

Nov 10 21:29:51 SamsHack in.fingerd[186]: connect from localhost

Nov 10 21:29:51 SamsHack in.pop3d[187]: connect from localhost

Nov 10 21:29:52 SamsHack ftpd[182]: FTP session closed

Nov 10 21:29:52 SamsHack in.nntpd[189]: connect from localhost

Nov 10 21:29:52 SamsHack nntpd[189]: localhost connect

Nov 10 21:29:52 SamsHack nntpd[189]: localhost refused connection

Nov 10 21:29:52 SamsHack uucico[192]: connect from localhost

Nov 10 21:29:52 SamsHack in.rshd[194]: connect from localhost

Nov 10 21:29:52 SamsHack in.rlogind[193]: connect from localhost

Nov 10 21:29:53 SamsHack login: ROOT LOGIN ON tty2

Nov 10 21:34:17 SamsHack ps[265]: connect from pm7-6.pacificnet.net

Nov 10 21:34:17 SamsHack netstat[266]: connect from pm7-6.pacificnet.net

Nov 10 21:34:17 SamsHack wu.ftpd[268]: connect from pm7-6.pacificnet.net

Nov 10 21:34:22 SamsHack ftpd[268]: FTP session closed

Nov 10 21:34:22 SamsHack in.telnetd[269]: connect from pm7-6.pacificnet.net

Nov 10 21:34:23 SamsHack in.fingerd[271]: connect from pm7-6.pacificnet.net

Nov 10 21:34:23 SamsHack uucico[275]: connect from pm7-6.pacificnet.net

Nov 10 21:34:23 SamsHack in.pop3d[276]: connect from pm7-6.pacificnet.net

Nov 10 21:34:23 SamsHack in.rlogind[277]: connect from pm7-6.pacificnet.net

Nov 10 21:34:23 SamsHack in.rshd[278]: connect from pm7-6.pacificnet.net

Nov 10 21:34:23 SamsHack in.nntpd[279]: connect from pm7-6.pacificnet.net

Nov 10 21:34:28 SamsHack telnetd[269]: ttloop: read: Broken pipe

Nov 10 21:34:28 SamsHack nntpd[279]: pm7-6.pacificnet.net connect

Nov 10 21:34:28 SamsHack nntpd[279]: pm7-6.pacificnet.net refused connection

Nov 10 21:34:33 SamsHack rlogind[277]: Connection from

207.171.17.199 on illegal port

Nicht sehr subtil, oder? Jeder Systemadministrator, der mit einer derartigen Ausgabe konfrontiert wird, würde fuchsteufelswild werden. SAFESuite wurde jedoch entwickelt, um Ihr eigenes Netzwerk zu überprüfen und nicht dazu, ahnungslose Netzwerke anzugreifen. SAFESuite ist heute wohl der umfassendste kommerzielle Scanner auf dem Markt.

10.2.11 CONNECT

CONNECT ist ein sh-Skript mit dem Zweck, Subnetze für TFTP-Server auf Schwachstellen zu überprüfen. (Wie Sie sich denken können, sind diese schwer zu finden. TFTP ist heutzutage fast immer inaktiv.)

CONNECT prüft zurückgestellte IP-Adressen rekursiv. Aus diesem Grund sollten Sie den Prozeß in den Hintergrund stellen (oder sich ein Bier besorgen, Mittagessen gehen, eine Partie Golf spielen).

Dieser Scanner ist nicht so wichtig, da TFTP heutzutage nur selten zur Verfügung steht. (Obwohl, wenn Sie auf einen nachlässigen Systemadministrator treffen, bekommen Sie darüber möglicherweise die /etc/passwd-Datei. Verlassen Sie sich jedoch nicht darauf. Die Chancen, einen offenen TFTP-Server und eine nicht verborgene passwd-Datei auf dem gleichen Rechner zu finden, sind praktisch gleich null.)

Wegweiser:

Die Dokumentation zu CONNECT wurde von Joe Hentzel geschrieben. Hentzel zufolge ist der Autor des Skripts anonym und das Freigabedatum unbekannt. Holen Sie sich eine Kopie unter http://www.giga.or.at/pub/hakker/unix/ .

10.2.12 FSPScan

FSPScan führt Überprüfungen auf FSP-Servern durch. FSP, das File Service Protocol, ist ein Internet-Protokoll ähnlich wie FTP. Es sorgt für anonyme Dateiübertragungen und bietet einen Schutz gegen Netzwerküberlastungen. (FSP stürzt beipielsweise nie ab.) Das vielleicht wichtigste Merkmal von FSP in bezug auf Sicherheit ist, daß es den Hostnamen des eingehenden Benutzers protokolliert. Dies wird als überlegen zu FTP gesehen, das die E-Mail- Adresse des Benutzers verlangt (was effektiv überhaupt kein Protokollieren ist). FSP ist populär genug, so daß jetzt FSP-GUI-Clients für Windows und OS/2 zur Verfügung stehen.

Das Außergewöhnliche ist folgendes: FSPScan wurde von einem der Co-Autoren von FSP geschrieben. Wer könnte ein solches Utility besser schreiben?

Wegweiser:

Holen Sie sich eine Kopie von FSPScan, geschrieben von Wen-King Su (freigegeben im Jahr 1991) unter http://www.giga.or.at/pub/hacker/unix/.

10.2.13 XSCAN

XSCAN überprüft ein Subnetz (oder einen Host) auf X-Server-Schwachstellen. Auf den ersten Blick erscheint dies nicht sehr wichtig - schließlich tun dies die meisten Scanner. XSCAN hat jedoch eine weitere Funktion: Wenn er eine Schwachstelle findet, startet er sofort mit der Protokollierung der Tastenanschläge an diesem Terminal.

Andere komfortable Merkmale von XSCAN beinhalten die Möglichkeit, mehrere Hosts im gleichen Scan-Vorgang zu prüfen. Diese können in der Befehlszeile als Argumente eingegeben werden. (Sie können auch Hosts und Subnetze in einer Art »Mix & Match«-Implementierung bestimmen.)

Den Quellcode dieses Utilities finden Sie auf der CD-ROM, die diesem Buch beiliegt.

Wegweiser:

Eine Kopie von XSCAN erhalten Sie unter http://www.giga.or.at/pub/hakker/unix/ .

10.3 Auf anderen Plattformen

Port-Scanner sind heutzutage für viele Plattformen erhältlich. Die meisten der Nicht-Unix- Tools führen jedoch nur Überprüfungen auf offenen Ports durch. Network Toolbox ist ein gutes Beispiel.

10.3.1 Network Toolbox

Network Toolbox ist ein TCP/IP-Port-Scanner für Windows 95, der von der J. River Company of Minneapolis entwickelt wurde. Network Toolbox ist schnell, effektiv und leicht zu benutzen. Abbildung 10.7 zeigt den Eröffnungsbildschirm der Applikation.


Abbildung 10.7: Der Network-Toolbox-Eröffnungsbildschirm

Bevor Sie eine Überprüfung mit Network Toolbox durchführen, müssen Sie die Eigenschaften für den Scan-Vorgang festlegen. Standardmäßig überprüft Network Toolbox nur 14 TCP/ IP-Ports. Das reicht für eine komplette Überprüfung nicht aus. Die Ausgabe eines standardmäßigen Scan-Vorgangs würde wie folgt aussehen:

port: 9 discard Service available

port: 13 daytime Service available

port: 21 ftp Service available

port: 23 telnet Service available

port: 25 smtp Service available

port: 37 time Service available

port: 79 finger Service available

port: 80 http Service available

port:110 pop3 Service available

port:111 portmap Service available

port:512 exec Service available

port:513 login Service available

port:514 shell Service available

port:540 uucp Service available

Um eine umfassendere Überprüfung durchzuführen, müssen Sie die Eigenschaften für den Scan-Vorgang festlegen. Dafür klicken Sie auf den Optionsbutton und rufen das Optionsbedienfeld auf, das in Abbildung 10.8 gezeigt wird.


Abbildung 10.8: Das Network-Tool-Bedienfeld »Options«

Nach Öffnen des Optionsbedienfelds wählen Sie das Register »Port-Scanner«. Dies bringt Sie zu den Optionen und Einstellungen für den Scan-Vorgang, siehe Abbildung 10.9.


Abbildung 10.9: Das Network-Toolbox-Port-Scanner-Optionen-Register

Das Register »Port-Scanner Option« stellt Ihnen eine Reihe von Optionen bezüglich Ports zur Verfügung. Eine ist die Festlegung eines Bereichs durch eine Zahl (wenn Sie beispielsweise nur privilegierte Ports überprüfen wollen).

Um den Zielhost zu überprüfen, wählen Sie den Scan-Button (Abbildung 10.10).


Abbildung 10.10: Der Scan-Button

Die Informationen, die Sie durch die Benutzung von Network Toolbox erhalten, sind denen von Strobe sehr ähnlich. Sie erhalten keine Informationen über den Besitzer eines Prozesses, noch schlägt Network Toolbox Türen oder Fenster ein. Die Applikation ist dennoch wertvoll, da sie schnell bestimmen kann, welche Prozesse auf dem Zielrechner laufen.

10.4 Andere Port-Scanner

Es gibt mehrere andere populäre Portscanner. Einige führen einfach Scanvorgänge an Ports durch, andere verfügen über zusätzliche Funktionen. Alle sind entweder als Shareware oder Freeware zu haben. Tabelle 10.2 listet diese Scanner auf.

Tabelle 10.2: Andere beliebte Port-Scanner

Scanner

Beschreibung und URL

SiteScan

Geschrieben von Chameleon ist SiteScan ein kleiner, schneller Port-Scanner, der offene Ports identifiziert und sogar einige übliche Web-Sicherheitslöcher entdeckt. Sie erhalten ihn unter

http://www.antionline.com/archives/windows/scan/sitescan.exe

Chesapeake

Der Chesapeake-Portscanner ist interessant, weil er in Java geschrieben wurde. Daher gibt es keine Plattformbeschränkungen, Sie brauchen nur ein Java Runtime System. Chesapeake ist auf Windows 95, Windows NT und Solaris getestet worden. Sie erhalten ihn unter

http://www.ccci.com/tools/portscan/faq.htm

YAPS

YAPS (Yet Another Port-Scanner) wurde von Theodore B. Hale für Windows 95 geschrieben. Dieser Scanner ist nicht als Freeware sondern als Demoware erhältlich, d.h bei Gefallen zahlen Sie nach der 30-Tage Testversion eine Gebühr. YAPS finden Sie unter

http://www.tni.net/~ted/Yaps/Yaps.html

nbtscan

nbtscan wurde von Alla Bezroutchko geschrieben. Er führt Scanvorgänge für eine vorgegebene Spannbreite von IP-Adressen durch und holt NBTSTAT-Daten von gefundenen Hosts. nbtscan wurde in Perl geschrieben und läuft auf Unix. Schauen Sie in die NT Security Mailing Liste für dieses Utility.

PortScanner

PortScanner, der von Elliotte Rusty Harold geschrieben wurde, ist ein Java-basierter Port-Scanner. Er ist einfach, kompakt, schnell und kostenlos. Sie finden ihn unter

http://sunsite.cnlab-switch.ch/javafaq/course/week12/13.html

TCP PortScanner

TCP PortScanner wurde von Dave Edis in Perl 5 geschrieben und läuft über ein HTML-Interface auf Unix. Sie finden ihn unter

http://old.edis.org/

PortFlash

PortFlash wurde von Webroot Software in Columbus geschrieben und ist ein Windows-95-basierter Port-Scanner. Das Produkt finden Sie als Shareware unter

http://www.webroot.com/pflash.htm

Ostronet

Der Ostronet-Scanner (geschrieben von Igor Ostrovsky) bietet alle grundlegenden TCP-Utilities für Windows, darunter finger, whois, nslookup usw. Dazu bietet Ostronet grundlegende Port-Scanvorgänge. Das Ostronet-Paket finden Sie unter

http://www.antionline.com/archives/windows/scan/ostronet.zip

10.5 Zusammenfassung

Internet-Sicherheit ist ein sich immer wieder veränderndes Gebiet. Wenn neue Sicherheitslöcher entdeckt werden, werden sie in den verschiedenen Mailing-Listen, Warnverzeichnissen und Newsgruppen veröffentlicht. Mit der Entdeckung jedes Sicherheitslochs werden den existierenden Scannern Module hinzugefügt, die ein Prüfen auf dieses Sicherheitsloch ermöglichen - ein unendlicher Kreislauf.

Ich glaube, daß Scanner neue Systemadministratoren in Hinsicht auf potentielle Sicherheitsrisiken schulen können. Scanner sind schon allein aus dem Grund ein wichtiges Element der Internet-Sicherheit. Ich kann Ihnen nur empfehlen, so viele wie möglich auszuprobieren.



vorheriges KapitelInhaltsverzeichnisStichwortverzeichnisKapitelanfangnächstes Kapitel