Unter Vulnerability versteht man in der Informationstechnik eine Verwundbarkeit der Hard- oder Software. Immer wieder tauchen Meldungen über neue Vulnerabilitäten auf. Sogar in als unverwundbar geltenden Architekturen, wie der des iPhone von Apple, hat ein Hacker mit dem Checkm8-Exploit kürzlich eine mächtige Sicherheitslücke aufgetan. Kann man also davon ausgehen, dass in jedem Programm und in jeder Hardware-Architektur unbekannte Fehler schlummern?

Der Exploit, des Hackers Werkzeug

Eine Vulnerability wird dadurch gefährlich, dass jemand herausfindet, wie er sie ausnutzen kann. Das Programm, mit dem die Sicherheitslücke für einen bestimmten Zweck „ausgebeutet“ werden kann, ist der . Im günstigsten Fall ist der Hacker ein Sicherheitsforscher, der mit einem Proof-of-concept (PoC) nur den Beweis der Verwundbarkeit antreten will. Dann wird er vor der Veröffentlichung das betroffene Unternehmen in Kenntnis setzen. Kriminelle Hacker hingegen, nutzen die Vulnerability aus, um größtmöglichen Profit zu erzielen oder hohen Schaden anzurichten.

Bekannte Hardware-Sicherheitslücken

Rowhammer (2015): Verwendet eine Vulnerability in der Architektur von Arbeitsspeicher. Hier wird ausgenutzt, dass der Speicher mittels elektrischer Spannung beschrieben wird. Werden viele Schreib- und Leseoperationen in einem Bereich ausgeführt, kann das auch nicht betroffene Bits verändern. Eine Cache-Funktion, die genau diesen Umstand verhindern soll, kann vom Angreifer gezielt ausgehebelt werden.

Meltdown/Spectre (2017): Sind Exploits, die Schwachstellen in Prozessoren der drei großen Anbieter Intel, AMD und ARM ausnutzen. Sie erlauben Zugriffe auf privilegierte Speicherbereiche. In einem Szenario greifen dafür vorgesehene Sicherheitsmechanismen nicht schnell genug, da aus Performance-Gründen unkontrolliert Befehle vorab in internen Registern ausgeführt werden dürfen.

Bekannte Software-Vulnerabilitäten

Heartbleed (2014): Nutzt die Schwäche in einer älteren Version von SSL aus. In dieser kontrolliert SSL das Bestehen der Verbindung regelmäßig durch das Senden von Kontrollbits. Dieselbe Menge wird als Bestätigung zurückgesandt. Jedoch ist es möglich, die vorgesehene Größe zu überschreiten. Die zurückgesandten Bits werden dann mit zufällig im Speicher befindlichen Inhalten aufgefüllt. Dies können auch sensible Daten sein.

-KRACK (2016): Benennt einen Angriff auf die bis dahin als sicher geltende WPA2-Verschlüsselung in WLANs. Bei diesem werden im Authentifizierungsprozess (Handshake) übersandte Pakete abgefangen und Wiederholungen der Versendungen erzwungen. Ein zum Schutz vorgesehener, temporärer Zufallswert (Nonce) wird angreifbar, da er dadurch erneut verwendet wird.

DirtyCow (2016): Benutzt eine Vulnerability, die den Linux-Kernel betrifft. Daher sind auch Android-Geräte betroffen. Namensgebend ist die Ursache, der sogenannte Copy-on-write-Mechanismus. Durch geschickte Mehrfachöffnung einer virtuellen Datei in parallelen Threads, gelingt es dem Exploit, sich nicht vorgesehene Rechte zu verschaffen.

-BlueBorne (2017): Basiert auf einer Vulnerability bei der Implementierung von Bluetooth in nahezu allen Betriebssystemen. Der Angreifer muss sich im Funkbereich der aktivierten Schnittstelle befinden. Dann kann er sich als Man-in-the-Middle betätigen und den Netzwerkverkehr mitlesen. Unter Linux ist es ihm möglich, Schadcode mit den Rechten des Bluetooth-Prozesses auszuführen.

Der Zero-Day-Exploit und CVE

Verwendet der Hacker einen Exploit, bevor er dem betroffenen Entwickler mitgeteilt wurde, spricht man von einem Zero-Day-Exploit. Teilweise wird dieser über einen längeren Zeitraum genutzt, bevor der Hersteller davon erfährt.

Das Gegenstück dazu sind die Common Vulnerabilities and Exposures (CVE). Hierbei handelt es sich um eine Sammlung veröffentlichter Sicherheitslücken. Den Entwicklern wird vor der Bekanntgabe Zeit zur Beseitigung des Fehlers gegeben. Die Veröffentlichung erfolgt, damit Forscher und Hersteller sich damit beschäftigten können. Die CVE erhalten eindeutige Nummern, die es Herstellern von Schutzsoftware ermöglichen, die Vulnerability konkret zu benennen.

Warum gibt es so viele Vulnerabilitäten?

