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
PackMyPayload — Una PoC che impacchetta payload in contenitori di output per eludere il flag Mark-of-the-Web e dimostrare i rischi associati ai formati di file contenitore. Supporta: ZIP, 7zip, PDF, ISO, IMG, CAB, VHD, VHDX | Kitploit
Strumenti/GitHubGitHub/mgeeky/packmypayload
Strumenti di PhishingSicurezza dei ContenitoriFramework di ExploitGenerazione di PayloadRed TeamingSviluppo Payload
GitHubmgeeky/packmypayload

PackMyPayload

Una PoC che impacchetta payload in contenitori di output per eludere il flag Mark-of-the-Web e dimostrare i rischi associati ai formati di file contenitore. Supporta: ZIP, 7zip, PDF, ISO, IMG, CAB, VHD, VHDX

Vedi Repository
1.2k17152 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

PackMyPayload - Minaccia Emergente del Malware Containerizzato

Vai ai formati supportati

Questo strumento prende un file o una directory in input e li incorpora in un file di output che funge da archivio/contenitore. Può servire come Prova di Concetto per presentare il rischio emergente dei formati di file contenitore con malware incorporato, oltre che come aiuto per gli Operatori Red Team professionisti per affinare le loro manovre di Accesso Iniziale.

Attualmente, gli Attori Malevoli sono noti per introdurre di nascosto il loro malware archiviato in vari formati di file contenitore, per citarne alcuni:

  • 7zip
  • zip
  • ISO
  • IMG

Lo fanno per far passare i loro payload attraverso gli scanner di contenuto dei file, ma più importante per evitare di avere il flag Mark-Of-The-Web sui loro file. Ci sono vari motivi per cui gli avversari non vogliono MOTW sui loro file: la Vista Protetta in Microsoft Office è sempre stata tra questi.

Se forniscono un file contenitore alle loro vittime, una base per disabilitare le macro VBA nei documenti Office provenienti da Internet potrebbe essere aggirata.

Contesto

Il 7 Febbraio Microsoft ha annunciato un cambiamento di configurazione predefinita per bloccare le macro VBA provenienti da Internet. Questo è un passo incredibile verso l'indurimento della configurazione di base della workstation dell'utente e del software client installato. Forse in ritardo, ma un passo importante che influisce drasticamente in modo positivo sulle configurazioni tipiche di Windows+Office.

Il comportamento implementato è spiegato come funzionante differenziando i documenti Office abilitati alle macro in base al flag MOTW (Mark of the Web). Quel flag funge da etichetta contaminata disponibile per i software client (browser, client di posta, archiviatori, ecc.) per contrassegnare i file provenienti da aree non attendibili come Internet.

Outflank ha fatto più luce su MOTW, già nel 2020, indicando aree in cui il flag MOTW non viene propagato uniformemente. Queste aree svolgono un ruolo di gap difensivo e sono comunemente sfruttate dagli attori malevoli ormai da anni.

La loro ricerca ha rivelato che alcuni formati di file contenitore - in particolare ISO, VHD/VHDX - non propagano il flag di contaminazione MOTW sui file interni durante il montaggio automatico o l'estrazione automatica. Inoltre, Windows 8+ è in grado di aprire questi formati automaticamente con un doppio clic, rendendoli portatori di infezione notori, che potrebbero svalutare MOTW nel suo ruolo di misura di sicurezza.

Demo - Come gli Attori Malevoli Evadono MOTW e Introducono Macro

Vediamo come si presenta in pratica il flag Mark of the Web:

1. Scarica un file normale usando il tuo Browser

1.gif

Dopo aver scaricato un file, fai clic destro su di esso e rivedi le sue proprietà.

Vedrai un messaggio che chiede di Sbloccare il file, perché proviene da una zona non attendibile:

motw

Quell'informazione è memorizzata in NTFS ADS (Alternate Data Stream) chiamato Zone.Identifier che appare così:

zone-identifier

Il ZoneId=3 svolge il ruolo di contrassegnare il file come contaminato.

2. Impacchetta quel file in ISO

Usando PackMyPayload.py inserisci il file in un disco ISO Joliet facilmente con un comando:

root@kitploit:~
PS> py PackMyPayload.py 7z2107-x64.exe 7z2107-x64.iso

2.gif

3. Servi il file con Simple HTTP Server, scarica, apri ISO, verifica MOTW

Dopo aver creato il file ISO, simula un server HTTP usando Python:

root@kitploit:~
PS> py -m http.server 80

e poi scarica il file ISO usando il tuo Browser.

3.gif

Quando controlli le Proprietà di quel file ISO, vedrai che è contrassegnato con il flag MOTW.

marked

Tuttavia, il file EXE dell'installer di 7zip all'interno non è contrassegnato con MOTW!

not-marked


Motivazione

Approfittando dell'occasione che gli occhi dell'Industria sono puntati sulla coraggiosa decisione di Microsoft di bloccare le macro VBA, noi, professionisti della Sicurezza Informatica che teniamo nella massima considerazione l'aumento della resilienza delle tecnologie mondiali contro il loro uso improprio, vogliamo aggiungere il seguente spunto alle attuali TTP degli Attori Malevoli:

