|
|
Unix/ Linux - eine große HerausforderungEin Unix/ Linux- Netzwerk zu sichern, ist sogar für erfahrene Anwender eine sehr große Herausforderung. Seit es Windows 2000 gibt, sind immer weniger Anwender bereit, dies zu versuchen.
Sicherheit vom Start wegSicherheit beginnt bei der Installation, also werden wir auch mit dieser beginnen und uns dann weiter vorarbeiten. Dieser erste Abschnitt behandelt folgende Themen:
Physikalische SicherheitIhr Unix-Rechner ist immer nur so sicher wie sein Standort. Deshalb sollten Sie ihn vor böswilligen Anwendern abschirmen. In RFC 1244 steht folgendes:
Wenn Sie noch keine Richtlinien für physikalische Sicherheit haben, sollten Sie welche aufstellen. Lesen Sie außerdem einige der folgenden Veröffentlichungen:
Sicherheit an der KonsoleDie Konsolensicherheit ist ein weiteres wichtiges Thema. Zwei Dinge sind besonders bedenklich:
Wir wollen beide kurz besprechen.
KonsolenpasswörterKonsolenpasswörter sind an Unix-Workstations üblich. Je nach Ihrer Architektur kann ein Eindringling diese Passwörter verwenden, um unterschiedliche Ziele zu erreichen. Bei der X86-Architektur sollten Sie das BIOS- Passwort aktivieren. Wenn Sie dies nicht tun, können lokale Eindringlinge Denial-of-Service- Attacken ausüben oder sogar Daten zerstören. Viele BIOS-Systeme beinhalten heute Programme zur Formatierung oder Oberflächenanalyse von Festplatten, die alle Daten auf der Festplatte vernichten können. Außerdem bieten die meisten modernen BIOS-Systeme Zugriff auf serielle und parallele Schnittstellen oder andere Hardware, die zum Export oder Import von Informationen verwendet werden kann. Und wenn Sie SCSI-Geräte benutzen, werden Sie Eindringlinge daran hindern wollen, auf die SCSI- Utilities zuzugreifen. Viele dieser Utilities werden beim Booten oder beim Ansprechen des SCSI-Adapters geladen. Ein gutes Beispiel dafür sind die Adaptec- Produkte: Die SCSI-Adapter-Software ermöglicht es Eindringlingen, neue Festplatten hinzuzufügen, vorhandene zu formatieren und so weiter. Unix-Workstations haben ähnliche Probleme. Sie sollten das PROM- Passwort (und Konsolenpasswort) sofort bei der Installation aktivieren. Dieses Passwort kann Eindringlingen je nach Architektur unterschiedliche Dinge ermöglichen. Viele Systeme unterstützen Einzelplatzmodi. Bestimmte DEC-Stationen (besonders 3100) ermöglichen Ihnen, Ihre Boot- Optionen zu bestimmen:
Tipp:
Eindringlinge können das interaktive Booten nutzen, um privilegierten Zugang zu erhalten und Daten zu zerstören oder Ihr System herunterzufahren. Tipp:
Root- PasswortDirekt nach Abschluss der Installation sollten Sie das Root- Passwort setzen. Viele Distributionen, wie SunOS oder Solaris, fordern Sie dazu auf. Dies ist die letzte Option vor dem Reboot (SunOS) oder Hochfahren (Solaris). Einige Distributionen (z.B. Linux Slackware oder AIX) erzwingen jedoch keine Passwortangabe vor dem ersten Booten. Wenn Sie eines dieser Systeme verwenden, müssen Sie das Root- Passwort sofort beim ersten Einloggen setzen.
Die InstallationsmedienGleich danach sollten Sie Ihre Installationsmedien sichern, da diese sonst dazu missbraucht werden könnten, in Ihr System einzudringen. Ein gutes Beispiel ist AT&T Unix, besonders SVR3 und V/386. Böswillige Anwender können in das System eindringen, indem sie mit einer Diskette booten und die »Magic Mode«- Option wählen, durch die sie an eine Shell gelangen. Auch CD-ROM-Installationsmedien ermöglichen Eindringlingen den Zugang. Wenn Ihre Sun-Workstation zugänglich und das Installationsmedium verfügbar ist, kann jeder den Rechner anhalten, mit der Installations- CD booten und Ihre Festplatte überschreiben. (Dieser Angriff ist nicht auf SunOS oder Solaris beschränkt. Durch Ändern der SCSI-ID oder einfaches Abtrennen der Festplatte können Eindringlinge ein AIX- System zu einem Neustart von CD-ROM zwingen.) Sogar in Linux- Systeme kann auf diese Art eingebrochen werden; bewahren Sie Ihre Installationsmedien also unbedingt an einem sicheren Ort auf.
Default-EinstellungenAls nächstes müssen Sie sich den betriebssystemspezifischen Voreinstellungen zuwenden. Die meisten Unix-Versionen haben ein oder mehrere voreingestellte Accounts oder Passwörter. (Einige haben sogar passwortfreie Accounts.) Bevor Sie mit dem nächsten Schritt fortfahren (Systemintegrität) müssen Sie diese Sicherheitslücken schließen. IRIX ist ein gutes Beispiel dafür. Bestimmte IRIX-Versionen haben riesige Sicherheitslöcher in ihrer Default-Konfiguration. Für die folgenden Accounts ist kein Passwort zum Einloggen erforderlich:
Andere Systeme haben ähnliche Probleme, wie z.B. Default- Accounts, deren Passwörter allgemein bekannt sind. Tipp:
Sicherheit für die PasswörterSie werden an Ihrem Rechner wahrscheinlich mehr als einen Benutzer arbeiten lassen (wahrscheinlich Dutzende). Bevor Sie den Rechner für das Netzwerk freigeben, sollten Sie sich der Passwortrichtlinie zuwenden. Jedes Passwortsystem hat irgendeine angeborene Schwäche. Das ist bedenklich, weil Passwörter das Herzstück des Sicherheitsschemas von Unix darstellen. Jede Gefährdung der Passwortsicherheit kann fatale Auswirkungen haben. Deshalb sollten Sie proaktive Passwort- Utilities, wirksame Verschlüsselungsmethoden (wann immer dies möglich ist) und Passwort- Shadowing installieren. Hinweis:
Wenn Sie kein Shadowing verwenden, können lokale Benutzer sich den Inhalt von /etc/ passwd ansehen. Die Passwörter sind zwar verschlüsselt, aber einfach zu knacken, wenn Ihre Benutzer keine sicheren Passwörter verwenden.
Passwort- ShadowingWenn Ihre Distribution Shadowing nicht von Haus aus unterstützt, empfehle ich Ihnen das John-F.-Haugh-II-Shadow- Paket. Es ermöglicht nicht nur grundlegendes Passwort- Shadowing, sondern auch Passwörter mit 16 Zeichen Länge (gegenüber den herkömmlichen 8 Zeichen Länge). Außerdem bietet es noch die folgenden Möglichkeiten:
Tipp:
Es gibt mehrere speziell für Linux geschriebene Tools für das Passwort- Shadowing. Zwei davon sind:
Wenn Sie mehr über Shadow- Passwörter erfahren wollen (und Unix- Passwortsicherheit im allgemeinen) empfehle ich Ihnen folgende Informationsquellen:
Sie sollten jedoch wissen, daß einige Paßwort-Shadowing- Systeme auch durch andere Programme angegriffen werden können. Es gibt dafür mehrere Exploits. Bevor Sie fortfahren, sollten Sie Ihr System mit Hilfe der in Tabelle 1.2 aufgeführten Exploits überprüfen.
Hinweis:
Die folgenden Man-Pages beinhalten Informationen zu Passwortsicherheit und Shadowing:
Proaktive PasswortprüfungAls nächstes müssen Sie eine proaktive Passwortprüfung installieren. Diese dient zum Eliminieren schwacher Passwörter, bevor sie der passwd- Datei übergeben werden. Das funktioniert folgendermaßen: Wenn ein Benutzer sein Passwort eingibt, wird es mit einer Wortliste und einer Reihe von Regeln verglichen. Wenn das Passwort diese Prüfung nicht besteht und sich als schwaches Passwort herausstellt, wird der Benutzer aufgefordert, sich ein neues Passwort auszudenken. Ist diese proaktive Passwortprüfung wirklich erforderlich? Ja. Anwender sind faul. Wenn sie aufgefordert werden, ein Passwort anzugeben, nehmen sie grundsätzlich eines, das leicht zu knacken ist, z.B. Namen von Kindern, Geburtsdaten oder Abteilungsnamen. Bei Systemen ohne proaktive Passwortprüfung bleiben diese schwachen Passwörter unentdeckt, bis der Systemadministrator »dazu kommt«, sie mit einem Tool zum Knacken von Passwörtern zu überprüfen. Bis das soweit ist, ist es oft schon zu spät. Passwd+
Wegweiser:
Um mehr Informationen zu passwd+ (und der Theorie, die dahinter steckt) zu bekommen, sollten Sie sich A Proactive Password Checker, Dartmouth Technical Report PCS-TR90- 152, besorgen. Er ist nicht über das Internet verfügbar, aber Sie können per E-Mail einen Ausdruck anfordern: http://www.cs.dartmouth.edu/cgi-bin/mail_tr.pl?tr=TR90-152 anlpasswdEin weiteres gutes Programm zur proaktiven Passwortprüfung ist anlpasswd vom Argonne National Laboratory. anlpasswd (das teilweise in Perl geschrieben ist) verwendet die Wörterbuchdatei Ihrer Wahl, und Sie können eigene Regeln aufstellen. Einige der mitgelieferten Regeln sind:
Tipp:
Tipp:
npasswdnpasswd (von Clyde Hoover) ist mehr als ein einfaches Programm zur proaktiven Passwortprüfung. Die Dokumentation beschreibt es so:
npasswd ist eine umfassende Lösung und kann viel zu Ihrer Passwortsicherheit beitragen. Wenn Sie Solaris 2.5 verwenden, werden Sie allerdings Funktionseinbußen hinnehmen müssen. (Sun änderte das NIS-passwd-API beim Übergang zu NIS+. Deshalb unterstützen auch die neuesten Versionen von npasswd NIS+ nicht.) Tipp:
PatchesDer nächste Schritt ist, alle aktuellen Patches für Ihr Betriebssystem zu installieren. Wenn Sie brandneue Installationsmedien haben, sind die aktuellen Patches wahrscheinlich schon enthalten. Wenn Ihre Installationsdateien aber älter als 90 Tage sind, müssen Sie sich aktuellere Informationen besorgen. In Tabelle 1.3 sind einige Adressen aufgeführt, an denen Sie Patches für populäre Unix- Plattformen finden.
Überprüfung der Dienste!Wir nehmen jetzt einmal an, dass Sie die Workstation gesichert haben. Das Shadowing ist aktiviert und nur starke Passwörter werden akzeptiert. Nun ist es Zeit, zu überlegen, wie Ihre Workstation mit der Welt außerhalb Ihres Netzes zurechtkommen wird.
Die r-Utilitiesrlogin und rsh sind für Sicherheitslöcher bekannt. Einige Linux- Distributionen beherbergen z.B. ein kritisches rlogin- Sicherheitsloch, das es sowohl lokalen auch als entfernten Benutzern erlaubt, sich privilegierten Zugang zu verschaffen:
Das Problem betrifft nicht nur Linux, sondern auch viele »echte« Unix-Distributionen haben ähnliche Bugs, darunter bestimmte Distributionen von AIX. Der folgende Hinweis betraf Zehntausende von AIX-Systemen:
Bei den betroffenen Versionen konnte jeder entfernte Benutzer diesen Befehl eingeben:
und erhielt umgehend Root- Berechtigung auf dem Zielrechner. AIX ist nicht das einzige Unix, das Probleme mit den r-Utilities hatte. Ich empfehle Ihnen, sie ganz zu entfernen und durch Secure Shell (SSH) zu ersetzen. SSH bietet wirksame Authentifizierungs- und Verschlüsselungsverfahren für Remote- Sitzungen. Es ist ein ausgezeichneter Ersatz für rlogin und sogar Telnet. Darüber hinaus verhindert SSH auch IP- und DNS-Spoofing- Angriffe. Viele Administratoren schlagen vor, die Dateien /etc/host.equiv und .rhosts zu entfernen, wenn man keine r-Utilities anbietet. Beachten Sie jedoch, daß der SSH- Client die Authentifizierung über .rhosts und /etc/host.equiv unterstützt. Achten Sie also bei der Konfiguration des sshd darauf, daß Sie genau wissen, wozu diese beiden Dateien benutzt werden, wenn Sie sie verwenden. Bevor Sie SSH auf Ihrem System installieren, sollten Sie den entsprechenden RFC zu diesem Thema studieren. Es heißt »The SSH (Secure Shell) Remote Login Protocol«. Tipp:
Die Quellen für SSH sind für die meisten Unix-Varianten und für Linux frei verfügbar. Für Microsoft-Betriebssysteme und für MacOS gibt es kostenpflichtige Anwendungen zu kaufen. Bei http://www.cs.hut.fi/ssh/ finden Sie weitere Informationen.
FingerDer finger- Dienst kann beträchtliche Sicherheitsrisiken beherbergen und kann verwendet werden, um die Privatsphäre Ihrer Anwender zu verletzen. Ich rate eindeutig davon ab, finger- Dienste der Außenwelt anzubieten. Wenn Sie dennoch der Meinung sind, dass Sie finger- Dienste anbieten müssen, empfehle ich Ihnen ein verbessertes finger- Paket, wie sfingerd von Laurent Demailly. Eine Haupteigenschaft von sfingerd ist, dass es Zugang zu .plan- Dateien über ein chrooted- Verzeichnis gewährt. sfingerd (dem fast immer der Quellcode beiliegt) ist erhältlich unter: ftp://hplyot.obspm.fr:/net/sfingerd-1.8.tar.gz In Tabelle 1.4 sind weitere alternative finger- Daemonen aufgeführt.
Tipp:
TelnetTelnet ist an sich kein gefährlicher Dienst. Dennoch können sogar »sichere« Versionen von Telnet externen Benutzern Zugriff auf wertvolle Informationen gewähren. Tipp:
Telnet hat noch ein paar weitere erwähnenswerte Sicherheitslöcher. Eines wurde von Sam Hartman vom Kerberos-Entwicklungsteam am MIT entdeckt (mit Bestätigung und Hilfe bei der Programmierung von John Hawkinson, ebenfalls MIT). Dieses Sicherheitsloch war ziemlich verborgen, aber es könnte einem entfernten Benutzer Root- Zugang verschaffen. Hartman beschreibt es in »Telnet Vulnerability: Shared Libraries« so: Am Sonntag, dem 15. Oktober, entdeckte ich auf mehreren Plattformen einen Bug in einigen Versionen von telnetd, der es einem entfernten Benutzer ermöglicht, login dazu zu bringen, eine andere C-Bibliothek von einem beliebigen Ort des Dateisystems des Rechners zu laden, auf dem telnetd läuft. Bei Rechnern, die verteilte Dateisysteme wie AFS oder NFS mounten, die von der Öffentlichkeit schreibbare, anonyme FTP-Verzeichnisse haben, oder zu denen der Benutzer bereits einen Nicht-Root- Zugang hat, ist es möglich, Root- Zugriff zu erlangen. Das von Hartman entdeckte Sicherheitsloch betraf folgende telnetd- Versionen:
Tipp:
Wenn Sie nach einem Ersatz für Telnet suchen, haben Sie einige Auswahl. Secure Shell ist gut, aber nicht die einzige Möglichkeit. Hier sind zwei andere, sehr gute Alternativen:
Tipp:
Tipp:
FTP Dienst/ DeamonEs gibt einige Gründe, anonymes FTP zu ermöglichen. Obwohl FTP kein kritisches Sicherheitsrisiko darstellt, sollten Sie sich einiger Probleme bewußt sein. Dabei geht es hauptsächlich um die Interaktion von FTP mit anderen Programmen oder Servern:
Tipp:
Anonymes FTP mit einem schreibbaren Verzeichnis macht Sie außerdem zu einem beliebten Angriffspunkt für Bösewichte, die FTP-Bounce- Attacken ausüben. Bei FTP-Bounce- Attacken wird ein FTP-Server verwendet, um Zugang zu einem anderen zu erlangen, der dem Cracker zuvor die Verbindung verweigert hat. Meistens ist der Zielrechner dabei so konfiguriert, dass er Verbindungsanforderungen von einer bestimmten IP- Adressmaske ablehnt. Der Rechner des Crackers hat aber eine IP- Adresse innerhalb dieser Maske, so dass er nicht auf die FTP-Verzeichnisse des Zielrechners zugreifen kann. Um dies zu umgehen, benutzt der Cracker einen anderen Rechner (den »Vermittler«), um auf den Zielrechner zuzugreifen. Dazu schreibt er eine Datei in das FTP-Verzeichnis des Vermittlers, die Befehle enthält, damit dieser eine Verbindung zum Zielrechner herstellt und Dateien von diesem lädt. Wenn der Vermittler die Verbindung eingeht, geschieht dies unter seiner eigenen Adresse (und nicht der des Crackers). Der Zielrechner erlaubt also die Verbindung und liefert die gewünschte Datei. FTP-Bounce- Attacken sind kein Problem besonders hoher Priorität, da sie selten vorkommen und meistens keine Einbruchversuche beinhalten. Die meisten dieser Angriffe kommen von außerhalb der USA. Viele Produkte, die mit einer High-Level- Kryptographie versehen sind, dürfen nicht aus den USA ausgeführt werden. Deshalb werden Bounce- Attacken verwendet, um diese Einschränkungen von FTP-Sites in den USA zu umgehen. Tipp:
Tipp:
FTP beherbergt noch weitere, subtilere Probleme. Z.B. ist in wu-ftpd 2.4.2-beta-13 die Default-umask 002, so daß Dateien von jedem geschrieben werden können. Das kann zu ernsten Sicherheitsgefährdungen führen. Noch schlimmer ist aber, daß dieses Sicherheitsloch auch dann noch bestehen bleibt, wenn Sie die umask manuell ändern. Nur eine Änderung in der Datei inetd.conf schafft Abhilfe. Weitere Informationen finden Sie unter: http://www-jcr.lmh.ox.ac.uk/rootshell/hacking/wuftpd_umask.txt.
17.12 FTP AllgemeinBestimmte Versionen von FTP sind fehlerhaft oder können leicht falsch konfiguriert werden. Wenn Sie eine Version von wu_ftpd verwenden, die vor April 1993 herausgekommen ist (nicht gerade wahrscheinlich, aber möglich, wenn Sie eine ältere Ausrüstung gekauft haben), müssen Sie sie sofort updaten. Denn laut CERT-Advisory 93:06 (»Sicherheitslücke wuarchive ftpd«):
Soviel zu den älteren Versionen von wu_ftpd. Und nun zu den neueren: Am 4. Januar 1997 wurde ein Bug in Version 2.4 entdeckt (von Aleph1 und David Greenman). Das ist bedenklich, da Version 2.4 sehr verbreitet ist. Wenn Sie 2.4 momentan verwenden (und noch nichts von diesem Bug gehört haben), sollten Sie sich den Patch so bald wie möglich besorgen. Sie finden ihn unter: http://www.landfield.com/wu-ftpd/mail-archive/1996/Feb/0029.html Zur Auseinandersetzung mit der allgemeinen Sicherheit von FTP ist es das beste, sich das FTP-Protokoll einmal genauer anzusehen. Die FTP-Technologie hat sich seit ihrer Einführung stark verändert. Die eigentliche FTP-Spezifikation wurde ursprünglich im RFC 959 »File Transfer Protocol (FTP)« aufgestellt, und das ist über zehn Jahre her. Seitdem ist viel getan worden, um die Sicherheit dieser kritischen Anwendung zu verbessern. Das maßgebliche Dokument ist »FTP Security Extensions« von M. Horowitz (Cygnus Solutions) und S. J. Lunt (Bellcore). Dieser Internet-Draft wurde im November 1996 verfasst, und es heißt in der Zusammenfassung:
Tipp:
Das Dokument beginnt mit dem allgemein mit FTP verbundenen Problem - nämlich dass die Passwörter in Klartext übermittelt werden. Es beschreibt einige Fortschritte bei der Protokollsicherheit und ist ein guter Ausgangspunkt, um etwas über Sicherheit bei FTP zu lernen. Wenn Sie die folgenden Punkte beachten, können Sie Ihren FTP-Server besser absichern:
TFTP DienstDer beste Rat, den ich Ihnen zu TFTP geben kann, ist, es zu deaktivieren. TFTP ist ein selten genutztes Protokoll und birgt erhebliche Sicherheitsrisiken, selbst wenn Sie eine als sicher angesehene Version verwenden. Tipp:
In Kapitel 10, »Scanner«, habe ich TFTP und einen Scanner behandelt, der speziell zum Aufspüren von TFTP- Sicherheitslöchern entwickelt wurde (CONNECT). Da das Wissen um die Schwachstellen von TFTP weit verbreitet ist, verwenden die meisten Systemadministratoren es erst gar nicht. Tipp:
TFTPD zu deaktivieren ist einfach. Sie müssen es nur in inetd.conf auskommentieren, so dass es beim Booten nicht mehr geladen wird. TFTP wird hauptsächlich beim Booten von plattenlosen (diskless) Workstations verwendet, um dem bootenden Rechner Konfigurationsdaten oder auch auszuführende Programme zu übergeben. Auf jeden Fall sollten Sie die folgenden Hinweise beachten:
Gopher DienstGopher ist ein antiquiertes, aber schnelles und effizientes Protokoll. Wenn Sie es verwenden: Hut ab vor Ihnen! Ich bin ein großer Gopher-Fan. Gopher liefert mir Informationen sofort auf den Tisch, ohne die lästige Werbung, die einen im WWW überall nervt. Gopher hatte traditionell keine großen Sicherheitsprobleme, aber einige Punkte sind dennoch erwähnenswert. Der Gopher-Server der University of Minnesota ist wahrscheinlich der populärste Gopher-Server, der je geschrieben wurde (erhältlich unter boombox.micro.umn.edu ). Ich schätze, dass er heute noch auf über der Hälfte aller Gopher-Server läuft. Von diesen sind ca. 10 Prozent für einen alten Bug anfällig. Dieser Bug betrifft sowohl Gopher als auch Gopher+ in allen Versionen, die vor August 1993 erhältlich waren. Im CERT- Advisory CA-93:11, »UMN Unix Gopher und Gopher+ Sicherheitslücken«, heißt es:
Über dieses Sicherheitsloch wurde auch in einem Defense Data Network Bulletin (DDN Security Bulletin 9315, 9. August 1993) berichtet, das unter http://nic.mil/ftp/scc/sec- 9315.txt eingesehen werden kann. Gopher kann auch als Proxy für eine FTP-Sitzung dienen, so dass Sie eine Bounce- Attacke mit Gopher als Startrampe durchführen können. Dies ist ein Problem, das die Firewall- Sicherheit betrifft. Wenn z.B. Ihr FTP-Server hinter der Firewall liegt, aber Ihr Gopher-Server nicht, hat das Sperren des Zugangs zu dem FTP-Server in diesem Fall keinen Zweck. Schließlich ist noch anzumerken, dass Gopher in seinem Default-Zustand verglichen mit anderen Netzwerkdiensten sehr schwache Protokollierungsmöglichkeiten bietet.
NFS (Network File System)NFS sorgt für einige Sicherheitsprobleme. Exportierte Dateisysteme können ein Risiko darstellen oder nicht, je nachdem, wie sie exportiert werden. Dabei spielen Berechtigungen eine große Rolle. Wenn Sie befürchten müssen, dass Ihre Anwender ihre eigenen .rhosts- Dateien erzeugen (was Sie ausdrücklich untersagen sollten), ist das Exportieren von HOME- Verzeichnissen keine gute Idee, da diese Verzeichnisse natürlich Lese-/Schreibberechtigungen enthalten. Einige Tools können Ihnen helfen, den Prozess der Überprüfung (und Schließung) von NFS- Sicherheitslücken zu automatisieren. Eines davon ist NFSbug, geschrieben von Leendert van Doorn. NFSbug ist ein Scanner für allgemein bekannte NFS- Sicherheitslöcher. Bevor Sie mit Ihrem Sicherheits- Audit abschließen und Ihren Rechner für die Öffentlichkeit freigeben, empfehle ich Ihnen, Ihr System mit diesem Utility zu prüfen (bevor Cracker es tun). NFSbug finden Sie unter: ftp://ftp.cs.vu.nl/pub/leendert/nfsbug.shar Tipp:
Tipp:
NFS ist eine vielgenutzte Eingangstür für Cracker. In einem Defense Data Network Advisory von 1995 heißt es:
Tipp:
Ein weiteres Problem ist, dass Sie, selbst wenn Sie »verbesserte« oder »sichere« NFS verwenden (im wesentlichen NFS plus DES), immer noch nicht sicher sind. Der DES- Schlüssel wird von dem Benutzerpasswort abgeleitet, und dies ist ein offensichtliches Problem. Die Installation von Shadowing ist vielleicht ein Weg, einen Cracker daran zu hindern, an die passwd- Listen zu gelangen. Der einzige wirkliche Vorteil der um DES erweiterten Versionen besteht darin, dass die Routine die Uhrzeit aufzeichnet. Timestamp-Verfahren schließen die Möglichkeit aus, dass ein Cracker den Austausch abhören und später wiedergeben kann. Tipp:
Ich empfehle Ihnen, die folgenden Links zur NFS- Sicherheit aufzusuchen. Jede Site bietet eine andere Sicht des Problems und mögliche Lösungen oder wichtige Informationen über NFS- und RPC- Aufrufe:
HTTPHTTP hat vielfältige Sicherheitsprobleme. Einige wichtige Punkte sollen jedoch auch hier angesprochen werden. Zuerst einmal dürfen Sie httpd nie als Root laufen lassen. Wenn Sie es doch tun, werden Sie ein sehr unglücklicher Systemadministrator sein. Schwachstellen in CGI- Programmen ermöglichen entfernten Angreifern die Ausführung beliebigen Codes mit der UID des httpd- Servers. Wenn dieser Server als Root läuft, ist Ihr gesamtes System gefährdet. Sie könnten in Erwägung ziehen, httpd als einen chrooted- Prozess laufen zu lassen. Viele Ratgeber sind der Meinung, dass dies eine größere Sicherheit bietet. Tipp:
Es hängt viel davon ab, ob Sie Ihren Anwendern Zugriff auf den Web-Server und dessen Dienste (einschließlich CGI) gewähren oder nicht. Viele ISPs verweigern einen solchen Zugriff. Das typische Angebot ist 10 M Byte Speicherplatz mit FTP, aber ohne CGI. Die meisten ISPs stellen noch nicht einmal einen Shell-Zugang zur Verfügung. Ich persönlich würde damit nicht zurechtkommen. Wenn Sie solche Dienste anbieten, sollten Sie Richtlinien aufstellen. Ich kenne z.B. einen ISP, der CGI nur erlaubt, wenn seine Entwickler den Code prüfen können, bevor er ans Netz geht. Diese Methode hat Vor- und Nachteile. Der Vorteil ist, dass Sie jede Zeile Code zu sehen bekommen, die auf Ihren Server kommt. Der Nachteil ist, dass Sie jede Zeile Code zu sehen bekommen, die auf Ihren Server kommt. Wer möchte schon all den Code nach Sicherheitslöchern überprüfen? Die Lösung könnte sein, ein Programm wie CGIWRAP zu verwenden. CGIWRAP automatisiert den Prozess, indem es folgende Funktionen ausführt:
CGIWRAP wurde von Nathan Neulinger geschrieben und 1995 herausgegeben. Es ist an verschiedenen Stellen im Netz erhältlich. Ich habe gute Erfahrungen mit ftp://ftp.cc.umr.edu/pub/cgi/cgiwrap/ gemacht. CGIWRAP funktioniert nachgewiesenermaßen auf den folgenden Plattformen:
Leider kann CGIWRAP nicht alle Sicherheitsprobleme von HTTP beheben. Sie werden im einzelnen in Kapitel 26 näher erläutert, aber ein paar Punkte möchte ich hier schon ansprechen. Sie sollten wenigstens diese grundlegenden Vorkehrungen treffen:
Beachten Sie auch NCSAs Warnung in bezug auf DNS-basierte Authentifizierung:
HTTP-Sicherheit im allgemeinenBei der Sicherheit von HTTP hat sich besonders in den letzten zwei Jahren viel getan. Die größte Verbesserung war die Entwicklung von sicheren Protokollen. Von diesen Protokollen ist das Secure Sockets Layer Protocol das vielversprechendste.
Das Secure Sockets Layer ProtocolSecure Sockets Layer (SSL) wurde von Netscape Communications entwickelt. Das System verwendet RSA- und DES- Authentifizierung und zusätzlich dazu noch eine Überprüfung der MD5-Integrität. Um mehr über SSL zu erfahren, sollten Sie sich die Homepage von SSL ansehen. Das Dokument mit Namen »The SSL Protocol« (Internet-Draft) wurde von Alan O. Freier und Philip Karlton (Netscape Communications) zusammen mit Paul C. Kocher verfasst. Sie finden es unter: http://home.netscape.com/eng/ssl3/ssl-toc.html
Wie sicheren Sie das Dateisystem?Als nächstes sollten Sie, bevor Sie mit Ihrem Rechner ans Netz gehen (lokal oder weltweit), Ihr Dateisystem sichern. Sie werden diese Sicherheitskopie später verwenden, um die Datenintegrität zu prüfen, womit wir wieder bei TripWire wären.
TripWireTripWire ist ein Tool, das Integritätsprüfungen von Dateisystemen mit Hilfe kryptographischer Prüfsummen vornimmt. Mit TripWire können Sie jede Manipulation aufspüren, die vorgenommen worden ist. Sie können TripWire auch verwenden, um Ihre Festplatten nach Dateien zu durchforsten, die dort nichts verloren haben. Am Ende dieses Kapitels finden Sie eine umfassende Liste von Exploits. Für jeden Exploit gebe ich eine URL an, unter der Sie seinen Quellcode finden. Wenn Sie die Exploits herunterladen und kompilieren - und dann MD5-Werte für jeden erzeugen - können Sie diese Werte in Ihre wöchentliche oder monatliche Festplattenanalyse miteinbeziehen. Da ich TripWire in vorangegangenen Kapiteln bereits behandelt habe, möchte ich hier nicht näher darauf eingehen. Ich habe bereits darauf hingewiesen, wo Sie das Tool finden können. An dieser Stelle möchte ich Ihnen empfehlen, sich die folgenden Dokumente zu besorgen:
X-WindowDas X-Window- System ist ein weiterer Punkt, der Sie eventuell betreffen könnte. Wenn Ihr Rechner ein Web-Server ist, besteht überhaupt kein Grund dafür, X-Window zu installieren. Wenn Sie X-Window jedoch einsetzen, gibt es einige wichtige Dinge zu beachten. Die Hauptschwachstelle von X-Window - das xhost- Sicherheitsloch - lässt sich leicht beheben. Wenn ein X-Server keine Zugriffskontrolle aktiviert hat, kann jeder von überall her im Internet ein zusätzliches X-Window öffnen und beliebige Programme starten. Als generelle Lösung können Sie dieses Loch schließen, indem Sie den xhost- Eintrag von Xsession von xhost + in xhost - ändern. Wenn Sie ein Unix-Neuling sind, denken Sie vielleicht, dass X nur eine weitere grafische Oberfläche ist, aber es steckt sehr viel mehr dahinter. G. Winfield Treese und Alec Wolman schrieben in »X Through the Firewall and Other Application Relays«:
X-Window ist keine grafische Benutzeroberfläche, auch wenn es so aussehen mag. Verbindungen werden an den X-Server gesendet. Der X-Server kann jeden gültigen X-Client bedienen, egal, ob dieser sich auf demselben Rechner befindet oder Kilometer entfernt ist. John Fisher schreibt in seinem Artikel »Securing X Windows«:
X-Window ist deshalb genau wie alle anderen Protokolle unter Unix. Es arbeitet nach dem Client-Server-Modell und stellt Zugang über das Internet und zu einer Vielzahl von Systemen und Architekturen zur Verfügung. Wenn eine gültige Verbindung gestartet wird, ist alles möglich (wie in der X11R5-Xserver-ManPage beschrieben):
Sobald eine Verbindung steht, kann der Angreifer Fenster zerstören, neue Fenster erzeugen, Tastatureingaben und Passwörter abhören und wirklich jede mögliche Aktivität in der X- Umgebung ausführen. Die X-Authentifizierung basiert auf einem sogenannten Magic Cookie. Das ist ein 128-Bit- Wert, der durch eine Pseudo-Zufallsauswahl erzeugt wird. Er wird an die Clients verteilt und in der Datei .Xauthority gespeichert. Dieses Authentifizierungsschema kann theoretisch überwunden werden. Es wird aus folgendem Grund als schwach angesehen:
Tipp:
Wenn Sie die Zugriffskontrolle aktivieren, besteht zwar wenig Gefahr, dass ein Eindringling an Ihre .Xauthority- Datei gelangen kann. Dennoch sollten Sie sich nicht auf die einfache Zugriffskontrolle verlassen. Man hat sich bemüht, die X-Sicherheit zu verbessern, und es gibt keinen Grund, warum Sie nicht von diesen Bemühungen profitieren sollten. Sie sollten schon deshalb zusätzliche Sicherheitsmaßnahmen ergreifen, weil sich in der Vergangenheit gezeigt hat, dass die grundlegenden X-Sicherheitsschemata fehlerhaft sind. So steht im CERT- Bulletin »X Authentication Vulnerability«:
Außerdem automatisieren viele verfügbare Programme (wie xkey, xscan, xspy und watchwin) die Aufgabe entweder des Knackens des X-Servers oder des Ausnutzens des Servers, sobald er geknackt wurde. Experten raten zur Verwendung einer Kerberos-basierten Xlib oder des in RFC 1413 definierten Authentifizierungsprotokolls. Ihre Wahl hängt natürlich von Ihrer speziellen Netzwerkkonfiguration ab. Hier sind einige grundlegende Tipps zur X-Sicherheit:
Checklisten und LeitfädenBevor Sie mit der Planung Ihres Netzwerks beginnen, sollten Sie sich einige der im folgenden aufgeführten Dokumente besorgen. Sie sind eine gute Hilfe zum besseren Verständnis der Struktur eines Netzwerks, und Sie lernen, wie Sie gute Sicherheitsvorkehrungen implementieren können.
Exploits für Unix (allgemein)Der nächste Abschnitt enthält eine umfangreiche Sammlung von Angriffen und Sicherheitslöchern bei Unix. Um den größten Nutzen aus dieser Liste zu ziehen, sollten Sie folgendermaßen vorgehen: 1. Laden Sie die Liste in eine Textdatei. 2. Extrahieren Sie die URLs. 3. Schreiben Sie ein Script, um die einzelnen Dateien zu bekommen. 4. Kompilieren Sie jede Datei und berechnen Sie ihren MD5-Wert. 5. Scannen Sie Ihr Netzwerk nach den resultierenden Signaturen ab. Wenn unter Ihren Anwendern ein Cracker ist, werden Sie ihn möglicherweise finden. abuse.txtZweck: Red Hat Linux hat ein Sicherheitsloch im Spiel Abuse. Diese Datei beschreibt, wie man dieses Loch ausnutzen kann. URL: http://main.succeed.net/~kill9/hack/os/linux/linabuse.txt aix_dtterm.cZweck: Öffnet eine Root-Shell durch Ausnutzung eines Puffer-Überlaufs in dtterm. URL: http://esperosun.chungnam.ac.kr/~jmkim/hacking/1997/07&before/aix_dtterm.c AIX_host.cZweck: Öffnet eine Root-Shell in AIX durch Ausnutzung eines Puffer-Überlaufs in gethostbyname. URL: http://www.asmodeus.com/archive/Aix/AIX_HOST.C AIX_mount.cZweck: Nutzt einen Puffer-Überlauf in mount bei AIX 4.x aus. URL: http://samarac.hfactorx.org/Exploits/AIX_mount.c aix_ping.cZweck: Erlaubt Root-Zugriff auf AIX durch Ausnutzung eines Puffer-Überlaufs in gethostbyname. URL: http://www.society-of-shadows.com/security/aix_ping.c aix_xlock.cZweck: Erlaubt Root-Zugriff auf AIX durch Ausnutzung eines Puffer-Überlaufs in xlock. URL: http://www.society-of-shadows.com/security/aix_xlock.c amod.tar.gzZweck: Ermöglicht Crackern, beliebigen Code in SunOS-Kernel zu laden. URL: http://www.sabotage.org/rootshell/hacking/amod.tar.gz arnudp.cZweck: UDP-Spoofing-Utility. URL: http://www.asmodeus.com/archive/IP_toolz/ARNUDP.C ascend.txtZweck: Attackiert Ascend-Router von einem Linux- Rechner aus. URL: http://www2.fwi.com/~rook/exploits/ascend.txt asppp.txtZweck: SolarisX86-Exploit, der zu für jeden schreibbaren .rhosts- Dateien führt. URL: http://www.unitedcouncil.org/c/asppp.txt autoreply.txtZweck: Modifizierte .rhosts- Dateien können zur Root- Berechtigung führen. (Die Ursache ist ein Sicherheitsloch in der elm-mail- Distribution.) URL: http://samarac.hfactorx.org/Exploits/autoreply.txt bdexp.cZweck: Nutzt einen Puffer-Überlauf in einem Spiel (bdash) unter Linux aus. URL: http://oliver.efri.hr/~crv/security/bugs/Linux/bdash.html bind.txtZweck: Anleitung für eine DoS- Attacke gegen Bind. URL: http://www.asmodeus.com/archive/SunOS/BIND.TXT block.cZweck: Denial-of-Service durch Aufhebung der Benutzer- ttys. URL: http://www.plato-net.or.jp/usr/vladimir/ugtxt/unix/OddsEnds.txt breaksk.txtZweck: Wordlist-Attacke gegen Netscape-Server. URL: http://www.society-of-shadows.com/security/breaksk.txt brute_web.cZweck: Dies ist eine Gewaltattacke auf Web-Server. Das Programm sendet in schneller Abfolge Benutzernamen und Paßwörter aus. URL: http://www2.fwi.com/~rook/exploits/brute_web.c cfexec.shZweck: Attackiert GNU-cfingerd und führt beliebige Befehle aus. URL: http://www2.fwi.com/~rook/exploits/cfexec.sh cloak.cZweck: Cracker beseitigen ihre Spuren mit diesem Utility, indem sie ihre Aktivitäten aus den System-Logs entfernen. URL: http://www2.fwi.com/~rook/exploits/cloak.c color_xterm.cZweck: Mit diesem Programm erhält man Root- Zugang in Linux durch Ausnutzen eines Puffer-Überlaufs in dem Color-Xterm- Paket. URL: http://ryanspc.com/exploits/color_xterm.c convfontExploit.shZweck: Erlaubt Root- Zugriff durch Ausnutzen der Prozeß- ID von convfont. (Funktioniert nur mit Linux.) URL: http://www.space4less.com/usr/teknopia/security/convfontExploit.sh cxterm.cZweck: Erlaubt Root- Zugriff durch Ausnutzen eines Puffer-Überlaufs in cxterm auf Linux- Systemen. URL: http://ryanspc.com/exploits/cxterm.c dec_osf1.shZweck: Nutzt eine Schwachstelle in top unter DEC Unix aus. (Führt zu Root- Zugang.) URL: http://www.asmodeus.com/archive/DEC/DEC_OSF1.SH demonKit-1.0.tar.gzZweck: Trojanisches Pferd zum Eindringen in Linux-Systeme durch eine Hintertür. URL: http://www.net-security.sk/unix/rootkit/demonKit-1.0.tar.gz dgux_fingerd.txtZweck: Anleitung zum Angreifen von finger auf Digital Unix. URL: http://www.unitedcouncil.org/c/dgux_fingerd.txt dipExploit.cZweck: Dieser Code nutzt dip aus, ein Einwähl-Utility unter Linux. URL: http://www2.fwi.com/~rook/exploits/dipExploit.c doomsnd.txtZweck: Ergibt Root- Zugriff auf Linux durch Ausnutzen einer Lücke in Dooms sndserver- Paket. URL: http://www.asmodeus.com/archive/Xnix/DOOMSND.TXT dosemu.txtZweck: Auf Debian Linux kann das DOS-Emulationspaket verwendet werden, um Dateien zu lesen, die Root gehören. URL: http://pcisys.net/~bpc/work/dosemu.txt dumpExploit.txtZweck: Beschreibung eines Sicherheitslochs in Red Hat 2.1-4.1 /sbin/dump. (Es ist in suid- root installiert und ermöglicht lokalen Benutzern das Lesen aller Dateien.) URL: http://www.unitedcouncil.org/c/dumpExploit.txt eject.cZweck: Exploit für Puffer-Überlauf in dem Programm eject auf Solaris 2.4. URL: http://www.asmodeus.com/archive/slowaris/EJECT.C elm_exploit.cZweck: Nutzt einen Puffer-Überlauf in elm unter Linux aus. URL: http://www.chaostic.com/filez/exploites/elm_exploit.c eviltelnetdZweck: Trojanisches Pferd für den Telnet- Daemon, das eine Root-Shell ermöglicht. URL: http://samarac.hfactorx.org/Exploits/telnetd-hacked.tgz expect_bug.txtZweck: Erläutert eine Schwachstelle in Expect, einer beliebten Programmiersprache zur Automatisierung von Terminal-Sitzungen. URL: http://www.society-of-shadows.com/security/expect_bug.txt fdformat-ex.cZweck: Erlaubt Root- Zugriff auf Solaris 2.x durch Ausnutzen des Utilitys zur Disketten- Formatierung. URL: http://www.asmodeus.com/archive/slowaris/FDFORMAT-EX.C ffbconfig-ex.cZweck: Nutzt einen Puffer-Überlauf in dem FFB Graphics Accelerator aus und erzielt Root- Zugriff. URL: http://www.asmodeus.com/archive/slowaris/FFBCONFIG-EX.C finger_attack.txtZweck: Beschreibung einer Denial-of-Service-Attacke durch Bombardieren von fingerd. URL: http://www.sabotage.org/rootshell/hacking/finger_attack.txt FreeBSDmail.txtZweck: Exploit zum Angriff von sendmail auf Rechnern mit FreeBSD 2.1.x. URL: http://www-jcr.lmh.ox.ac.uk/rootshell/hacking/FreeBSDmail.txt FreeBSD-ppp.cZweck: Erlaubt Root- Zugriff auf FreeBSD durch Ausnutzen eines Puffer-Überlaufs in pppd. URL: http://www.rasputin.net/~itamae/outernet/filez/FreeBSD-ppp.c ftpBounceAttackZweck: Die beliebte FTP-Bounce- Attacke. URL: http://www-jcr.lmh.ox.ac.uk/rootshell/hacking/ftpBounceAttack ftp-scan.cZweck: Nutzt FTP als Startrampe zu Scan- Diensten, die hinter Firewalls liegen. URL: http://www.society-of-shadows.com/security/ftp-scan.c getethers1.6.tgzZweck: Scannt Netzwerke und erhält Hostnamen und Hardware-Adressen aller Hosts in einem LAN. URL: http://www.rootshell.com/archive-ld8dkslxlxja/199707/getethers1.6.tar.gz glimpse_http.txtZweck: Nutzt ein Sicherheitsloch im Suchtool Glimpse aus und führt auf dem Zielrechner beliebige Befehle aus. URL: http://www.unitedcouncil.org/c/glimpse_http.txt gpm-exploit.txtZweck: Nutzt ein Sicherheitsloch in Linux' Mausunterstützung aus, um Root- Rechte zu erlangen. URL: http://www.asmodeus.com/archive/linux/GPM-EXPLOIT.TXT h_rpcinfo.tar.gzZweck: Stiehlt Speicherauszüge von RPC- Diensten von einem entfernten Host. URL: http://www.jammed.com/~jwa/Security/h_rpcinfo.tar.gz hide.cZweck: Erlaubt unautorisiert Lese- und Schreibberechtigung für /etc/utmp. URL: http://irdu.nus.sg/security/softwares/hide.c hpjetadmin.txtZweck: Erläuterung eines Exploits in hpjetadmin, der zu Root- Berechtigung führt. URL: http://www-jcr.lmh.ox.ac.uk/rootshell/hacking/hpjetadmin.txt identd_attack.txtZweck: Denial-of-Service- Attacke durch Bombardieren von identd. URL: http://www2.fwi.com/~rook/exploits/identd_attack.txt ident-scan.cZweck: Erhält UID und Namen von Daemonen, die auf entfernten Hosts laufen. URL: http://users.dhp.com/~fyodor/nmap/scanners/ident-scan.c iebugs.tar.gzZweck: HTML-Distribution von sechs Internet-Explorer-Bugs. URL: http://users.dhp.com/~fyodor/sploits/internet_explorer_bug_collection.html imapd_exploit.cZweck: Nutzt ein Sicherheitsloch in Red Hat Linux aus, das es entfernten Angreifern ermöglicht, über imapd Root- Zugang zu erhalten. URL: http://mayor.dia.fi.upm.es/~alopez/bugs/bugtraq2/0263.html innd_exploit.cZweck: Erzielt eine Shell durch Ausnutzen eines Puffer-Überlaufs in innd auf bestimmten Linux- Systemen. URL: http://www.unitedcouncil.org/c/innd_exploit.c ipbomb.cZweck: Wirft einen Host aus dem Netz, indem es ihn mit einer Vielzahl von Paketen bombardiert (von denen einige sehr groß sind). URL: http://www.truelink.net/user/mtoole/Linux/ipbomb.c IPInvestigator.tgzZweck: Sniffer (neu). URL: http://www2.fwi.com/~rook/exploits/IPInvestigator.tgz ipspoof.cZweck: Spoofing- Code für Linux (wobei Linux die Kompilierungsplattform ist). URL: http://www.rat.pp.se/hotel/panik/archive/ipspoof.c IP-spoof.txtZweck: Ausgezeichneter kleiner Leitfaden zum Spoofing (Code und Beispiele für Linux.) URL: http://www.unitedcouncil.org/c/IP-spoof.txt irix-buffer.txtZweck: Eine Sammlung von Pufferüberlauf- Exploits für IRIX. URL: http://sunshine.sunshine.ro/FUN/New/hacking/irix-buffer.txt irix-csetup.txtZweck: Kurze Beschreibung des Exploits von csetup in IRIX. URL: http://www-jcr.lmh.ox.ac.uk/rootshell/hacking/irix-csetup.txt irix-dataman.txtZweck: Exploit für dataman auf IRIX- Systemen, der es Angreifern ermöglicht, unautorisiert Shell-Befehle auf dem Zielsystem auszuführen. URL: http://www.asmodeus.com/archive/Irix/IRIX-DATAMAN.TXT irix-df.cZweck: Exploit zum Öffnen einer Root-Shell auf IRIX mit Hilfe von df. URL: http://samarac.hfactorx.org/Exploits/irix-df.c irix-fsdump.txtZweck: Ergibt Root- Zugriff auf IRIX über einen Puffer-Überlauf in fsdump. URL: http://www.sabotage.org/rootshell/hacking/irix-fsdump.txt irix-iwsh.cZweck: Nutzt einen Puffer-Überlauf in iwsh (auf IRIX) aus, um Root- Rechte zu erhalten. URL: http://www.unitedcouncil.org/c/irix-iwsh.c irix-login.cZweck: Erlaubt Root- Zugriff durch Ausnutzung eines Puffer-Überlaufs in login auf IRIX. URL: http://www.chaostic.com/filez/exploites/irix-login.c irix-login.txtZweck: IRIX-login ermöglicht Ihnen die Erzeugung beliebiger Dateien durch Angabe von Pfaden, Verzeichnisnamen und Dateinamen anstelle von Login- Namen. Dieser Text erläutert, wie man dieses Sicherheitsloch ausnutzen kann. URL: http://www.chaostic.com/filez/exploites/irix-login.txt irixmail.shZweck: Erlaubt Root- Zugriff durch Ausnutzen eines Sicherheitslochs in mail auf IRIX. URL: http://www.asmodeus.com/archive/Irix/IRIXMAIL.SH irix-xhost.txtZweck: Bei frisch installierten IRIX- Versionen kann jeder auf den X-Server zugreifen. Dieser Text beschreibt dieses Problem. URL: http://www.unitedcouncil.org/c/irix-xhost.txt irix-xlock.cZweck: Erlaubt Root- Zugriff durch Ausnutzen eines Puffer-Überlaufs in xlock unter IRIX. URL: http://www.unitedcouncil.org/c/irix-xlock.c irix-xterm.cZweck: Erlaubt Root- Zugriff durch Ausnutzen eines Puffer-Überlaufs in xterm unter IRIX. URL: http://www.sabotage.org/rootshell/hacking/irix-xterm.c jakal.cZweck: Scannt hinter Firewalls durch Aussenden halboffener Verbindungsanforderungen. URL: http://pages.ripco.com:8080/~flyght/old/jakal.zip jizz.cZweck: DNS- Spoofing- Utility (automatisiert Cache- Spoofing). URL: http://dewmed.ml.org/online/jizz.c jolt.cZweck: Wirft Windows-95-Rechner durch Aussenden sehr großer, fragmentierter Pakete aus dem Netz. Führt manchmal auch zum Reboot oder schlichten stehenbleiben des Windows- 95-Rechners. URL: http://www.tomco.net/~nomad/files/mine/jolt.c kcms.txtZweck: Ergibt durch einen Exploit Root- Berechtigung auf Solaris. URL: http://www.sabotage.org/rootshell/hacking/ksolaris.txt kill_inetd.cZweck: Denial-of-Service- Attacke durch Bombardieren von inet.d (für Linux geschrieben). URL: http://www2.fwi.com/~rook/exploits/kill_inetd.c kmemthief.cZweck: Exploit zum Erlangen von Root- Rechten auf Systemen, wo kmem für die ganze Welt lesbar ist. URL: http://www2.fwi.com/~rook/exploits/kmemthief.c ld.so.cZweck: Durch Ausführen einer dynamisch gelinkten setuid-Binary kann ein Benutzer einen Fehler des Laufzeit-Linkers (ld.so) erzwingen und schließlich beliebige Root- Befehle ausführen. (ELF ld-linux.so ist ebenfalls verwundbar.) URL: http://smash.gatech.edu/archives/ale/9707/0138.html lemon25.cZweck: Erlaubt Root-Zugriff auf Solaris durch Ausnutzen eines Puffer-Überlaufs in passwd. URL: http://www.geek-girl.com/bugtraq/1997_1/0211.html lilo-exploit.txtZweck: Erlaubt Root- Zugriff auf Linux durch Ausnutzen eines Sicherheitslochs im Laufzeit-Linker. (Erfordert eine geknackte libc.so.5, verfügbar unter http://www.rootshell.com// .) URL: http://www.asmodeus.com/archive/linux/LILO-EXPLOIT.TXT lin_probe.cZweck: Erlaubt Root- Zugriff durch Ausnutzen eines Puffer-Überlaufs in SuperProbe unter Linux. URL: http://www.unitedcouncil.org/c/lin_probe.c lin-pkgtool.txtZweck: Das Linux-Software- Installationstool pkgtool schreibt seine Log-Dateien mit den Rechten 666, so daß lokale Benutzer Schreibzugriff haben. Das kann es Angreifern ermöglichen, eine neue .rhosts- Datei zu schreiben (und schließlich Root-Rechte zu erlangen.) URL: http://www.society-of-shadows.com/security/lin-pkgtool.txt linux_httpd.cZweck: NCSA auf Linux- Systemen hat einen Bug. Entfernte Angreifer können eine Remote-Shell erlangen, indem sie dieses Utility verwenden. (Das ist ein ziemlich schwerwiegender Fehler.) URL: http://www2.fwi.com/~rook/exploits/linux_httpd.c linux_lpr.cZweck: Erlaubt Root- Zugriff über lpr, das einen Puffer-Überlauf hat. URL: http://www.unitedcouncil.org/c/linux_lpr.c linux_rcp.txtZweck: Der Benutzer nobody kann Root- Privilegien erhalten. (Passen Sie auf Ihren HTTP- Server auf.) URL: http://www.sabotage.org/rootshell/hacking/linux_rcp.txt locktcp.cZweck: Killt entfernte Solaris-X86-2.5x-Hosts. URL: http://www.geek-girl.com/bugtraq/1996_4/0338.html logarp.tar.gzZweck: Findet Rechner anhand der Hardware-Adresse der Netzkarte, die eine falsche IP- Adresse haben. URL: http://www.jammed.com/~jwa/Security/logarp.tar.gz lquerylv.cZweck: Öffnet eine Root-Shell durch Überschreiben eines Puffers in /usr/sbin/lquerylv (nur für AIX). URL: http://samarac.hfactorx.org/Exploits/lquerylv.c lquerypv.txtZweck: Lokale Benutzer können alle Dateien (einschließlich der Passwort- Dateien) lesen, indem sie lquerypv auf AIX verwenden. Folgender Text zeigt wie: URL: http://samarac.hfactorx.org/Exploits/lquerypv.txt minicom.cZweck: Nutzt einen Puffer-Überlauf im beliebten Linux-Terminalprogramm Minicom aus. URL: http://linuxwww.db.erau.edu/mail_archives/server-linux/Sep_97/0451.html mod_ldt.cZweck: Speicher-Exploit für Linux. Diese Attacke erzielt Root-Rechte. URL: http://www.society-of-shadows.com/security/mod_ldt.c mount-ex.cZweck: Linux' mount hat einen Puffer-Überlauf: Dieser Code automatisiert den Exploit. URL: http://www.asmodeus.com/archive/linux/MOUNT-EX.C nfsbug.cZweck: Nutzt einen Bug in unfsd 2.0 und älteren Versionen. (Errät ein Datei-Handle.) URL: http://www.klaphek.nl/files/nfsbug_hpux.patch octopus.cZweck: Killt einen entfernten Host durch Aussenden Tausender Verbindungsanforderungen (für Linux). URL: http://www.tomco.net/~nomad/files/dos/octopus.c oracle.txtZweck: Denial-of-Service- Attacke gegen Oracle-Web-Server. URL: http://www-jcr.lmh.ox.ac.uk/rootshell/hacking/oracle.txt pepsi.cZweck: Tool für UDP- Flooding und Denial-of-Service- Attacken (Linux als Kompilierungsplattform). URL: http://www.society-of-shadows.com/security/pepsi.c perl-ex.shZweck: Root-Exploit für SUIPERL. URL: http://www.asmodeus.com/archive/Xnix/PINE_EXPLOIT.SH phf.cZweck: Scannt nach Hosts, die durch das PHF- Sicherheitsloch verwundbar sind. URL: http://www.asmodeus.com/archive/web_java/PHF.C phobia.tgzZweck: Noch ein Scanner. Sucht nach einer Vielzahl von Sicherheitslöchern. URL: http://www.sabotage.org/rootshell/hacking/phobia.tgz pine_exploit.shZweck: Nutzt eine Schwachstelle im Mail-Client pine aus. (Erzeugt falsche .rhosts- Dateien.) URL: http://www.unitedcouncil.org/c/pine_exploit.sh pingexploit.cZweck: Sendet riesige ping- Pakete von einem Unix-Rechner aus. (DoS-Tool.) URL: http://pxpx.com/underground/dwm/windoze/pingexploit.c pingflood.cZweck: Das beliebte DoS-Tool überschwemmt einen Host mit ping- Paketen. (Nur fünf Zeilen Code.) URL: http://samarac.hfactorx.org/Exploits/pingflood.c pmcrash.cZweck: Wirft einen Livingston-Portmaster- Router aus dem Netz. (Pufferüberlauf-Programm.) URL: http://www.sec.de/sven/pmcrash.c pop3.cZweck: Gewaltattacke gegen POP3-Server. URL: http://www.asmodeus.com/archive/Xnix/POP3.C portscan.cZweck: Noch ein Port-Scanner. Identifiziert auf einem entfernten Host laufende Dienste. Klein, leicht, schnell. URL: http://www.asmodeus.com/archive/IP_toolz/PORTSCAN.C psrace.cZweck: Nutzt eine Race-Condition in Solaris aus und erzielt Root- Rechte. URL: ftp://ftp.enslaver.com/pub/exploits/solaris/sun-psrace.c.asc puke.cZweck: Spoofing eines ICMP Destination/Port Unreachable, wodurch eine bestehende IP- Verbindung unterbrochen wird (Denial-of-Service). URL: http://www.mesopust.com/jogurt/puke.c qmail_exploit.cZweck: Killt ein Qmail-System durch Bombardieren. URL: http://www2.fwi.com/~rook/exploits/qmail_exploit.c rdist-ex.cZweck: Erzielt eine Root-Shell unter FreeBSD. URL: http://www.society-of-shadows.com/security/rdist-ex.c reflscan.cZweck: Scannen Sie mit diesem Utility hinter Firewalls; es öffnet nur halboffene Verbindungen und verhindert dadurch eine Protokollierung, wenn SYN-Pakete nicht explizit durch einen Daemon geloggt werden. URL: http://lhq.com/~tont0/reflscan.c resolv+.expZweck: Liest die Shadow- Passwortdatei. URL: http://www-jcr.lmh.ox.ac.uk/rootshell/hacking/resolv+.exp rexecscan.txtZweck: Umgekehrter Scan, bei dem ein Server eine rsh des Clients benutzend gescannt wird. Interessantes Tool, das die normalen Authentifizierungsprozeduren in rsh und rshd umgeht. Gute Dokumentation. URL: http://www2.fwi.com/~rook/exploits/rexecscan.txt rlogin_exploit.cZweck: Öffnet eine Root-Shell auf Solaris 2.5.x durch Puffer-Überlauf von gethostbyname. URL: http://www.netcraft.com/security/lists/gethostbyname.txt rpc_chk.shZweck: Scanner-Shellscript, das Listen vielversprechender Hosts durch Abfrage von Name- Servern erzeugt. URL: http://irdu.nus.sg/security/softwares/rpc_chk.sh rsucker.plZweck: Stiehlt Benutzernamen von r-Clients. URL: http://www.unitedcouncil.org/c/rsucker.pl rxvtExploit.txtZweck: Erzielt eine Root-Shell durch Ausnutzen eines falschen popen()- Aufrufs in RXVT. URL: http://www.unitedcouncil.org/c/rxvtExploit.txt screen.txtZweck: Screen auf BSDI hat eine Sicherheitslücke, die es Benutzern ermöglicht, Passwortdateien zu lesen. URL: http://www.sabotage.org/rootshell/hacking/screen.txt sdtcm_convert.txtZweck: Tutorial zum Erlangen von Root- Rechten durch Ausnutzen von sdtcm_convert auf Solaris. URL: http://www.asmodeus.com/archive/slowaris/SDTCM_CONVERT.TXT secure_shell.txtZweck: Normale Benutzer können sich mit privilegierten Ports verbinden und diese umleiten. URL: http://www-jcr.lmh.ox.ac.uk/rootshell/hacking/secure_shell.txt sendmail-ex.shZweck: Erlaubt Root- Zugriff auf Linux über sendmail 8.7-8.8.x. URL: http://ryanspc.com/sendmail/sendmail-ex.sh seq_number.cZweck: Errät TCP- Sequenznummern. URL: http://irdu.nus.sg/security/softwares/seq_number.c sgi_html.txtZweck: Angreifer können Remote- Code auf SGI -Zielsystemen ausführen. URL: http://www-jcr.lmh.ox.ac.uk/rootshell/hacking/sgi_html.txt sgi_systour.txtZweck: Erlaubt Root- Zugriff durch Ausnutzen eines Sicherheitslochs in der Standardinstallation des systour- Pakets auf IRIX 5.3 und 6.2. URL: http://esperosun.chungnam.ac.kr/~jmkim/hacking/1997/07&before/sgi_systour.txt slammerZweck: Verwendet yp-Daemonen, um Befehle auf entfernten Hosts auszuführen. URL: http://www.sabotage.org/rootshell/hacking/slammer.tar.gz sol_mailx.txtZweck: Exploit für ein Sicherheitsloch in mailx auf Solaris. URL: http://www.asmodeus.com/archive/slowaris/SOL_MAILX.TXT sol2.5_nis.txtZweck: /usr/lib/nis/nispopulate schreibt Dateien mit Mode 777. Damit könnte ein Benutzer auf alle Dateien schreiben. URL: http://www-jcr.lmh.ox.ac.uk/rootshell/hacking/sol2.5_nis.txt SolAdmtool.txtZweck: Exploit zur Verwendung von Admintool (nur Solaris), um unautorisiert .rhosts- Dateien zu schreiben. URL: http://www.sabotage.org/rootshell/hacking/SolAdmtool.txt solaris_lp.shZweck: Exploit, der lp verwendet, um Root- Rechte auf Solaris zu erzielen. URL: http://samarac.hfactorx.org/Exploits/solaris_lp.sh solaris_ping.txtZweck: Killt ein Solaris-2.x-System. URL: http://www-jcr.lmh.ox.ac.uk/rootshell/hacking/solaris_ping.txt solaris_ps.txtZweck: Erlaubt Root- Zugriff durch Ausnutzen einer Sicherheitslücke in ps. URL: http://www.sabotage.org/rootshell/hacking/solaris_ps.txt solaris_telnet.cZweck: Killt ein entferntes Solaris-System. URL: http://www.unitedcouncil.org/c/solaris_telnet.c sol-license.txtZweck: Der Solaris License Manager hat einen Bug, der zu Root- Rechten führt. Der Text in dieser Datei erklärt, wie das geht. URL: http://www-jcr.lmh.ox.ac.uk/rootshell/hacking/sol-license.txt sperl.tgzZweck: Nutzt einen Puffer-Überlauf in sperl aus. (Das führt zu Root- Zugriff.) URL: http://www2.fwi.com/~rook/exploits/sperl.tgz splitvt.cZweck: Puffer-Überlauf in usr/bin/splitvt auf Linux führt zu Root- Berechtigung. URL: ftp://ftp.enslaver.com/pub/exploits/linux/linux-splitvt.c.asc startmidi.txtZweck: Startmidi auf IRIX ist suid-root installiert. URL: http://www.sabotage.org/rootshell/hacking/startmidi.txt sunos-ovf.tar.gzZweck: Testet SunOS-4.1.x-Binaries auf Puffer-Überläufe. URL: http://users.dhp.com/~fyodor/sploits/sunos.xterm.resource_manager.overflow.html sushiPing.cZweck: Erlaubt Root- Zugriff auf SunOS 4.1.x URL: http://www.unitedcouncil.org/c/sushiPing.c synk4.cZweck: SYN-Flooding- Programm mit per Zufallsgenerator erzeugten IP- Absenderadressen. URL: http://www.rat.pp.se/hotel/panik/archive/synk4.c SYNpacket.tgzZweck: Denial-of-Service-Tool. URL: http://www2.fwi.com/~rook/exploits/SYNpacket.tgz syslogFogger.cZweck: Gibt Angreifern Zugriff auf Log-Dateien. URL: http://samarac.hfactorx.org/Exploits/syslogFogger.c talkd.txtZweck: Ermöglicht Root- Zugriff durch einen Puffer-Überlauf in talkd. URL: http://www.asmodeus.com/archive/IP_toolz/TALKD.TXT tcpprobe.cZweck: Port-Scanner; findet aktivierte Ports auf dem Zielsystem. URL: http://www.zerawarez.com/main/files/csource/tcpprobe.c telnetd_ex.tar.gzZweck: Umgebungsvariablen können über eine Telnet-Sitzung übermittelt werden. Die folgende Datei enthält Exploit- Code für diese Attacke (SunOS und Linux). URL: http://users.dhp.com/~fyodor/sploits/telnetd.LD_PRELOAD.enviropassing.html tlnthide.cZweck: Verbirgt Telnet-Sitzungen, so dass der Angreifer schwerer aufzuspüren und zu verfolgen ist. URL: http://esperosun.chungnam.ac.kr/~jmkim/hacking/1997/07&before/tlnthide.c ttysurf.cZweck: Spioniert Login- Namen und Passwörter von tty- Sitzungen aus. URL: http://www.deter.com/unix/software/ttysurf.c udpscan.cZweck: Scannt Zielsysteme nach offenen UDP-Ports ab. URL: http://kropf.raex.com/warez/proggies/Unix/udpscan.c utclean.cZweck: Verwischt die Spuren eines Crackers durch Löschen seiner Anwesenheit aus den Log-Dateien. URL: http://www.kki.net.pl/shmasta/clean/utclean.c vixie.cZweck: Überschreibt einen Puffer in crontab auf Linux- Systemen (führt zu Root- Zugriff). URL: http://www.space4less.com/usr/teknopia/security/vixie.c web_sniff.cZweck: Fängt Benutzernamen und Passwörter ab, die über die Basis-HTTP- Authentifizierung gesendet werden (mit htpasswd- Passwortschutz). URL: http://www.unitedcouncil.org/c/web_sniff.c wipehd.asmZweck: Entfernt die ersten 10 Sektoren einer Festplatte. URL: http://www-jcr.lmh.ox.ac.uk/rootshell/hacking/wipehd.asm wuftpd_umask.txtZweck: Die Voreinstellung von umask für wu-ftpd 2.4.2-beta-13 ist 002, wodurch Dateien für jeden schreibbar sind. URL: http://www-jcr.lmh.ox.ac.uk/rootshell/hacking/wuftpd_umask.txt Xfree86 ExploitZweck: 3.1.2-Server werden suid root installiert. Dieses Dokument beschreibt, wie man das ausnutzen kann. URL: http://www.madness.org/hack/hacking/xfree86-ex.txt xkey.cZweck: Ausspionieren von X-Sitzungen. URL: http://www.paranoia.com/~ice9/xkey.html xsnoop.cZweck: Ausspionieren von X-Sitzungen (ähnlich wie XKEY). URL: http://www.society-of-shadows.com/security/xsnoop.c ypsnarf.cZweck: Automatisiert die Ausnutzung von Sicherheitslücken in yp und NIS (yellow pages). URL: http://www.plato-net.or.jp/usr/vladimir/ugtxt/unix/ypsnarf.c
InfoquellenIm folgenden sind einige Publikationen und Webseiten aufgeführt, die wertvolle Informationen zur Unix-Sicherheit enthalten. Online-PublikationenCOAST Watch Newsletter. Veraltete, aber dennoch interessante Publikation, die sich auf das Thema Internet-Sicherheit konzentriert. http://www.cs.purdue.edu/coast/coast-news.html Journal of Internet Security. Zweimonatlich erscheinendes Elektronik-Magazin und Mailing-Liste. Gute Quelle für Informationen von EDI-Sicherheit bis zu neuen Zertifizierungs-/ Audit-Diensten. http://www.csci.ca/ SC Magazine. Monatlich erscheinende Zeitschrift, die sich mit Produkten und Techniken zur Computersicherheit befaßt. http://www.infosecnews.com/ Seven Locks Software's SecurityDigest. Ausführlicher Ratgeber zu verschiedenen Sicherheitsproblemen von Seven Locks. http://www.sevenlocks.com/SecurityDigest.htm SunWorld Online. Internet- und Unix-Sicherheit von den Leuten bei Sun. http://www.usec.sun.com/sunworldonline/
ZusammenfassungDieses Kapitel kratzt nur an der Oberfläche der Unix-Sicherheit. Wenn ich ein Buch zu diesem Thema empfehlen sollte, wäre es Practical Unix and Internet Security von Simson Garfinkel und Gene Spafford. |
Senden Sie E-Mail mit Fragen oder Kommentaren zu dieser Website an:
tos.computer@gmx.de
|