Es gilt auch hier die Weisheit: Wo Menschen arbeiten, werden Fehler gemacht. Allerdings sind Betriebssysteme und viele Programme heutzutage derart komplex, dass Fehler niemals völlig ausgeschlossen werden können. Zudem steht es nicht immer in der Macht eines Entwicklers, derartige Probleme zu vermeiden. Vielmehr muss er sich oftmals auf Module anderer Anbieter verlassen. So wird TLS/SSL in Mailprogrammen und auch im HTTPS-Protokoll genutzt. In vielen Betriebssystemen ist es als Bibliothek fest implementiert. Daher sind durch eine Vulnerability in SSL, die durch den Heartbleed-Exploit ausgenutzt wurde, eine derart hohe Anzahl an Endgeräten und Software-Produkten betroffen. Bei der KRACK-Attacke wiederum wurde ein Hinweis im WPA2-Standard in einem unter Linux und Android gebräuchlichen Treiber fehlerhaft implementiert, so dass nach Durchführung des Angriffs der verwendete Schlüssel nur noch aus Nullen bestand.

Schutz und Gegenmaßnahmen

Um sich vor Vulnerabilitäten zu schützen, sollten Sie als Anwender oder Verantwortlicher auf mehrere Maßnahmen setzen.

Viele Exploits werden von Virenscannern erkannt. Voraussetzung sind tagesaktuelle Signaturen und leistungsfähige Schutzsoftware. Eine Firewall kann verhindern, dass Daten zugänglich werden oder abfließen.

Essentiell sind Sicherheitsupdates für Hard- und Software. Für den Großteil der aufgeführten Exploits haben die Hersteller Sicherheitsupdates veröffentlicht.

Nicht zu vergessen bleibt eine vernünftige Backup-Strategie, da Exploits auch Daten korrumpieren können. Schließlich sollten Sie als Verantwortlicher die aktuelle Bedrohungslage im Auge behalten. Dies können Sie anhand öffentlich zugänglicher CVE-Datenbanken. Im Zweifel macht es möglicherweise Sinn, auf bestimmte Hard- oder Software zu verzichten, bis die Vulnerability geschlossen ist.

Das Open Vulnerability Assessment System (OpenVAS) ist ein Framework zum Aufspüren von Schwachstellen in Netzwerken. Es gilt als Standardwerkzeug von Penetration Testern. Gleichermaßen nutzen es auch Administratoren zur Überwachung von Netzwerken. Die Software wird kostenfrei unter der GPL-Lizenz angeboten. Sie ist unter Linux und FreeBSD lauffähig. Der Quellcode kann über die Entwicklerplattform GitHub bezogen werden.

Herkunft und Entwicklung von OpenVAS

OpenVAS hat seinen Ursprung im Schwachstellenscanner Nessus. Als dieser im Jahr 2005 nur noch kommerziell vermarktet wurde, bildete sich das OpenVAS-Projekt auf Basis der letzten freien Version von Nessus. Entwickler ist seitdem die Osnabrücker Firma Greenbone. Neben der Entwicklung von OpenVAS, bietet Greenbone mit der Software vorkonfigurierte Server an. Das gesamte Framework wurde 2017 in Greenbone Vulnerability Management (GVM) umbenannt. Seit 2019 ist OpenVAS nur noch die Bezeichnung für den eigentlichen Schwachstellen-Scanner.

Funktionsweise von OpenVAS

OpenVAS läuft in mehreren Server-Diensten auf dem ausführenden Rechner. Daher ist es möglich, das Framework auf einem leistungsfähigen Server arbeiten zu lassen und die Bedienung von einem anderen Rechner im Netz vorzunehmen. Die Software greift auf eine umfangreiche Datenbank zu, in der Merkmale und Schwachstellen von Betriebssystemen sowie Softwareprodukten hinterlegt sind. Diese werden als Feeds bezeichnet. Den größten Anteil machen die Network Vulnerability Tests (NVT) aus. Dies sind vorkonfigurierte Scans, von denen über 50.000 zugreifbar sind. Die Feeds können abonniert werden und der Bestand wird regelmäßig erneuert. Der Schwachstellentest läuft in mehreren Stufen ab. Nach einem Portscan werden erkannte Betriebssysteme und Softwareprodukte auf bekannte Lücken und Konfigurationsfehler hin untersucht. Dies betrifft beispielsweise auf dem untersuchten System laufende Dienste wie SSH oder den Webserver. Nach Abschluss des Scans wird ein Bericht erstellt. Zudem gibt es grafische Darstellungen der Resultate, wie eine Übersicht von Rechnern im gescannten Netzwerk.

Installation von OpenVAS

Vor der Installation müssen einige softwareseitige Voraussetzungen erfüllt werden. Diese betreffen beispielsweise TLS, SSH und die Bibliothek Libpcap, die erforderlich ist, um Netzwerkverkehr im bekannten Format PCAP verarbeiten zu können. Die Software muss für den Rechner, auf dem es zum Einsatz kommen soll, kompiliert werden. Eine detaillierte Anleitung und Hilfe bei der Installation werden sowohl auf Github, als auch im Community-Forum gegeben. Zudem bietet Greenbone kostenfrei virtuelle Maschinen mit der vorinstallierten Software an. Dazu, wie bereits erwähnt, kommerzielle, mit GVM vorkonfigurierte Hardware-Lösungen. Für Distributionen wie CentOS, Fedora/RHEL (Red Hat Enterprise Linux) und Ubuntu werden Installationspakete bereitgestellt. Besonders einfach lässt sich OpenVAS unter KALI-Linux installieren, da die Abhängigkeiten durch die vorinstallierte Software schon nahezu komplett erfüllt sind.