Gli Attori Malevoli sono ben consapevoli dell'impatto che MOTW ha sui loro payload di phishing. Si sono adattati da tempo e ora stanno introducendo di nascosto i loro programmi malevoli all'interno di contenitori. Tra quelli più comunemente osservati possiamo evidenziare ISO, IMG, CAB.

Ora rilascio questo strumento per aumentare lo slancio creato dalla posizione di Microsoft e per aiutare a intensificare le discussioni su queste vie di evasione.

Si consiglia di contenere (e/o bloccare) i file con le estensioni sopra elencate ogni volta che provengono da zone non attendibili e ovunque applicabile:

  • Proxy Web
  • Motori di scansione della posta
  • Agenti di protezione degli endpoint - EDR, XDR, AV
  • Moduli e funzionalità di caricamento file

Lo strumento rilasciato consentirà, si spera, a più Red Team di simulare i rischi discussi e di aiutarli a identificare più facilmente le lacune di rilevamento all'interno delle difese dei loro Partner.


Caratteristiche

Questo script offre i seguenti vantaggi e chicche:

  • Impacchetta file o directory di input in un contenitore di output
  • Può backdoorare contenitori esistenti o crearne di nuovi.
  • Fornisce crittografia tramite password per formati supportati

Formati supportati:

  • Nel caso di ZIP, MOTW può essere rimosso quando CVE-2022-41091 viene sfruttato. PackMyPayload contrassegna per impostazione predefinita i file ZIP interni come di sola lettura a meno che non venga specificato --zip-noreadonly.

Installazione

  • Clona questo repository
  • Installa i requisiti:
root@kitploit:~
cmd> pip3 install -r requirements.txt

Esempio di utilizzo

  1. Impacchetta una directory con file in ISO:
root@kitploit:~
PS> py PackMyPayload.py C:\my\dir malicious.iso -v

+      o     +              o   +      o     +              o
    +             o     +           +             o     +         +
    o  +           +        +           o  +           +          o
-_-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-_-_-_-_-_-_-_,------,      o
   :: PACK MY PAYLOAD (1.2.0)       -_-_-_-_-_-_-|   /\_/\
   for all your container cravings   -_-_-_-_-_-~|__( ^ .^)  +    +
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-__-_-_-_-_-_-_-''  ''
+      o         o   +       o       +      o         o   +       o
+      o            +      o    ~   Mariusz Banach / mgeeky    o
o      ~     +           ~          <mb [at] binary-offensive.com>
    o           +                         o           +           +

[.] Packaging input file to output .iso (iso)...
Burning files onto ISO:
    Adding file: //malicious.lnk
    Adding file: //malicious.docm
[INFO] [+] File packaged into ISO.
[INFO] Successfully packed input file.

[+] Generated file written to (size: 69632): malicious.iso
  1. Per impacchettare file in VHD/VHDX, è necessario eseguire questo script su Windows da un contesto utente elevato (es. Amministratore locale). Questo a causa di DISKPART che richiede accesso Admin agli oggetti/namespace del dispositivo fisico. La migliore esperienza si ottiene eseguendo lo script su Windows Terminal (wt) o ConEmu in quanto supportano i colori ANSI. In caso contrario, se l'output risultasse brutto, disabilita quei colori con il flag -N:
root@kitploit:~
PS> py PackMyPayload.py .\evil.lnk .\evil.vhd -v -N

+      o     +              o   +      o     +              o
    +             o     +           +             o     +         +
    o  +           +        +           o  +           +          o
-_-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-_-_-_-_-_-_-_,------,      o
   :: PACK MY PAYLOAD (1.2.0)       -_-_-_-_-_-_-|   /\_/\
   for all your container cravings   -_-_-_-_-_-~|__( ^ .^)  +    +
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-__-_-_-_-_-_-_-''  ''
+      o         o   +       o       +      o         o   +       o
+      o            +      o    ~   Mariusz Banach / mgeeky    o
o      ~     +           ~          <mb [at] binary-offensive.com>
    o           +                         o           +           +

[.] Packaging input file to output .vhd (vhd)...
[INFO] Drive letters currently occupied:
    X
    C
    Z
    D
[INFO] Will create VHD of size:    1024MB (Dynamic)
[INFO] Will assign VHD letter :    V:
[INFO] Will format VHD with   :    FAT32
[INFO] Creating VHD file...
[+] Created & mounted VHD file on V:\
[.] Packing files into created VHD...
[INFO] Packaged file:
[INFO]     evil.lnk => V:\
[.] Detaching VHD file...
[+] Detached VHD file from V:\
[INFO] [+] File packaged into VHD.
[INFO] Successfully packed input file.

[+] Generated file written to (size: 6311936): evil.vhd

Utilizzo completo

root@kitploit:~
usage:
+      o     +              o   +      o     +              o
    +             o     +           +             o     +         +
    o  +           +        +           o  +           +          o
