L'obiettivo del laboratorio DanderSpritz è consentire a ricercatori e difensori di allestire rapidamente una versione completamente funzionante di DanderSpritz - Il toolkit di post-sfruttamento del Gruppo Equation e un dominio Windows Server 2008 e un client come target. Il target Windows contiene alcuni strumenti di reverse engineering che ho trovato utili durante l'investigazione di DanderSpritz e delle sue capacità.
Un sito web che ho creato per documentare le capacità e gli strumenti di DanderSpritz: https://danderspritz.com
NOTA: Questo laboratorio non è stato indurito in alcun modo (è intenzionalmente vulnerabile) e viene eseguito con credenziali vagrant predefinite. Non collegarlo o collegarlo a nessuna rete a cui tieni.
Requisiti
20GB+ di spazio libero su disco
8GB+ di RAM
20GB di utilizzo della larghezza di banda (per scaricare ISO, aggiornamenti, service pack, ecc.)
Virtualbox (VMWare Fusion/Workstation in arrivo più tardi)
Avvio del laboratorio DanderSpritz
DanderSpritz utilizza Packer, Vagrant e il plug-in Vagrant-reload per installare e configurare il laboratorio da zero. Packer scaricherà le ISO di Windows direttamente da Microsoft e installerà versioni di prova del software per l'uso durante la ricerca.
Clona questo repository sulla tua macchina
git clone [email protected]:francisck/DanderSpritz_lab.git
Assicurati di avere installato il plug-in Vagrant-reload
vagrant plugin install vagrant-reload
Per scaricare le ISO ed eseguire la creazione delle scatole Vagrant, esegui il comando seguente:
packer build danderspritz_lab.json
Una volta create le scatole Vagrant, avvia le VM e lascia che continuino con alcune configurazioni aggiuntive:
vagrant up
Creare un progetto FuzzBunch
Avvia il prompt dei comandi di Windows (cmd) ed esegui quanto segue:
D:\python fb.py
Imposta un indirizzo target predefinito a 192.168.40.3
Imposta un indirizzo callback predefinito a 192.168.40.4
Non utilizzare il reindirizzamento (all'inizio)
Lascia la directory dei log predefinita
Crea un nuovo progetto (opzione 0)
Assegna un nome al tuo nuovo progetto
Lascia la directory dei log predefinita
Sfruttare la macchina target
Esegui il comando seguente per sfruttare la macchina usando EternalBlue
use eternalblue
Scegli tutte le opzioni predefinite tranne il meccanismo di distribuzione. Usa "FB" (deploy tradizionale) come meccanismo di distribuzione
Una che eternalblue ha successo, configura danderspritz e peddlecheap
Configurare e avviare DanderSpritz
Avvia un altro prompt dei comandi di Windows (cmd) ed esegui quanto segue:
D:\python configure_lp
Consenti a Java attraverso il firewall
Seleziona sfoglia accanto a "Directory dei log" e scegli il nome del progetto FuzzBunch che hai creato
Fai clic su "vai"
Preparazione PeddleCheap (configurare l'impianto)
Nella console di DanderSpritz, esegui il comando seguente:
pc_prep
Seleziona il payload standard x64-winnt level 3 sharedlib
5
Verifica che la configurazione di PeddleCheap sia valida
Non configurare con FC (felonycrowbar)
Copia la posizione del binario configurato:
Distribuire l'impianto (peddlecheap) tramite backdoor DoublePulsar:
Nella finestra originale di Fuzzbunch digita:
use doublepulsar
Scegli "sì" quando ti viene chiesto se vuoi essere interrogato per le impostazioni delle variabili
Seleziona tutte le impostazioni predefinite delle variabili tranne l'architettura di destinazione (scegli l'opzione 1)
1) x64 x64 64-bits
Seleziona la funzione "RunDLL" (opzione 2)
2) RunDLL Use an APC to inject a DLL into a user mode process.
Lascia tutte le altre opzioni predefinite e seleziona "Sì" quando ti viene chiesto se vuoi eseguire il plugin
Dovresti vedere "Doublepulsar riuscito"
Connettersi all'impianto PeddleCheap con DanderSpritz
In DanderSpritz seleziona "PeddleCheap" nella parte superiore dello schermo
Seleziona la chiave "default" dal menu a discesa delle chiavi
Inserisci l'indirizzo della macchina target (192.168.40.3)
Seleziona "Connetti al target"
Seleziona il nome del tuo progetto Fuzzbunch
Attendi il completamento del Sondaggio DanderSpritz (ci vorrà un bel po') e dovrai rispondere ad alcune domande lungo il percorso
Guadagna!
Usalo per il bene, non per il male!
Lo scopo di questo progetto è consentire ai ricercatori di sicurezza di costruire e configurare facilmente un laboratorio DanderSpritz completamente funzionante per il reverse engineering e i test.
Non eseguire questo contro alcun target al di fuori di questo laboratorio.
Non utilizzarlo per "impegni red team"
Contribuisci con le tue ricerche alla comunità
Contattame per qualsiasi domanda tu possa avere :)
Utilizzo quotidiano
Una volta eseguito packer una volta, non sarà necessario eseguirlo di nuovo. Le scatole Vagrant saranno disponibili per ricostruire, smantellare, riavviare il laboratorio.
Di seguito sono riportati alcuni comandi utili che potresti utilizzare mentre lavori con il laboratorio:
Utilizzo base di Vagrant
Avvia tutti gli host del laboratorio DanderSprotz: vagrant up
Avvia un host specifico: vagrant up <hostname>
Riavvia un host specifico: vagrant reload <hostname>
Riavvia un host specifico e ri-esegui il processo di provisioning: vagrant reload <hostname> --provision
Distrugge un host specifico vagrant destroy <hostname>
Distrugge l'intero ambiente del laboratorio Danderspritz: vagrant destroy
Crea uno snapshot di una macchina: vagrant snapshot save <hostname> <snapshot_name>
Ripristina uno snapshot di una macchina: vagrant snapshot restore <hostname> <snapshot_name>
Controlla lo stato di ciascun host: vagrant status
Sospendi l'ambiente del laboratorio: vagrant suspend
Riprendi l'ambiente del laboratorio: vagrant resume
Riarmare gli host Windows scaduti
Se riscontri un problema in cui la licenza di prova è scaduta, puoi riarmare gli host fino a 3 volte (per 90 giorni di bontà della licenza Windows) eseguendo questo comando su un prompt dei comandi amministrativo
root@kitploit:~
`slmgr /rearm'
Dovrai riavviare la macchina.
Informazioni sul laboratorio
Diagramma del laboratorio
Informazioni aggiuntive sul laboratorio
Nome dominio: windomain.local
Login amministratore (tutte le macchine): vagrant:vagrant
DC (Controller di dominio): 192.168.40.2/24
Target: 192.168.40.3/24
DanderSpritz: 192.168.40.4/24
Host del laboratorio
DC - Controller di dominio Windows 2008 R2
Controller di dominio Windows per Windomain.local
Configurazione GPO del server WEF
GPO di registrazione PowerShell
GPO dei criteri di controllo avanzato di Windows
Target - Workstation Windows 7
Simula la workstation/macchina target
Unita al dominio AD Windows Windomain.local
Alcuni strumenti di reverse engineering/visibilità preinstallati
Chocolatey (con FireEye Flare REPO) disponibile per ulteriori installazioni di strumenti
DanderSpritz Box - Windows 10
DanderSpritz e Fuzzbunch preinstallati
Strumenti installati sul target (Windows 7 SP1)
Sysmon
Strumenti Sysinternals (Procmon, TCPview, ecc.)
API Monitor
InfoPe
HxD
PEView
Windbg
WireShark
Binary Ninja
HashCalc
IDA 7 Free
Ollydbg
GPO di controllo avanzato
GPO di registrazione PowerShell
Eventi di Windows inoltrati al controller di dominio (WEC)
Crediti/Risorse
Una percentuale considerevole di questo codice è stata presa in prestito e adattata dal progetto DetectionLab di Chris Long insieme ai repository Github packer-windows e adfs2 di Stefan Scherer. Un enorme ringraziamento a tutti coloro che hanno contribuito con il loro codice a rendere progetti come questo più facili (o addirittura possibili).