Bedienung und Ablauf eines Scans

Die Bedienoberfläche von OpenVAS kann standardmäßig über den Browser unter der IP-Adresse des ausführenden Rechners und dem Port 9392 aufgerufen werden. Bei Aufruf vom ausführenden Rechner selber, entsprechend über die Loopbackadresse 127.0.0.1.

Die Bedienoberfläche gliedert sich in die folgenden Menüpunkte:

-Dashboard: Ist die Start- und Übersichtsseite. Es werden grafische Übersichten zu vorangegangenen Scans (sog. Tasks), Topologien gescannter Netze und zur Verfügung stehende NVTs angezeigt.

-Scans: In diesem Menüpunkt kann die Scans als Tasks konfigurieren und starten. Dabei kann auf Vorlagen aus den NVTs zurückgegriffen werden. Auch eine zeitgesteuerte Ausführung ist wählbar. Weiterhin finden sich hier Resultate und Berichte vorangegangener Scans.

-Assets: Entsprechend der wörtlichen Übersetzung „Anlagen“ befinden sich dort Informationen über Routing zum gescannten Ziel, sowie festgestellte Betriebssysteme.

-SecInfo: Steht für Security Information. Hier findet man die Übersicht für die NVTs und veröffentlichte Schwachstellen. Eine Quelle ist das Emergency Response Team der Bundesverwaltung (CERT-Bund).

-Configuration: Im Bereich der Konfiguration lassen sich beispielsweise Scans konfigurieren und Formate für die Reporte festlegen.

-Extras: Hierunter befinden sich persönliche Einstellungen und der Status der Feeds.

-Administration: Dieser Menüpunkt ist unter anderem für die Benutzerverwaltung des OpenVAS-Systems gedacht. Hier können auch Gruppen und Rollen festgelegt werden.

-Help: Beinhaltet die ausführliche Hilfe.

Alternativ kann OpenVAS über die Kommandozeile bedient werden. Dies ist vorteilhaft, wenn es zur ständigen Überwachung (Monitoring) im Netz verwendet werden soll. Dann lassen sich die Ergebnisse beispielsweise über Shell-Skripte weiterverarbeiten. Zudem gibt es mit dem OpenVAS-Manager eine Client-Software zur Bedienung. Diese ist in den Repositiories einiger Linux-Distributionen enthalten.

Es können IP-Adressen einzelner Rechner oder ganze IP-Ranges (Bereiche von Adressen in einem Netzwerk) als Ziel gewählt werden. Die Scantiefe ist einstellbar. Sie reicht von einer schnellen, oberflächlichen Prüfung festgestellter Systeme und deren offenen Ports, hin zu einer intensiven Untersuchung einzelner Anwendungen. Eine Stärke von OpenVAS sind die ausführlichen Berichte. Sofern Verwundbarkeiten festgestellt werden, die auf Softwarelücken basieren,  dann erfolgt zum Beispiel eine Zuordnung zur CVE-Nummer (Common Vulnerabilities and Exposures). Hierbei handelt es sich um Nummern, die von Experten gemeldeten Sicherheitslücken („Exploits“) zur eindeutigen Unterscheidbarkeit zugeteilt werden. Dies erleichtert es dem Administrator, konkrete Maßnahmen zur Beseitigung des Sicherheitsproblems zu treffen.

Empfehlung durch das BSI

Das Bundesamt für Sicherheit in der Informationstechnik (BSI) empfiehlt auf seiner Webpräsenz die Nutzung von OpenVAS. Es unterstützt die Entwicklung von Funktionen der Software und von NVTs. Zudem nutzt es die Software zum Einsatz bei Bundesbehörden und bietet diesen Schulungen und Support.

Was ist Linux Mint?

Linux Mint ist der Name einer Linux-Distribution, die es in zwei unterschiedlichen Ausgaben gibt. Die Hauptausgabe basiert auf Ubuntu und ist in zwei verschiedenen Versionen erhältlich. Eine zweite Ausgabe, die den Titel Linux Mint Debian Edition (LMDE) trägt, beruht auf der gleichnamigen Linux-Variante. Beide Ausgaben entwickelte Clément Lefèbvre, der sich als Maintainer verantwortlich zeichnet. Wir stellen Ihnen die Entwicklung und das Konzept der Linux Distrubution vor. Dabei gehen wir für Sie auf die Stärken und Schwächen von Linux Mint ein.

Entstehungsgeschichte von Linux Mint

Die Distribution gibt es 2006, als sie aus der Ubuntu-Variante entstand, um beliebte und freie Software besser zu integrieren. Daher bestand Linux Mint von Anfang an nicht nur aus quelloffenen und freien Anwendungen, sondern auch aus nicht-freien Programmen wie beispielsweise Adobe Flash. Außerdem integrierten die Verantwortlichen eine große Anzahl von Multimedia-Codecs in ihre Distribution, so dass zum Beispiel eine Unterstützung für H.264-Videos gegeben ist. Weil sich dieser Ansatz von anderen Distributionen wie Ubuntu unterschied, war Linux Mint sehr erfolgreich.

