Viele OSINT (Open Source Intelligence) Werkzeuge verwenden Perl oder Python Module und können so auch ohne Einschränkungen unter Windows eingesetzt werden. Microsoft hat sein Betriebssystem aber mittlerweile so weit aufgebohrt, das es eine bessere Option bietet. Das nachfolgend beschriebene Vorgehen setzt Windows 10, Version 2004 und höher (Build 19041 und höher) voraus, da erst dann alle Optionen um Hypervisor, Virtual Maschine Management und WSL (Windows Subsystem for Linux) in den notwendigen Versionen enthalten sind.
Bei einem frisch installierten Windows ohne aktiviertes WSL läßt sich Alles mit nur einem Befehl in einer mit Administrationsrechten gestarteten Eingabeaufforderung oder Powershell installieren.
wsl --install
Ist bereits eine ältere Version von WSL aktiv oder einzelne benötigte Komponenten, wird es etwas komplizierter. Microsoft erklärt es recht ausführlich in diesem Beitrag auf der Lernplattform. Wir benötigen ein WSL in Version 2 und es können so viele Distributionen wie gewünscht installiert werden. Dabei ist es auch nicht relevant, welche als Standard fungiert (default ist erst einmal Ubuntu). Für unsere Anforderungen ist Kali Linux besonders geeignet, da es für Datenbeschaffung und Pentesting geschaffen wurde. Zwar läßt sich das auch gleich in der Eingabeaufforderung erledigen, aber ich möchte anraten auch gleich das Windows Terminal zu installieren, da es den Umgang mit unterschiedlichen Shells erleichtert. Das ist aber im Microsoft Store wesentlich komfortabler zu erledigen und der kümmert sich fortan auch automatisch um notwendige Updates für die Terminal Anwendung.
Nachdem beide installiert sind kann das Terminal über das Windows Startmenü gestartet werden und wird sicher schnell die einzelnen Startoptionen für unterschiedliche Shells (Eingabeaufforderung, Powershell, Windows Powershell und WSL Distributionen) ablösen, da es neben der aufgeräumten Oberfläche mit einfacher Möglichkeit weitere (auch unterschiedliche) Shells zu starten und in Tabs zu organisieren, auch einige Optionen zur Anordnung neben.- oder übereinander bietet.
Mit dem Plussymbol wird ein weiteres Tab mit der als standard definierten Shell gestartet, mit dem Pfeilsymbol daneben eine Liste aller installierten Shells geöffnet um daraus eine zum Start auszuwählen. Wir starten also jetzt das erste Mal die Kali Shell wie unten abgebildet.
Der erste Aufruf einer neuen WSL Shell dauert einen Moment, da für jede neue Distribution im Hintergrund eine Virtuelle Maschine eingerichtet und mit entsprechendem Inhalt versehen wird. Dabei wird jede Distro in einer virtuellen Festplatte (vhdx) gekapselt und hat keine Auswirkungen auf das Hostbetriebssystem oder andere Distributionen. Ihr werdet dann aufgefordert einen Benutzernamen festzulegen und ihm ein Kennwort zu verpassen. Ein kurzer Benutzername (ohne Leerzeichen) mit einem sicheren aber gut zu merkenden Passwort ist zu empfehlen! Wenn das erledigt ist, werdet ihr von einem Prompt begrüßt, das bei Kali aus Benutzernamen und Hostnamen getrennt durch ein Kali Symbol mit nachfolgendem Verzeichnis besteht und in der nächsten Zeile die Eingabe erwartet. Die Tilde (~) steht dabei für das Homeverzeichnis.
Ich kann in so einem Beitrag natürlich niemanden umfassend über die Arbeitsweise eines Betriebssystems aufklären oder gar eine Schulung daraus machen (es soll ja auch jedem Anwender ermöglichen damit begrenzt umgehen zu können), aber auf eine Prämisse sei hier verwiesen: wir arbeiten unter Linux ausschließlich mit einem normalen Benutzer, der keine administrative Berechtigung hat! Für Kommandos, die administrative Berechtigungen voraussetzen, nutzen wir den Befehl sudo (Super User Do) vorweg. Der zu Beginn eingerichtete Benutzer hat das Recht sudo zu benutzen automatisch bekommen.
Da wir unser frisch installiertes System noch aktualisieren müssen, probieren wir das gleich an einem passenden Beispiel aus. Der Paketmanager in Debian basierten Systemen, zu welchen unser Kali gehört nennt sich APT (Advanced Packaging Tool) und ist für die Installation und Aktualisierung bereits installierter Software zuständig. Für die Aktualisierung werden lediglich zwei aufeinanderfolgende Befehle benötigt und wir beginnen mit dem aktualisieren der Repositorys zunächst ohne administrative Berechtigung, um das zu veranschaulichen. Gib also den folgenden Befehl am Prompt ein und schicke ihn mit ENTER ab.
apt update
Oben im Bild siehst Du das Ergebnis. Apt beginnt seine Arbeit mit dem Einlesen der Paketlisten und gibt dann Fehler (E) und Warnungen (W) aus. Danach bricht es die Arbeit ab und Du bekommst ein neues Prompt, wobei die Meldungen (13: Keine Berechtigung) schon auf das Problem hinweisen. Damit solltest Du in der Lage sein kleinere Fehler mit Hilfe einer Suchmaschine selbst zu beheben. Weiter im Plan: Nach dem Abschicken eines Befehls mit vorangestelltem sudo wird das Kennwort des angemeldeten Benutzers abgefragt.
sudo apt update
sudo apt upgrade -y
An dieser Stelle sei darauf verwiesen, das die Universität Aachen bei Änderungen an diesem Repository mitunter nicht erreichbar ist. Dann gibt es beim ersten Befehl eine Meldung wie unten abgebildet. Versuche es dann einfach später noch einmal.
Nachdem die Software aktualisiert wurde, kann das eigentliche GUI (Graphical User Interface) installiert werden.
sudo apt install -y kali-win-kex
Nicht erschrecken lassen, das wird eine ganze Menge Pakete auf das System spülen und entsprechend eine Weile benötigen. Im Anschluss ist das Grundsystem bereits lauffähig und kann in seinen unterschiedlichen Modi gestartet werden. Derer werden 3 Modi unterstütz (Window Mode, Enhanced Session Mode, Seamless Mode) die jeweils mit den nachfolgenden Befehlen gestartet werden (immer nur einer davon).
kex --win -s
kex --esm --ip -s
kex --sl -s
Geschmackssache, welches System bevorzugt wird. Am Ende ist es noch sinnvoll das bevorzugte System in die Vorauswahl des Windows Terminal einzutragen. Die Win-KeX Dokumentation bietet hier weitere Informationen. Unabhängig davon welcher Modus gewählt wird, das System startet im Vollbild und fühlt sich wie ein vollständiges Kali Linux an und kann auch so verwendet werden.
Links oben befindet sich das Startmenü (1), dass Zugang zu allen installierten Anwendungen bietet. Zwar muss man sich bei OSINT Werkzeugen meist auf die Shell begeben, bei Kali gibt es aber oft Startmenüeinträge, die das betreffende Script/Modul mit der internen Hilfe aufruft und so bereits die häufigsten Optionen des Skriptes anzeigt. Natürlich ist für den Aufruf solch eines Skriptes aber kein Kex erforderlich. Wenn Du also erst einmal familiär mit Einem geworden bist, kannst Du es auch direkt im Windows Terminal in einer Kali Shell verwenden. Als Beispiel habe ich hier ein solches OSINT Werkzeug gewählt, dass im Startmenü unter „01 Informationsbeschaffung“ (2) und darin unter „OpenSource Intelligence (OSINT) Analyse“ mit dem Eintrag „theharvester“ (3) zu finden ist.
Wenn Du damit ein wenig herumprobiert hast, kannst Du das in der Kali Shell unter /usr/bin/ finden. Der Befehl für das obige Beispiel wäre dann wie folgt.
/usr/bin/theHarvester -h
Die Kali GUI eignet sich hervorragend für Anfänger, die noch keine Idee haben welche Befehle und Werkzeuge für welche Art der Informationsbeschaffung geeignet sind. Sie bietet aber auch Profis Vorteile mit der Integration der Werkzeuge unter einer gemeinsamen Oberfläche und der Trennung vom Windows Desktop. Die Anderen nutzen die Werkzeuge einfach direkt im Terminal. Natürlich betreibe ich den Aufwand so eines Beitrags nicht um eine Spielerei zu veröffentlichen. Den Antrieb zu der Idee hat Nella mit ihrer steten Arbeit gegen den Unrat der Gesellschaft gegeben…
Das dort genutzte Werkzeug (holehe) wollen wir unserem Kali hinzufügen. Zu finden ist es auf Github und sowohl mit einem Git Client aus den Sourcen zu erstellen, als auch direkt über das Python Paket Management, welches wir hier der Einfachheit halber nutzen wollen, da es eine bereits erstellte Version passend zum lokalen System installiert bzw. sich um alle Befehle bei der Erstellung selbst kümmert. Das dazu nötige Werkzeug pip (Packaging for Python) müssen wir aber auch zunächst installieren.
sudo apt install -y python3-pip python3-pip-whl python3-setuptools
Im Anschluß können wir als Funktionstest sich pip selbst aktualisieren lassen und wenn das ohne Fehler klappt nachfolgend holehe. Die dritte Zeile ruft das Werkzeug dann direkt auf und zeigt die möglichen Parameter.
sudo python3 -m pip install --upgrade pip setuptools wheel
pip3 install holehe
holehe -h
Damit habt ihr ein praktisches Werkzeug in euer Windows integriert und vermutlich eine Menge Dinge zum Ausprobieren. Ich wünsche viel Spaß und bitte darum Vorsicht walten zu lassen. Die auch enthaltenen Pentesting Werkzeuge solltet ihr ausschließlich gegen eigene Computer einsetzen um nicht gegen geltendes Recht zu verstoßen!