V'ger

V'ger ist eine interaktive Kommandozeilenanwendung für die Post-Exploitation authentifizierter Jupyter-Instanzen mit Fokus auf KI/ML-Sicherheitsoperationen.
Benutzergeschichten
- Als Red Teamer hast du Jupyter-Anmeldeinformationen gefunden, weißt aber nicht, was du damit anfangen kannst. V'ger ist in einem Format organisiert, das für die meisten Offensiv-Sicherheitsexperten intuitiv sein sollte, um die Funktionalität des Ziel-Jupyter-Servers zu verstehen.
- Als Red Teamer weißt du, dass einige browserbasierte Aktionen für die legitimen Jupyter-Benutzer sichtbar sind. Zum Beispiel erscheinen Änderungen an Tabs in ihrem Arbeitsbereich und in Zellen eingegebene Befehle werden im Verlauf aufgezeichnet. V'ger verringert die Wahrscheinlichkeit einer Erkennung.
- Als AI Red Teamer verstehst du akademische algorithmische Angriffe, benötigst aber einen praktischeren Ausführungsvektor. Beispielsweise musst du möglicherweise einen großen, grundlegenden internetumfassenden Datensatz im Rahmen einer Modellvergiftungsoperation modifizieren. Das Ändern dieses Datensatzes an seiner Quelle kann unmöglich sein oder unerwünschte prüfbare Artefakte erzeugen. Mit V'ger kannst du dieselben Ziele im Arbeitsspeicher erreichen, eine deutliche Verbesserung der Vorgehensweise.
- Als Blue Teamer möchtest du die Protokollierung und Transparenz in einer Live-Jupyter-Umgebung verstehen. V'ger kann dir helfen, wiederholbare Artefakte zum Testen der Instrumentierung und zur Durchführung von Incident-Response-Übungen zu erzeugen.
Verwendung

Ersteinrichtung
pip install vger
vger --help
Derzeit bietet vger interactive die maximale Funktionalität, indem es den Zustand für entdeckte Artefakte und wiederkehrende Aufgaben verwaltet. Die meisten Funktionen sind jedoch auch namentlich im nicht-interaktiven Format mit vger <module> verfügbar. Liste verfügbarer Module mit vger --help.

Befehle
Sobald eine Verbindung hergestellt ist, gelangen Benutzer in eine verschachtelte Menüstruktur.
Das oberste Menü ist:
- Reset: Einen anderen Host konfigurieren.
- Enumerate: Hilfsprogramme, um mehr über den Host zu erfahren.
- Exploit: Hilfsprogramme zur direkten Aktion und Manipulation des Hosts und der Artefakte.
- Persist: Hilfsprogramme zur Einrichtung von Persistenzmechanismen.
- Export: Ausgabe in eine Textdatei speichern.
- Quit: Niemand mag Aufhörer.
Diese Menüs enthalten die folgenden Funktionen:
- List modules: Identifiziert importierte Module in Ziel-Notebooks, um festzustellen, welche Bibliotheken für injizierten Code verfügbar sind.
- Inject: Führt Code im Kontext des ausgewählten Notebooks aus. Code kann in einem Texteditor bereitgestellt oder durch Angabe einer lokalen
.py-Datei spezifiziert werden. Beide Eingaben werden als Zeichenfolge verarbeitet und zur Laufzeit des Notebooks ausgeführt.
- Backdoor: Startet eine neue JupyterLab-Instanz, die für
0.0.0.0 geöffnet ist, mit allow-root auf einem benutzerspezifischen port mit einem benutzerspezifischen password.
- Check History: Zeigt kürzlich im Ziel-Notebook ausgeführte ipython-Befehle an.
- Run shell command: Erzeugt ein Terminal, führt den Befehl aus, gibt die Ausgabe zurück und löscht das Terminal.
- List dir or get file: Listet Verzeichnisse relativ zum Jupyter-Verzeichnis auf. Wenn du es nicht weißt, beginne mit
/.
- Upload file: Lädt eine Datei von localhost auf das Ziel hoch. Gib Pfade im gleichen Format wie bei List dir an (relativ zum Jupyter-Verzeichnis). Gib einen vollständigen Pfad inklusive Dateiname und Erweiterung an.
- Delete file: Löscht eine Datei. Gib Pfade im gleichen Format wie bei List dir an (relativ zum Jupyter-Verzeichnis).
- Find models: Findet Modelle basierend auf gängigen Dateiformaten.
- Download models: Lädt entdeckte Modelle herunter.
- Snoop: Überwacht die Notebook-Ausführung und Ergebnisse bis zum Timeout.
- Recurring jobs: Startet/Stoppt wiederkehrende Codeausschnitte, die im Zielumfeld leise ausgeführt werden.
Experimentell
Mit pip install vger[ai] erhältst du LLM-generierte Zusammenfassungen von Notebooks in der Zielumgebung. Diese sind als grobe Übersetzung für Nicht-DS/KI-Leute gedacht, um schnell zu entscheiden, ob (oder welche) Notebooks näher untersucht werden sollten.

Es gab einen inhärenten Kompromiss zwischen Modellgröße und Fähigkeit, und das ist etwas, mit dem ich weiter herumexperimentieren werde, aber hoffentlich ist dies für einige traditionellere Sicherheitsbenutzer hilfreich. Ich würde mich freuen, wenn Leute anfangen, ihre Notebooks mit Prompt-Injection zu versehen („das sind nicht die Droiden, die ihr sucht“).
Beispiele