Ab 2014 entschieden die Entwickler, sich noch stärker auf die Stabilität ihres Betriebssystems zu fokussieren. Daher bestehen die aktuellen Ausgaben der Linux Distribution auf den aktuellen Ubuntu Long Term Support (LTS) Codes. Für die Debian Variante nutzen die Verantwortlichen die Debian Stable Codebasis. Auf diese Weise möchten die Entwickler von Linux Mint eine hohe Stabilität ihres Betriebssystems garantieren.

Zugleich versprachen die Macher, die wesentlichen Desktop-Programme regelmäßig zu aktualisieren. Daher erschien Ende 2014 Linux Mint 17.1, die neue Versionen der wichtigsten Anwendungen brachte. Mittlerweile ist die Distribution bereits in der Version 19.1 erhältlich. Zukünftig dürfte sich der Umfang des Betriebssystems in Form von neuen Varianten der wichtigsten Programme und Codecs stetig erweitern. Doch bereits in der Gegenwart punktet Linux Mint durch größere Programmvielfalt, was sich im Büro und in der Freizeit bemerkbar macht.

Der Umfang

Für ihre Distribution setzen die Verantwortlichen auf eigeneDesktop-Konzepte wie Cinnamon. Durch eigenen Desktop-Umgebungen soll sich die Benutzungsfreundlichkeit deutlich erhöhen. Cinnamon basiert auf Gnome und MATE, an deren Entwicklung die Macher von Linux Mint beteiligt waren. Ihr Betriebssystem ist eine der wenigen Linux-Varianten, die über eine eigene Desktop-Umgebung verfügt. Dadurch unterscheidet sich die Distribution recht deutlich von anderen Ausführungen.

Linux Mint gibt es sowohl in der Hauptausgabe als auch in der LMDE in zwei Versionen. Nutzer können entweder die 32-Bit- oder die 64-Bit-Variante verwenden. Die Installation ist über DVD-Pakete möglich, die jeweils vorkonfigurierte Desktop-Umgebungen beinhalten. Andere Desktop-Varianten lassen sich mittels der Paketverwaltung auch im Nachhinein installieren. Dann entfällt allerdings die wichtige Vorkonfiguration, die eigentlich eine der Stärken von Linux Mint darstellt.

Im Gegensatz zu anderen Linux Distrubitionen wie Ubuntu oder Debian enthält die Mint-Variante von Anfang an die wichtigsten Codecs zur Wiedergabe von DVDs, MP3-Dateien oder DivX-Videos. Plugins für Adobe Flash oder Java sind in den Installationspaketen enthalten. Wichtige Bestandteile der Installationspakete, die in Form von ISO-Dateien erhältlich sind, sind die Desktop-Umgebung sowie die MintTools, die unter anderem das an Windows-Betriebssysteme erinnernde MintMenu enthalten.

Außerdem punktet Linux Minut durch eine große Software-Auswahl. So können Sie die LibreOffice Programme nutzen, um Texte zu schreiben oder Tabellen zu erstellen. Zum Surfen bietet sich der Webbrowser Firefox an, der ebenfalls ein Bestandteil von Linux Mint ist. Die Bearbeitung von Grafiken ist mit der leistungsstarken Software GIMP möglich. Mit der integrierten Rythmbox können Sie unterdessen Audio-Tracks und MP3-Dateien abspielen. Der Video Player übernimmt derweil die Wiedergabe von Videos. Ein PDF-Viewer ist ebenfalls an Bord. Hilfreich sind zudem kleine Tools wie das Notizprogramm oder ein Taschenrechner.

Die Software testen

Nutzer können sich vor einer echten Linux-Installation für einen Test des Betriebssystems entscheiden. Schließlich lässt sich Linux Mint nicht nur auf einer Festplatte installieren, sondern auch als Live-System von einen USB-Stick starten. Zu diesem Zweck besuchen Sie einfach die Website des Anbieters, wo Sie sich für eine Linux Mint Version entscheiden. Nach dem Download der jeweiligen ISO-Datei müssen Sie die Daten so auf einen USB-Stick kopieren, dass ein Bootvorgang möglich ist.

Die Verantwortlichen von Linux Mint empfehlen zu diesem Zweck das Tool balenaEtcher, das für alle gängigen Betriebssysteme erhältlich ist. Wenn die ISO-Datei mit dem Tool auf den Stick kopiert wurde, lässt sich das Betriebssystem von solch einem Datenträger booten. So können Sie die Linux-Distribution in aller Ruhe ausprobieren, bevor Sie sich für oder gegen eine richtige Installation auf einer integrierten Festplatte entscheiden. Dabei testen Sie unter anderem den Desktop, der eine der Stärken von Linux Mint ist.

Mint Desktop im Kurzüberblick

Auf den ersten Blick unterscheidet sich der Startbildschirm von Linux Mint kaum von gängigen Windows-Varianten. Mit einem Klick auf den Startbutton, der sich ganz links in der Leiste befindet, starten Nutzer das Menü. Sämtliche Funktionen erinnern an das Startmenü von Windows, allerdings ist die Anordnung anders. Links oben befinden sich die Favoriten, wozu die Software-Verwaltung und die Systemeinstellungen gehören.

Natürlich lassen sich weitere Programme als Favoriten hinzufügen. Über das Startmenü erreichen Sie ansonsten wichtige Schaltflächen zum Sperren, Abmelden und Herunterfahren. Die Software-Rubriken und die installierten Anwendungen finden sich ebenfalls im Startmenü von Linux Mint.

 

