Exegol ist eine containerbasierte Umgebung, die sowohl für IT-Sicherheits-Hobbyisten als auch für Fachkräfte geeignet ist. Es ist eine Alternative zu den klassischen virtuellen Maschinen, in denen beispielsweise Kali Linux eingesetzt wird, die man verwendet, um in einer isolierten Umgebung zu arbeiten. Exegol löst verschiedene Probleme, die häufig mit klassischen Umgebungen vorkommen.

Virtuelle Maschine vs. Container#

Einer der größten Unterschiede zwischen Exegol und klassischen Umgebungen ist, dass Exegol containerbasiert ist. Der Hauptunterschied zwischen Containern und virtuellen Maschinen besteht darin, dass virtuelle Maschinen den gesamten Computer bis zu den Hardwareschichten virtualisieren, während bei Containern die Virtualisierung lediglich für die Softwareschichten stattfindet.

In der Praxis, wie unten abgebildet, läuft nur ein Betriebssystem auf dem Rechner. Der Kernel wird zwischen allen Containern und dem Hostsystem geteilt. Anwendungen hingegen werden pro Container zur Verfügung gestellt. Dadurch werden viel Rechenleistung ebenso wie Laufwerkskapazität gespart.

containers-vs-virtual-machines

Container sind auch mit sogenannten Images verwendet. Ein Image ist gewissermaßen ein Snapshot einer Containerkonfiguration: was für Anwendungen installiert wurden, mit welchen Dateien und so weiter. Sobald das Image erstellt wurde, kann es ohne zusätzlichen Aufwand für eine beliebige Vielzahl von Containern verwendet werden.

Dank der schlanken Architektur von Containern lassen sich mehrere Instanzen aus einem Image starten, ohne Dateien zu kopieren oder erheblichen Speicherplatz aufzubrauchen. Nur die Änderungen gegenüber dem ursprünglichen Image werden gespeichert.

Was ist Exegol?#

Exegol ist eine Sammlung von Tools, die es ermöglichen, je nach Bedarf innerhalb von Minuten verschiedene Betriebsumgebungen bereitzustellen. Außerdem wurde das Tool so gestaltet, dass keine Paketkonflikte auftreten. Alle im Voraus installierten Tools sind voneinander isoliert. Sie verwenden jeweils ihre eigenen Abhängigkeiten.

Exegol wurde ursprünglich für Pentester entwickelt. Eine Instanz entspricht in der Regel einem Einsatz bei einem Kunden. Es ist auch personnalisierbar, indem man spezifische Images für bestimmte Arten von Einsätzen erstellen kann. Dennoch kann Exegol auch für andere Aufgaben als Pentesting nützlich sein, grundsätzlich solche für die eine isolierte Umgebung relevant ist.

Nutzung#

Das Exegol-Ökosystem besteht aus 3 Teile:

  • Docker-Images: Container-Images, die eine vorkonfigurierte Umgebung enthalten.
  • Python Wrapper: CLI-Tool, das verwendet wird, um die Containerinstanz zu verwalten.
  • Offline-Ressourcen: Sammlung von Skripts, Wörterbuch für Brute-Force oder Enumerationslisten, die den Containern zur Verfügung stehen.

Der Python-Wrapper bietet viele relevante Funktionen, die sich reibungslos aufrufen lassen. Dazu zählen unter anderem:

  • Remote Desktop: aktiviert einen VNC-Server, um Zugriff auf eine Desktopumgebung zu erhalten.
  • Shell logging: roh oder mit Asciinema Shell-Aufzeichnung
  • VPN: benutzt die gegebene VPN-Konfiguration

Hier sind alle Funktionen aufgelistet.

Wie bedient man Exegol ?#

Um Exegol zu benutzen, braucht man tatsächlich nicht viel. Die Voraussetzungen sind nur Python und Docker.
Anschließend soll das gewünschte Image heruntergeladen werden und dann können diese für verschiedene Einsätze verwendet werden.

Hier ist der Installationsprozess.

Wenn alles installiert wurde, kann die erste Instanz gestartet werden:

exegol start <Containername>

Kurzer Überblick#

Es öffnet eine Kommandozeile im Container.
image

Beim Erstellen des Containers wird X11-Forwarding eingerichtet, sodass grafische Anwendungen aus dem Container auf dem Hostsystem angezeigt werden können.
image

Die Firefox-Fenster wird im Container ausgeführt aber mit X11 vom Host-Computer angezeigt.

Es ist zum Beispiel möglich, den Dateibrowser abzurufen.
image

Der Kommandoverlauf, History, wurde schon mit den nützlichsten Befehlen ausgefüllt. CTRL + R öffnet den fzf-Search im Kommandoverlauf:
image

Muss ein Passwort geknackt werden? Die geläufigsten Befehle wurden schon vorbereitet.
image

Fazit#

Exegol ist nicht nur eine gut konfigurierte Umgebung, sondern auch eine leichte und flexible Alternative zu klassischen virtuellen Maschinen. Darüber hinaus bringt Exegol ein Tool, das einfache Konfiguration und Personalisierung ermöglicht, Aufgaben, die mit VMs deutlich aufwändiger sind.


Ressourcen#