DanderSpritz Labor
Zweck
Das Ziel des DanderSpritz-Labors ist es, Forschern und Verteidigern zu ermöglichen, schnell eine voll funktionsfähige Version von DanderSpritz – Das Post-Exploitation-Toolset der Equation Group – sowie eine Windows Server 2008-Domäne und einen Client als Ziele aufzubauen. Das Windows-Ziel enthält einige Reverse-Engineering-Tools, die ich bei der Untersuchung von DanderSpritz und seinen Fähigkeiten als nützlich empfand.
Lesen Sie ein wenig über das DanderSpritz Labor hier: https://medium.com/@francisck/introducing-danderspritz-lab-461912313d7c
Eine Website, die ich erstellt habe, um DanderSpritz-Fähigkeiten und -Tools zu dokumentieren: https://danderspritz.com
HINWEIS: Dieses Labor wurde in keiner Weise gehärtet (es ist absichtlich verwundbar) und läuft mit den Standard-Vagrant-Anmeldeinformationen. Bitte verbinden oder brücken Sie es nicht mit Netzwerken, die Ihnen wichtig sind.
Anforderungen
- 20 GB+ freier Festplattenspeicher
- 8 GB+ RAM
- 20 GB Bandbreitennutzung (zum Herunterladen von ISOs, Updates, Service Packs usw.)
- Packer v1.2.3 oder neuer
- Vagrant v2.1.1 oder neuer
- Vagrant-Reload Plugin
- Virtualbox (VMWare Fusion/Workstation kommt später)
DanderSpritz Labor starten
DanderSpritz verwendet Packer, Vagrant und das Vagrant-reload-Plugin, um das Labor von Grund auf zu installieren und zu konfigurieren. Packer lädt Windows-ISOs direkt von Microsoft herunter und installiert Testversionen der Software für Forschungszwecke.
- Klonen Sie dieses Repo auf Ihren eigenen Rechner
git clone [email protected]:francisck/DanderSpritz_lab.git
- Stellen Sie sicher, dass das Vagrant-reload-Plugin installiert ist
vagrant plugin install vagrant-reload
- Führen Sie den folgenden Befehl aus, um die ISOs herunterzuladen und den Aufbau der Vagrant-Boxen durchzuführen:
packer build danderspritz_lab.json
- Starten Sie die VMs, sobald die Vagrant-Boxen erstellt sind, und lassen Sie sie mit der zusätzlichen Konfiguration fortfahren:
vagrant up
Ein FuzzBunch-Projekt erstellen
- Öffnen Sie die Windows-Eingabeaufforderung (cmd) und führen Sie Folgendes aus:
D:\
python fb.py
- Legen Sie eine Standard-Zieladresse von 192.168.40.3 fest
- Legen Sie eine Standard-Rückrufadresse von 192.168.40.4 fest
- Verwenden Sie (zunächst) keine Weiterleitung
- Behalten Sie das Standardprotokollverzeichnis bei
- Erstellen Sie ein neues Projekt (Option 0)
- Benennen Sie Ihr neues Projekt
- Behalten Sie das Standardprotokollverzeichnis bei

Die Zielmaschine ausnutzen
- Führen Sie den folgenden Befehl aus, um die Maschine mit EternalBlue auszunutzen:
use eternalblue
- Wählen Sie alle Standardoptionen außer dem Liefermechanismus. Verwenden Sie "FB" (traditionelle Bereitstellung) als Liefermechanismus
- Konfigurieren Sie danderspritz und peddlecheap, sobald eternalblue erfolgreich ist
DanderSpritz konfigurieren & starten
- Öffnen Sie eine weitere Windows-Eingabeaufforderung (cmd) und führen Sie Folgendes aus:
D:\
python configure_lp
- Erlauben Sie Java durch die Firewall
- Wählen Sie
Durchsuchen neben "Protokollverzeichnis" und wählen Sie den Namen des von Ihnen erstellten FuzzBunch-Projekts

- Klicken Sie auf "Go"
PeddleCheap-Vorbereitung (das Implantat konfigurieren)
- Führen Sie in der DanderSpritz-Konsole den folgenden Befehl aus:
pc_prep
- Wählen Sie den Standard-x64-winnt-Level-3-Sharedlib-Payload
5
- Wählen Sie keine erweiterten Einstellungen
- Wählen Sie, einen sofortigen Rückruf durchzuführen
- Verwenden Sie die Standard-PC-ID (0)
- Wählen Sie "Ja" bei "Möchten Sie zuhören?"
- Ändern Sie die nicht Hörports
- Behalten Sie die Standard-"Callback"-Adresse (127.0.0.1) bei
- Ändern Sie den Exe-Namen nicht
- Verwenden Sie den Standardschlüssel (Option 2)
- Überprüfen Sie, ob die PeddleCheap-Konfiguration gültig ist
- Konfigurieren Sie nicht mit FC (felonycrowbar)
- Kopieren Sie den Speicherort der konfigurierten Binärdatei:

Das Implantat (peddlecheap) über die DoublePulsar-Hintertür ausliefern:
- Geben Sie im ursprünglichen Fuzzbunch-Fenster ein:
use doublepulsar
- Wählen Sie "ja", wenn Sie gefragt werden, ob Sie zur Eingabe von Variableneinstellungen aufgefordert werden möchten
- Wählen Sie alle Standardvariableneinstellungen außer der Zielarchitektur (wählen Sie Option 1)
1) x64 x64 64-bits
- Wählen Sie die "RunDLL"-Funktion (Option 2)
2) RunDLL Use an APC to inject a DLL into a user mode process.