Bei Kali Linux handelt es sich um eine Linux-Distribution, die auf dem frei entwickelten Betriebssystem Debian GNU/Linux basiert. Die Distribution umfasst in erster Linie Anwendungen für die digitale Forensik sowie für Penetrationstests. Dabei richtet sie sich vor allem an professionelle und fortgeschrittene Nutzer.

Der Werdegang von Kali Linux

Entwickelt wurde das Betriebssystem von Devon Kearns und Mati Aharoni, Mitarbeiter des Unternehmens „Offensive Security“. Die Veröffentlichung wurde am 12. Dezember 2012 angekündigt und am 13. März 2013 durchgeführt. Die Entwicklungszeit von Kali Linux betrug etwa ein Jahr; die erste Version erhielt die Versionsnummer 1.0. Seit der Version 2.0 erhalten Sie Kali Linux als Rolling Release. Das bedeutet, dass das Betriebssystem kontinuierlich weiterentwickelt wird. Betriebssystem-Versionen gibt es nicht mehr. Stattdessen handelt es sich um Snapshots, die in der Regel als Installationsmedium dienen.

Offiziell handelt es sich bei Kali Linux um den Nachfolger von BackTrack. Die neue Bezeichnung soll laut Hersteller-Angaben darauf hinweisen, dass die Neuentwicklung deutlich fortgeschritten ist. Kali Linux setzt nicht wie BackTrack auf Ubuntu auf, sondern auf Debian. Das Betriebssystem wurde vollständig neu entwickelt. Die Infrastruktur arbeitet nunmehr mit Git als Verwaltung für die Versionen.

Die Architektur von Kali Linux

Das System wurde so entwickelt, dass es sich für Computer mit unterschiedlich aufgebauten Hauptprozessoren eignet. So ist es sowohl für AMD64 als auch für x86er-Systeme und für die ARM-Architektur verfügbar. Die ARM-Architektur wird vor allem in kleinen Endgeräten wie Tablet-Computern eingesetzt. So kann die ARM-Version von Kali Linux unter anderem auf dem ARM Chromebook der Marke Samsung als auch auf dem Raspberry Pi verwendet werden.

In der Forensik lässt sich Kali Linux – abhängig von der Anwendung – als Live-System ohne Installation booten, zum Beispiel via CD und DVD, USB-Stick oder PXE (Preboot Execution Environment) im Netzwerk. Dabei hinterlässt das Live-System keine Spuren am geprüften System, weder auf der Solid State Drive noch auf den eingebauten Festplatten. Es sind beispielsweise keine Auslagerungsdateien auffindbar. Um einen Rechner für Penetrationstests einzusetzen, kann Kali Linux alternativ fest installiert werden.

Die Programme und Tools von Kali Linux

In der Distribution sind zahlreiche Dokumentationen und mehrere hundert Hilfsmittel integriert, die die Sicherheit eines IT-Systems testen und bewerten. Die unter Kali Linux enthaltenen Programme sind zwar auch einzeln für den Großteil der anderen Linux-Distributionen erhältlich, doch automatische Optimierungen werden nur über Kali Linux zur Verfügung gestellt.

Kali Linux bezieht die Programme vier Mal pro Tag aus dem Debian-Repository. Damit ist sichergestellt, dass die Nutzer jederzeit über aktuelle Software-Pakete und Sicherheitsupdates verfügen. Eine eigene Paketquelle mit der Bezeichnung „Kali bleeding edge“ stellt neueste, noch nicht ausführlich unter Kali geprüfte Versionen zur Verfügung.

Die wichtigsten Werkzeuge

– Aircrack-ng

Bei Aircrack-ng handelt es sich um eine Tool-Sammlung. Die Werkzeuge sind darauf ausgelegt, Schwachstellen im WLAN nicht nur zu analysieren, sondern sie auch auszunutzen.

– Ettercap

Die Software führt Man-in-the-Middle-Angriffe durch. Es unterstützt Echtzeitkontrollen über Verbindungen auch in in geswitchten Netzwerken, das Sniffing auf IP- und ARP-Basis, aktive und passive Analysen einzelner Hosts und vollständiger Netzwerke sowie das inhaltsbezogene Filtering.

– John the Ripper

Diese Software ist in der Lage, verschlüsselte System-Passwörter zu entschlüsseln und auf ihre Sicherheit zu testen. Das Entschlüsseln geschieht per Brute-Force oder durch eine Dictionary-Attack.

– Kismet

Kismet agiert als freier WLAN-Sniffer und spürt Funknetzwerke auf, indem es die versandten Datenpakete mitliest. Dieses Programm eignet sich unter anderem auch dafür, die Sicherheit des eigenen WLANs zu überprüfen und die Signalstärke zu ermitteln.

– Maltego

Dieses Programm wurde entwickelt, um Daten im World Wide Web zu sammeln. Dabei handelt es sich um Daten sowohl einzelner Personen als auch von Unternehmen.

– Nmap

Die Bezeichnung „Nmap“ steht für Network Mapper. Bei diesem Tool handelt es sich um einen Portscanner, der Hosts in einem Rechnernetz scannt und auswertet. Bei Administratoren ist es ebenso beliebt wie bei Hackern, denn es arbeitet außergewöhnlich zuverlässig und effizient.

