
Firework est un outil de preuve de concept pour interagir avec Microsoft Workplaces en créant des fichiers valides requis pour le processus de provisionnement.
⚠️ NOTE : Cet outil n'est plus maintenu activement.
Firework est un outil de preuve de concept permettant d'interagir avec Microsoft Workplaces en créant des fichiers valides nécessaires au processus de provisionnement. L'outil intègre également du code provenant de Responder pour tirer parti de sa capacité à capturer les hachages NetNTLM d'un système qui provisionne un flux Workplace via celui-ci.
Cet outil peut être utilisé dans le cadre d'un test d'intrusion ou d'un exercice d'équipe rouge pour créer une charge utile .wcx (et le flux associé) qui, si on clique dessus, pourrait être utilisée pour :
Lisez le blog SpiderLabs pour un résumé et une procédure détaillés.
$ 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]
Outil Workplace WCX
arguments optionnels :
-h, --help afficher ce message d'aide et quitter
-c COMPANY, --company COMPANY
Nom de l'entreprise
-u URL, --url URL URL du flux
-a APP, --app APP Nom de l'application
-e EXT, --ext EXT Extension de l'application
-i ICON, --icon ICON Icône de l'application
-l LISTEN, --listen LISTEN
Port du serveur web TLS
-r RDP, --rdp RDP Serveur RDP
-d DOMAIN, --domain DOMAIN
Domaine RDP
-n USERNAME, --username USERNAME
Nom d'utilisateur RDP
-p PASSWORD, --password PASSWORD
Mot de passe RDP
-t CERT, --cert CERT Certificat SSL
-k KEY, --key KEY Clé SSL
Exemple de base :
python ./firework.py -c EvilCorp -u https://example.org/ -a Firework -e .fwk -i ./firework.ico
Le serveur web intégré démarrera sur le port 443 si cert.crt et key.pem sont présents dans le répertoire courant. Cela forcera un défi NTLM avec responder. Si ces fichiers ne sont pas présents, l'outil écrira tous les fichiers dans le répertoire local pour votre propre hébergement.
Si vous souhaitez démarrer le serveur web intégré sur un port alternatif, utilisez l'option -l comme ci-dessous :
python ./firework.py -c EvilCorp -u https://example.org/ -a Firework -e .fwk -i ./firework.ico -l 8443
Vous pouvez également ajouter des personnalisations au fichier .rdp qui est servi.
Remarque : Les mots de passe stockés dans les fichiers .rdp sont probablement ignorés dans une configuration par défaut.
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>
Après avoir exécuté l'outil, le fichier 'payload.wcx' sera écrit dans le répertoire courant. Ce fichier est celui qui, lorsqu'on clique dessus, démarre le processus de provisionnement.
Firework
Créé par David Middlehurst Copyright (C) 2018 Trustwave Holdings, Inc.
Ce programme est un logiciel libre : vous pouvez le redistribuer et/ou le modifier selon les termes de la GNU General Public License telle que publiée par la Free Software Foundation, soit la version 3 de la License, soit (à votre discrétion) toute version ultérieure.
Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE ; sans même la garantie implicite de COMMERCIALISATION ou D'ADAPTATION À UN USAGE PARTICULIER. Voir la GNU General Public License pour plus de détails.