- Behalten Sie alle anderen Optionen als Standard bei und wählen Sie "Ja", wenn Sie gefragt werden, ob Sie das Plugin ausführen möchten
- Sie sollten "Doublepulsar succeeded" sehen
Mit dem PeddleCheap-Implantat über DanderSpritz verbinden
- Wählen Sie in DanderSpritz oben auf dem Bildschirm "PeddleCheap" aus
- Wählen Sie den "Standard"-Schlüssel aus dem Schlüssel-Dropdown-Menü
- Geben Sie die Adresse der Zielmaschine ein (192.168.40.3)
- Wählen Sie "Mit Ziel verbinden"

- Wählen Sie Ihren Fuzzbunch-Projektnamen
- Warten Sie, bis die DanderSpritz-Umfrage abgeschlossen ist (wird eine Weile dauern), und Sie müssen unterwegs einige Fragen beantworten
- Profitieren Sie!
Zum Guten verwenden, nicht zum Bösen!
Der Zweck dieses Projekts ist es, Sicherheitsforschern zu ermöglichen, ein voll funktionsfähiges DanderSpritz-Labor einfach für Reverse Engineering und Tests aufzubauen und zu konfigurieren.
- Führen Sie dies nicht gegen Ziele außerhalb dieses Labors aus.
- Verwenden Sie dies nicht für "Red Team-Einsätze"
- Tragen Sie Ihre Forschungsergebnisse zur Community bei
- Wenden Sie sich bei Fragen an mich :)
Tägliche Nutzung
Sobald Sie Packer einmal ausgeführt haben, müssen Sie es nicht erneut ausführen. Die Vagrant-Boxen stehen Ihnen zur Verfügung, um Ihr Labor neu aufzubauen, abzureißen, neu zu starten.
Nachfolgend finden Sie einige nützliche Befehle, die Sie bei der Arbeit mit dem Labor verwenden können:
Grundlegende Vagrant-Nutzung
- Alle DanderSprotz-Lab-Hosts starten:
vagrant up
- Einen bestimmten Host starten:
vagrant up <hostname>
- Einen bestimmten Host neu starten:
vagrant reload <hostname>
- Einen bestimmten Host neu starten und den Bereitstellungsprozess erneut ausführen:
vagrant reload <hostname> --provision
- Einen bestimmten Host zerstören:
vagrant destroy <hostname>
- Die gesamte DanderSpritz-Lab-Umgebung zerstören:
vagrant destroy
- Eine Momentaufnahme einer Maschine erstellen:
vagrant snapshot save <hostname> <snapshot_name>
- Eine Momentaufnahme einer Maschine wiederherstellen:
vagrant snapshot restore <hostname> <snapshot_name>
- Status jedes Hosts überprüfen:
vagrant status
- Die Laborumgebung anhalten:
vagrant suspend
- Die Laborumgebung fortsetzen:
vagrant resume
Abgelaufene Windows-Hosts reaktivieren
Wenn Sie auf ein Problem stoßen, dass die Testlizenz abgelaufen ist, können Sie die Hosts bis zu 3 Mal neu aktivieren (für 90 Tage Windows-Lizenz-Güte), indem Sie diesen Befehl in einer administrativen Eingabeaufforderung ausführen:
Sie müssen die Maschine neu starten.
Labordiagramm

- Domänenname: windomain.local
- Administrator-Anmeldung (alle Maschinen): vagrant:vagrant
- DC (Domänencontroller): 192.168.40.2/24
- Ziel: 192.168.40.3/24
- DanderSpritz: 192.168.40.4/24
Labor-Hosts
- DC - Windows 2008 R2 Domänencontroller
- Windows-Domänencontroller für Windomain.local
- WEF-Serverkonfigurations-GPO
- PowerShell-Protokollierungs-GPO
- Erweiterte Windows-Überwachungsrichtlinien-GPO
- Ziel - Windows 7 Workstation
- Simuliert Zielworkstation / -maschine
- Der Windomain.local Windows AD-Domäne beigetreten
- Einige Reverse-Engineering-/Sichtbarkeitstools vorinstalliert
- Chocolatey (mit FireEye Flare REPO) für weitere Tool-Installationen verfügbar
- DanderSpritz Box - Windows 10
- DanderSpritz & Fuzzbunch vorinstalliert
- Sysmon
- Sysinternal Tools (Procmon, TCPview, etc.)
- API Monitor
- InfoPe
- HxD
- PEView
- Windbg
- WireShark
- Binary Ninja
- HashCalc
- IDA 7 Free
- Ollydbg
- Erweiterte Überwachungs-GPO
- PowerShell-Protokollierungs-GPO
- Windows-Ereignisse werden an Domänencontroller (WEC) weitergeleitet
Danksagungen/Ressourcen
Ein beträchtlicher Teil dieses Codes wurde ausgeliehen und angepasst von Chris Longs DetectionLab-Projekt sowie von Stefan Scherers packer-windows und adfs2 GitHub-Repos. Ein riesiges Dankeschön an alle, die mit ihrem Code dazu beigetragen haben, Projekte wie dieses einfacher (oder überhaupt möglich) zu machen.
Danksagungen