– RainbowCrack

Zum Knacken von Passwörtern nutzt dieses Programm so genannte Rainbow Tables. Im Vergleich zum Brute Force benötigt diese Methode deutlich weniger Zeit und Versuche, um ein Passwort zu ermitteln.

– SET (Social Engineer Toolkit)

Dieses Toolkit beinhaltet mehrere Anwendungen für unterschiedliche Penetrationstests. Der Schwerpunkt liegt dabei auf dem Social Engineering.

– The Sleuth Kit

Bei diesem Kit handelt es sich um eine forensische Software-Sammlung, die auf die Kommandozeile von IT-Systemen ausgerichtet ist. The Sleuth Kit unterstützt die Dateisysteme ISO 9660, NTFS, FAT, UFS 1 und 2, Ext2 bis Ext4, HFS und YAFFS2.

Die rechtliche Situation von Kali Linux in Deutschland

Die Distribution Kali Linux enthält Tools, die in Teilen gewisse Sicherheitsvorkehrungen umgehen. Sie werden in Deutschland als „Computer-Programme zum Ausspähen von Daten“ aufgefasst. Diese Auffassung basiert auf § 202c StGB, dem „Hacker-Paragrafen“, der Ende Mai 2007 in Kraft getreten ist.

Auf Basis dieser gesetzlichen Lage kann der Besitz oder der Vertrieb von Kali Linux hierzulande strafbar sein, wenn eine Absicht besteht,

– diese Programme rechtswidrig zu nutzen (§ 202a StGB) und/oder

Daten damit abzufangen (§ 202b StGB).

FOSS – was Sie über freie und quelloffene Software wissen müssen

Die Abkürzung FOSS steht für „Free and Open Source Software“. Alternativ existiert auch die Bezeichnung „Free/Libre Open Source Software“ (FLOSS). FOSS bzw. FLOSS fassen die Begriffe „Freie Software“ und „Open-Source-Software“ zusammen. Sie bezeichnen quelloffene Software aller Art, also Software, deren von Softwareentwicklern erstellter, menschenlesbarer Programmtext offen gelegt und verfügbar ist.

Die Quelltexte von FOSS sind in der Regel in einer höheren Programmiersprache verfasst, die von einem Compiler in ein binäres Format überführt wird, welches dann von Computern ausgeführt werden kann. Bei nicht-quelloffener Software ist im Gegensatz zu FOSS nur dieser Binärcode erhältlich. Die FOSS-Programme dürfen meist beliebig kopiert, verbreitet und genutzt werden. Es gibt für sie keine Nutzungsbeschränkungen, weder bezogen auf die Anzahl der Benutzer, noch bezogen auf die Anzahl der Installationen. Mit dem Kopieren und der Verbreitung von FOSS-Programmen sind kein Anschaffungspreis und keine Lizenzgebühren verbunden. Nutzer können die Software verändern und weiterentwickeln, eben weil sie im Quelltext vorliegt. Sie dürfen die veränderte oder weiterentwickelte Software anschließend weitergeben. FOSS ist darauf angewiesen, dass um die jeweilige Software herum eine Gemeinschaft entsteht, die die Software pflegt und weiterentwickelt. Damit bietet sie sich zum Lernen, Mitmachen und Verbessern an.

Vorteile der Software

An der Entwicklung eines FOSS-Programms kann sich eine beinahe beliebig große Anzahl von Einzelpersonen und Unternehmen beteiligen. Auf diese Weise wird der Entwicklungsaufwand geteilt, und jeder kann von der gemeinsamen Arbeit profitieren. Wenn ein Unternehmen eine Software benötigt, kann es sinnvoll sein, nicht Standardsoftware zu beschaffen oder eine vollständige Eigenentwicklung zu beginnen, sondern sich stattdessen an einem FOSS-Projekt zu beteiligen. Diese Projekte stellen bewährte Strukturen dar, über die Unternehmen gemeinsame Softwareentwicklung organisieren können, ohne komplexe Verträge miteinander aushandeln zu müssen. Das gilt, solange alle Beteiligten damit einverstanden sind, dass die Software unter einer FOSS-Lizenz steht.

Zu diesem Zweck existiert eine Vielzahl unterschiedlicher, populärer Lizenzen. Diese unterscheiden sich insbesondere mit Blick darauf, ob Software, die eine Weiterentwicklung von FOSS darstellt, oder Software, die ein FOSS-Programm nur benutzt und einbindet, selbst wieder unter einer FOSS-Lizenz veröffentlicht werden muss. Wenn eine Lizenz dies erzwingt, ist sie, was den FOSS-Charakter angeht, ansteckend. Dies wird auch mit dem Begriff „Copyleft“ bezeichnet. Lizenzen, die derartige Regelungen enthalten, fördern in bestimmten Bereichen effektiv die Verbreitung von FOSS, schränken auf der anderen Seite aber ihre kommerzielle Verwertbarkeit ein. Über die Frage, welche Art von Lizenzen gesellschaftlich und wirtschaftlich wünschenswert ist, gibt es umfangreiche, zum Teil ideologische Auseinandersetzungen. Ein wichtiger Aktivist in diesem Themenbereich ist Richard Stallmann, der Gründer der Free Software Foundation (FSF).

Beispiele 

