Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Macrome — Leitor/Gravador de Documentos de Macro do Excel para Red Teamers e Analistas | Kitploit
Ferramentas/GitHubGitHub/michaelweber/macrome
Geração de PayloadsExploraçãoPhishingAnálise de MalwareTestes de PenetraçãoEngenharia SocialAnálise de BináriosRed Teaming
GitHubmichaelweber/macrome

Macrome

Leitor/Gravador de Documentos de Macro do Excel para Red Teamers e Analistas

Ver Repositório
52278114há 4 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Macrome

Um Leitor/Escritor de Documentos de Macro do Excel para Red Teamers e Analistas. Postagens de blog que descrevem o que esta ferramenta realmente faz podem ser encontradas aqui e aqui.

An example created document using the default template.

Instalação / Compilação

Clone ou baixe este repositório; a ferramenta pode ser executada usando dotnet - por exemplo:

dotnet run -- build --decoy-document Docs\decoy_document.xls --payload Docs\popcalc.bin 

ou

dotnet build
cd bin/Debug/netcoreapp2.0
dotnet Macrome.dll deobfuscate --path obfuscated_document.xls

Observe que é necessária uma compilação 5.0+ do dotnet para que isso funcione conforme configurado - pode ser obtida em https://dotnet.microsoft.com/download/dotnet/5.0.

Versões binárias da ferramenta que não requerem dotnet e contêm um binário executável podem ser encontradas na seção de Releases para Windows, OSX e Linux.

Uso

Execute o Macrome usando dotnet run a partir do diretório da solução, ou dotnet contra o binário Macrome compilado. Existem três modos de operação para o Macrome - modo Build, modo Dump e modo Deobfuscação.

Modo Build

Execute o Macrome com o comando build para gerar um documento Excel contendo uma planilha de macro ofuscada usando um documento isca e payload de macro fornecidos. dotnet Macrome.dll build -h exibirá instruções completas de uso.

Por exemplo, para construir um documento usando o documento isca caminho/para/decoy_document.xls e shellcode x86 binário armazenado em caminho/para/shellcode.bin, execute dotnet Macrome.dll build --decoy-document caminho/para/decoy_document.xls --payload /caminho/para/shellcode.bin. Isso gerará um documento XLS 2003 que, após ser aberto e ter o botão "Habilitar Conteúdo" pressionado, executará o shellcode de shellcode.bin.

Como DEVO executar isso?

O restante da documentação explicará cada flag/função em detalhes, mas agora o "mais recente e melhor" que o Macrome tem a oferecer pode ser obtido executando:

Macrome build --decoy-document decoy_document.xls --payload beacon.bin --payload64-bit beacon64.bin --payload-method Base64 --method ArgumentSubroutines --password VelvetSweatshop --preamble preamble.txt --output-file-name ReadyToPhish.xls

Uso de Payload Binário

Primeiro, gere um documento Excel "isca" base que conterá o conteúdo que os usuários devem ver. Isso deve ser algum tipo de chamariz que convença os usuários a clicar no botão "Habilitar Macros" exibido no Excel. Existem alguns exemplos de criação de chamariz do "mais recente e melhor" em https://inquest.net/blog/2020/05/06/ZLoader-4.0-Macrosheets-. Uma vez criada esta planilha, salve o documento como tipo Excel 97-2003 Workbook (*.xls) em vez do formato mais recente Excel Workbook (*.xlsx). Um exemplo de documento isca está incluído em /Docs/decoy_document.xls. Observe que se você estiver usando ofuscação XOR para proteger seu documento, atualmente NÃO é possível adicionar uma imagem ao seu documento isca.

Em seguida, gere um payload de shellcode para fornecer à ferramenta. O payload binário de exemplo (que abre a calculadora) foi gerado usando msfvenom com os seguintes parâmetros:

 msfvenom -a x86 -b '\x00' --platform windows -p windows/exec cmd=calc.exe -e x86/alpha_mixed -f raw EXITFUNC=thread > popcalc.bin

Payloads de 64 bits também são suportados. O payload de 64 bits de exemplo, popcalc64.bin, foi gerado usando o comando:

msfvenom -a x64 -b '\x00' --platform windows -p windows/x64/exec cmd=calc.exe -e x64/xor -f raw EXITFUNC=thread > popcalc64.bin

Este payload pode então ser embutido executando o comando:

dotnet Macrome.dll build --decoy-document decoy_document.xls --payload popcalc.bin --payload64-bit popcalc64.bin

Atualmente, payloads de 64 bits exigirão que um payload x86 também seja fornecido. Se isso não for um problema, você pode especificar qualquer lixo para a flag de payload x86.

Há suporte eventual para embutir assemblies .NET diretamente no documento, mas se você quiser fazer isso agora, sugiro usar EXCELntDonut.

A partir do Macrome 0.5.0 e superior, todos os payloads serão codificados com base64, então seu payload poderá conter qualquer sequência de bytes (incluindo bytes nulos).

Embutindo Executáveis

Se você quiser embutir um executável .NET usando Macrome, sugiro usar Donut com o comando donut.exe -a 3 -b 1 -z 1 executableToEmbed.exe, e então embutir o payload resultante como seus payloads de 32 e 64 bits.

Outra alternativa sólida é o Amber, que funcionou muito bem para embutir binários Go bastante grandes.

Codificação de Payload Legado

Se por algum motivo você quiser usar o modo de codificação de payload legado do pré-Macrome 0.5.0, use a flag --payload-method com SheetPackingMethod. Observe que no modo legado, usar um payload majoritariamente alfanumérico reduzirá o tamanho do arquivo de macro gerado, pois é mais fácil expressar letras e números na forma de macro do que anexar invocações repetidas da função CHAR como =CHAR(123)&CHAR(124)&CHAR(125)... etc. Mas a ferramenta deve ser capaz de lidar também com um payload binário completamente não imprimível.

Uso de Payload de Macro

Semelhante ao uso de payload binário, um documento isca deve ser gerado primeiro. Em seguida, deve ser criado um arquivo de texto contendo as macros a serem executadas. As macros devem ter colunas separadas por caracteres ; e linhas separadas por quebras de linha. Atualmente, o conteúdo das macros especificadas será escrito e executado a partir de A1 - embora suporte futuro seja adicionado para permitir especificar a localização inicial. Exemplos de macros podem ser encontrados em /Docs/macro_example.txt e /Docs/multi_column_macro_example.txt.

Finalmente, execute o comando:

dotnet Macrome.dll build --decoy-document decoy_document.xls --payload macro-example.txt --payload-type Macro

Observe o uso da flag payload-type definida como Macro.

Você pode gerar uma macro você mesmo, ou usar a maravilhosa ferramenta EXCELntDonut para criar uma macro para você.

Baixar ferramenta