-_-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-_-_-_-_-_-_-_,------,      o
   :: PACK MY PAYLOAD (1.3.0)       -_-_-_-_-_-_-|   /\_/\
   for all your container cravings   -_-_-_-_-_-~|__( ^ .^)  +    +
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-__-_-_-_-_-_-_-''  ''
+      o         o   +       o       +      o         o   +       o
+      o            +      o    ~   Mariusz Banach / mgeeky    o
o      ~     +           ~          <mb [at] binary-offensive.com>
    o           +                         o           +           +

Usage: PackMyPayload.py [options] <infile> <outfile>

options:
  -h, --help            show this help message and exit

Required arguments:
  infile                Input file/directory to be packaged into output archive/container
  outfile               Output file with extension pointing at output format

Options:
  -v, --verbose         Verbose mode.
  -d, --debug           Debug mode.
  -N, --nocolor         Dont use colors in text output.
  -i BACKDOOR, --backdoor BACKDOOR
                        Instead of generating blank new output container/archive, will backdoor existing input one.
  -n NAME, --filename NAME
                        Package input file into archive/container under this filename (may contain relative path).
  -p PASSWORD, --password PASSWORD
                        If output archive/container format supports password protection, use this password to protect
                        output file.
  --out-format {zip,7z,iso,img,cab,pdf,vhd,vhdx}
                        Explicitely define output format disregarding output file's extension. Can be one of
                        following: zip, 7z, iso, img, cab, pdf, vhd, vhdx
  -H HIDE, --hide HIDE  (Supported in ISO/IMG, ZIP) Set hidden attribute on file(s). Cannot be repeated, only comma-
                        separated. Example: --hide icon.ico,evil.exe . Supports wildcards: --hide icon?.*

ZIP specific options:
  --zip-noreadonly      DISABLE ZIP MOTW bypass that is used by default. By default, PackMyPayload marks Office files
                        as Read-Only making ZIP software unable to set MOTW flag on them when extracted. This option
                        disables that behavior.

VHD specific options:
  --vhd-size SIZE       VHD dynamic size in MB. Default: 1024
  --vhd-letter LETTER   Drive letter where to mount VHD drive. Default: will pick unused one at random.
  --vhd-filesystem FS   Filesystem to be used while formatting VHD. Default: FAT32. Supported: fat, fat32, ntfs

=====================================================

Supported container/archive formats:

        - zip
        - 7z
        - iso
        - img
        - cab
        - pdf
        - vhd
        - vhdx

=====================================================

Problemi noti

  • Non è possibile creare directory durante la copia di file su volumi montati VHD/VHDX.

TODO

  • Aggiungere supporto per file MSI

  • Incorporare file in documenti MS Office 2007+: word -> embeddings -> oleObject1.bin (flusso OLE) + aggiustare

  • Valutare l'aggiunta del supporto ad altri formati di archivio esotici (non proprio utili per MOTW o supportati nativamente da Windows):

    • tar
    • cpio
    • pax
    • xar
    • ar
    • mtree
    • shar
    • tar
    • cpgz
    • uu

Curiosità

Ti chiedo gentilmente di leggere la seguente riga ad alta voce e il più velocemente possibile davanti a uno specchio:

root@kitploit:~
py Pack My Payload dot py

Alcuni dicono che l'incantesimo evoca l'antico DAEMON e Pecore ( ͡~ ͜ʖ ͡°)


Contributori

Un applauso e grazie ai seguenti contributori che hanno aiutato a migliorare questo strumento:

  • @ChoiSG (@_choisec) - ha aggiunto il flag --hide per nascondere file nei contenitori ISO/IMG
  • Daniel Hauenstein (@dhauenstein) - ha risolto un problema con il flag --hide

☕ Mostra Supporto ☕

Questo e altri progetti sono il risultato di notti insonni e molto duro lavoro. Se ti piace quello che faccio e apprezzi che restituisco sempre alla comunità, Considera di offrirmi un caffè (o meglio una birra) solo per dire grazie! 💪


root@kitploit:~
Mariusz Banach / mgeeky, (@mariuszbit)
<mb [at] binary-offensive.com>
Scarica lo strumento
FormatoRimuove MOTW?Supporto Windows nativo?Richiede elevazione?Note
ZipNo/Sì*SìNo(MOTW rimosso tramite CVE-2022-41091)
7zipParzialmenteNoNoMOTW rimosso solo su estrazione manuale dei file
ISOSìSìNo
IMGSìSìNo
PDF?SìNoDipende dal supporto Javascript nel lettore PDF
CABNoSìNoRichiede alcuni clic aggiuntivi dalla vittima
VHDSìSìSìQuesto script attualmente non può creare directory
VHDXSìSìSìQuesto script attualmente non può creare directory
  • lha
  • WinZip Pro supporta anche l'estrazione dei seguenti formati - forse vale la pena aggiungerli:

    • B64, BHX, BZ, BZ2, GZ, HQX, LHA, LZH, MIM, TAZ, TBZ,
    • TBZ2, TGZ, TXZ, TZ, UU, UUE, VMDK, XXE, XZ, Z, ZIPX,