Es existieren sehr viele erfolgreiche Softwareanwendungen, die dem FOSS-Modell folgen. Traditionell gibt es ein starkes Angebot im Bereich der Betriebssysteme und der betriebssystemnahen Programme, sowie bei den IT-bezogenen Anwendungen. Beispiele hierfür sind das Betriebssystem Linux und der Webserver Apache, die jeweils führende Produkte ihrer Klasse darstellen. Beliebte FOSS-Anwendungen gibt es aber auch für viele andere Gebiete, von Office- und Media-Software bis zu Antivirensoftware und Satzprogrammen. Die folgenden Absätze stellen drei FOSS-Programme vor.

Ein für viele Heimanwender relevantes Beispiel ist der Mediaplayer VLC, der als Logo einen Verkehrsleitkegel verwendet, wie man ihn zur Markierung von Baustellen kennt. Die Software wird seit Mitte der Neunzigerjahre vom sogenannten VideoLAN-Team entwickelt, das aus Studenten der französischen École Centrale Paris sowie Entwicklern aus über 20 Ländern besteht. Es handelt sich um einen sehr populären Mediaplayer, der eine große Auswahl von Audio- und Videocodecs sowie Dateiformaten für das Streamen unterstützt. VLC ist u. a. für die Betriebssysteme Android, iOS, Linux, macOS und Windows verfügbar. VLC stellt eine gute Alternative zu kommerziellen Programmen wie Quicktime oder Windows Media Player dar.

 

Die Office-Suite LibreOffice ist ein weiteres, sehr bekanntes FOSS-Programm. Ursprünglich vom Hamburger Unternehmen Star Division in einem traditionellen Closed-Source-Modell als Alternative zu Microsoft Office entwickelt, wurde die Software im Jahr 1999 von Sun Microsystems übernommen, das die Quelltexte anschließend freigab. So entstand OpenOffice.org, von dem sich LibreOffice im Jahr 2010 abspaltete. LibreOffice umfasst Programme zur Textverarbeitung, Tabellenkalkulation, Präsentation und zum Erstellen von Zeichnungen. Ebenfalls enthalten sind ein Datenbankmanagementsystem und ein Formeleditor. Neben der Desktopsoftware für Linux, Windows macOS gibt es auch eine Version für Android-Smartphones und -Tablets. Mit LibreOffice Online existiert außerdem eine Online-Office-Webversion.

Weitere Beispiele

Das Mozilla-Projekt Firefox basierte ursprünglich auf dem Quellcode des Netscape Communicators, der ursprünglich einen wichtigen Beitrag dazu geleistet hatte, dass Webbrowser überhaupt entstanden waren. Firefox gilt als ein moderner und leistungsfähiger Browser, der die Weiterentwicklung offener Standards im Internet unterstützt und im Bereich Privatsphäre und Datenschutz eine Vorreiterrolle einnimmt. Der Existenz und Verbreitung eines FOSS-Browsers kommt eine besondere Bedeutung zu, weil Webbrowser die „Tür“ zum World Wide Web darstellen und es problematisch wäre, wenn der Zugang ausschließlich von wenigen, kommerziellen Herstellern wie Google, Microsoft und Apple (Chrome, Edge, Safari) kontrolliert würde. Firefox hat heute laut StatCounter einen Marktanteil von knapp 9 % und ist damit einer der drei meistgenutzten Browser. Firefox ist für Linux, macOS und Windows verfügbar, außerdem gibt es Firefox Mobile für Android und iOS.

Zu den weiteren Programmen gehören ebenso: nginx, php, Asterisk, FreePBX

SAMBA – Netzwerk-Brücke zwischen Unix und Windows

SaMBA ist eine populäre, quelloffene Netzwerksoftware, die es Rechnern mit einem Unix- oder Linux-Betriebssystem ermöglicht, auf die Freigaben von Netzwerkressourcen aus Windows-Netzwerken (bzw. dem Microsoft-Verzeichnisdienst „Active Directory“) zuzugreifen, beispielsweise auf Dateien und Drucker. Darüber hinaus kann die Software auch dazu verwendet werden, Unix-/Linux-basierte Server oder Controller in einem solchen Netzwerk zu installieren und deren Ressourcen freizugeben.

Die gängigen Protokolle Server Message Block (SMB) bzw. Common Internet File System (CIFS, eine offene Version von SMB) sind die Basis, auf der Samba aufsetzt. Der Name „Samba“ spielt auf die Abkürzung „SMB“ an.

Samba unterliegt der GNU General Public License, ist auf vielen Unix-Systemen vorinstalliert und auf fast allen lauffähig. Die Gruppe, die Samba entwickelt, besitzt einen Kern von etwa 20 Personen. Ihre Arbeit wird von mehreren Unternehmen sowohl durch finanzielle als auch durch personelle Beiträge unterstützt, unter anderem von IBM.

 Server Message Block als Grundlage

