Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Macrome — Lettore/Scrittore di documenti con macro Excel per Red Teamers e Analisti | Kitploit
Strumenti/GitHubGitHub/michaelweber/macrome
Generazione di PayloadExploitPhishingAnalisi MalwarePenetration TestingIngegneria SocialeAnalisi di BinariRed Teaming
GitHubmichaelweber/macrome

Macrome

Lettore/Scrittore di documenti con macro Excel per Red Teamers e Analisti

Vedi Repository
522781144 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Macrome

Un Lettore/Scrittore di Documenti con Macro Excel per Red Team e Analisti. I post sul blog che descrivono cosa fa questo strumento si trovano qui e qui.

Un esempio di documento creato usando il template predefinito.

Installazione / Compilazione

Clona o scarica questo repository, lo strumento può essere eseguito usando dotnet - per esempio:

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

oppure

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

Nota che è necessaria una build 5.0+ di dotnet per farlo funzionare come configurato - può essere scaricata da https://dotnet.microsoft.com/download/dotnet/5.0.

Rilasci binari dello strumento che non richiedono dotnet e contengono un eseguibile binario possono essere trovati nella sezione Release per Windows, OSX e Linux.

Utilizzo

Esegui Macrome usando dotnet run dalla directory della soluzione, oppure dotnet contro il binario compilato di Macrome. Ci sono tre modalità di funzionamento per Macrome: modalità Build, modalità Dump e modalità Deofuscation.

Modalità Build

Esegui Macrome con il comando build per generare un documento Excel contenente un foglio macro offuscato, utilizzando un documento esca e un payload macro forniti. dotnet Macrome.dll build -h mostrerà le istruzioni complete di utilizzo.

Ad esempio, per creare un documento usando il documento esca path/to/decoy_document.xls e il shellcode binario x86 memorizzato in path/to/shellcode.bin, esegui dotnet Macrome.dll build --decoy-document path/to/decoy_document.xls --payload /path/to/shellcode.bin. Questo genererà un documento XLS 2003 che, dopo essere stato aperto e aver premuto il pulsante "Abilita Contenuto", eseguirà lo shellcode di shellcode.bin.

Come DOVREI eseguirlo?

Il resto della documentazione spiegherà ogni flag/funzione in dettaglio, ma al momento il "più recente e migliore" che Macrome ha da offrire può essere ottenuto eseguendo:

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

Utilizzo del Payload Binario

Per prima cosa genera un documento Excel "esca" di base che conterrà il contenuto che gli utenti dovrebbero vedere. Dovrebbe essere una sorta di esca che convince gli utenti a cliccare sul pulsante "Abilita Macro" visualizzato in Excel. Ci sono alcuni esempi della "più recente e migliore" creazione di esche su https://inquest.net/blog/2020/05/06/ZLoader-4.0-Macrosheets-. Dopo aver creato questo foglio, salva il documento come tipo Excel 97-2003 Workbook (*.xls) invece del formato più recente Excel Workbook (*.xlsx). Un esempio di documento esca è incluso in /Docs/decoy_document.xls. Nota che se stai usando l'Offuscamento XOR per proteggere il tuo documento, attualmente NON puoi aggiungere un'immagine alla tua esca.

Successivamente, genera un payload shellcode da fornire allo strumento. Il payload binario di esempio (che apre calc) è stato generato usando msfvenom con i seguenti parametri:

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

Sono supportati anche payload a 64 bit. Il payload di esempio a 64 bit, popcalc64.bin, è stato generato usando il comando:

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

Questo payload può quindi essere incorporato eseguendo il comando:

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

Attualmente, i payload a 64 bit richiedono che sia fornito anche un payload x86. Se questo non è un problema, puoi semplicemente specificare dati spazzatura per il flag del payload x86.

Esiste un supporto eventuale per incorporare assembly .NET direttamente nel documento, ma se vuoi farlo ora suggerisco di usare EXCELntDonut.

A partire da Macrome 0.5.0 e superiori, tutti i payload saranno codificati con base64, quindi il tuo payload potrà contenere qualsiasi sequenza di byte (inclusi i byte nulli).

Incorporare Eseguibili

Se vuoi incorporare un eseguibile .NET usando Macrome, suggerisco di usare Donut con il comando donut.exe -a 3 -b 1 -z 1 executableToEmbed.exe, e poi incorporare il payload risultante come payload sia a 32 bit che a 64 bit.

Un'altra valida alternativa è Amber che ha funzionato benissimo per incorporare binari Go piuttosto grandi.

Codifica Legacy del Payload

Se per qualche motivo vuoi usare la modalità legacy di codifica del payload pre-Macrome 0.5.0, usa il flag --payload-method con SheetPackingMethod. Nota che nella modalità legacy l'uso di un payload prevalentemente alfanumerico ridurrà la dimensione del file macro generato, poiché è più facile esprimere lettere e numeri in forma macro invece di aggiungere invocazioni CHAR ripetutamente come =CHAR(123)&CHAR(124)&CHAR(125)... ecc. Tuttavia lo strumento dovrebbe essere in grado di gestire anche un payload binario completamente non stampabile.

Utilizzo del Payload Macro

Simile all'utilizzo del payload binario, deve prima essere generato un documento esca. Successivamente, deve essere creato un file di testo contenente le macro da eseguire. Le macro dovrebbero avere colonne separate dal carattere ; e righe separate da nuove righe. Attualmente il contenuto delle macro specificate verrà scritto ed eseguito a partire da A1 - anche se in futuro verrà aggiunto il supporto per specificare la posizione di partenza. Esempi di macro si trovano in /Docs/macro_example.txt e /Docs/multi_column_macro_example.txt.

Infine, esegui il comando:

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

Nota l'uso del flag payload-type impostato su Macro.

Puoi generare una macro da solo, oppure puoi usare il fantastico strumento EXCELntDonut per creare una macro per te.

Scarica lo strumento