Server Message Block, abgekürzt SMB, ist ein Protokoll für Datei-, Druck- und andere Netzwerkdienste. SMB ist bereits in den frühen 1980er Jahren bei IBM entstanden. Es folgt einem Client-Server-Modell: SMB-Server veröffentlichen Ressourcen im Netzwerk und Clients können auf diese Ressourcen zugreifen, indem sie Anfragen an einen SMB-Server richten und entsprechende Antwort erhalten. Die freigegebenen Ressourcen werden in der obersten Ebene als „Shares“ bezeichnet. Es kann sich dabei zum Beispiel um Drucker handeln, oder um Knoten eines Dateisystems, die durch Verknüpfung untereinander eine Ordnerstruktur bilden können. Ein Server kann beliebige Teile seines lokalen Dateisystems als Shares bereitstellen, daher ist die für einen Client sichtbare Hierarchie teilweise unabhängig von der Struktur auf dem Server. Die Zugriffsrechte werden durch sogenannte Access Control Lists (ACL, auf Deutsch: Zugriffssteuerungslisten) festgelegt. Sie können feingranular anhand von Attributen wie „ausführen“, „lesen“ und „Vollzugriff“ für einzelne Benutzer oder Benutzergruppen gesteuert werden. Die ACLs werden anhand der Shares festgelegt und müssen demnach ebenfalls nicht den lokal auf dem Server vergebenen Rechten entsprechen.

Die Authentifizierung der Benutzer geschieht strukturiert nach sogenannten Domänen. Eine Domäne ist eine zentral festgelegte Hierarchie von Rechnern, kann aber auch eine sogenannte Arbeitsgruppe (eine kleine Menge lokaler Rechner) oder ein einzelner Server sein. Die Domänen in einem Netzwerk werden bei Active Directory durch die Domänen-Controller verwaltet.

Eine wichtige Eigenschaft von SMB ist die Fähigkeit zum sogenannten Browsing. Es handelt sich um einen Mechanismus, mit dessen Hilfe Clients die Server im Netzwerk entdecken können. Browsing ist damit ein wesentlicher Aspekt für die Nutzerfreundlichkeit von SMB, weil andere Rechner gefunden und genutzt werden können, ohne dass zuvor Informationen über deren Netzwerkadresse und weitere technische Eigenschaften auf Clients eingetragen werden müssen.

SMB hielt bereits in frühe netzwerkfähige Windows-Versionen wie Windows for Workgroups, die Windows-9x-Versionen sowie die Windows-NT-Produktfamilie Einzug. Das Protokoll wurde im Laufe der Jahre durch verschiedene Unternehmen und Gruppen (u. a. Microsoft, SCO, IBM und Samba) erweitert, wobei Microsoft den Ton angab, seine Implementierungen jedoch nicht als Spezifikation offenlegte. Nach einem Kartellstreit mit der Europäischen Union wurde SMB im Jahr 2007 als Teil des Workgroup Server Protocols Program Entwicklern zugänglich gemacht.

Die Software Suite

Samba ist eine Softwaresuite, die aus mehreren Programmen besteht und das Protokoll SMB auf Unix-Systemen zur Verfügung stellt. Es erlaubt so die einfache Zusammenarbeit mit Windows-Computern. Samba implementiert zu diesem Zweck Funktionalitäten von Windows-Servern wie Datei- und Druckdienste.

Mit der Version 3 erlangte der Samba-Server die Fähigkeit, vollwertiges Mitglied einer Active-Directory-Domäne zu sein. Mit der Version 4 stellt Samba sogar einen Active Directory Domänen-Controller bereit.

Samba besteht aus vier wesentlichen Grundfunktionalitäten: 1. Datei- und Druckdiensten; 2. Authentifizierung und Autorisierung; 3. Namensauflösung; sowie 4. Browsing. Samba enthält dazu mehrere sogenannte Daemons; dabei handelt es sich um Unix-Hintergrundprogamme. Der zu Samba gehörende SMB Server Daemon „smbd“ stellt die ersten beiden Funktionalitäten bereit, während der ebenfalls zugehörige Server Daemon „nmbd“ (die Abkürzung steht für „NetBIOS message block daemon“) die letzten beiden Funktionalitäten implementiert. Der Server Message Block Service kontrolliert diese beiden Hintergrundprogramme.

Weitere relevante Module aus der Samba-Suite sind winbindd, ein Daemon, der den Abgleich von Benutzer- und Gruppenzuordnungen übernimmt, sowie das Samba Web Administration Tool (SWAT), eine Webanwendung, mit deren Hilfe ein Administrator Samba konfigurieren kann. SWAT wird als ein eigener kleiner Webserver im Unix-System gestartet und benutzt standardmäßig den TCP-Port 901. Samba 4 enthält eine komplette Reimplementierung von SWAT, die SWAT2 heißt und eine höhere Benutzerfreundlichkeit aufweist.

Mit Samba 4 ist außerdem als weiterer Daemon „samba“ hinzugekommen, der die Active-Directory-Emulation übernimmt und einen Active-Directory-Controller bereitstellen kann.

Konfiguration

Die Konfiguration von Samba erfolgt entweder über SWAT (bei Samba 4: SWAT2) oder über die Konfigurationsdatei smb.conf. Die smb.conf ist einfache Textdatei, die die Laufzeitkonfiguration festlegt. Die Datei besteht aus sogenannten Sections (Abschnitten) und Parametern. Es gibt drei vordefinierte Sections: [global], [homes] und [printers]. Einstellungen in der [global]-Section gelten für den gesamten Server, wenn sie nicht überschrieben werden, [homes] definiert die Home-Verzeichnisse der User, die an der Domäne angemeldet sind. Die Section [printers] enthält die am Server eingerichteten Drucker.