Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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
PackMyPayload — Uma PoC que empacota payloads em contêineres de saída para evadir a flag Mark-of-the-Web e demonstrar riscos associados a formatos de arquivo de contêiner. Suporta: ZIP, 7zip, PDF, ISO, IMG, CAB, VHD, VHDX | Kitploit
Ferramentas/GitHubGitHub/mgeeky/packmypayload
Ferramentas de PhishingSegurança de ContêineresFrameworks de ExploraçãoGeração de PayloadsRed TeamingDesenvolvimento de Payloads
GitHubmgeeky/packmypayload

PackMyPayload

Uma PoC que empacota payloads em contêineres de saída para evadir a flag Mark-of-the-Web e demonstrar riscos associados a formatos de arquivo de contêiner. Suporta: ZIP, 7zip, PDF, ISO, IMG, CAB, VHD, VHDX

Ver Repositório
1.2k1715há 2 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

PackMyPayload - Ameaça Emergente de Malware em Contêineres

Ir para formatos suportados

Esta ferramenta recebe um ficheiro ou diretório como entrada e incorpora-os num ficheiro de saída atuando como um arquivo/contêiner. Pode servir como prova de conceito (Proof-of-Concept) apresentando o risco emergente de formatos de ficheiros contêiner com malware incorporado, bem como auxiliar Operadores de Red Team profissionais a aprimorar suas manobras de Acesso Inicial.

Atualmente, sabe-se que Atores de Ameaças contrabandeiam seus malware arquivados em vários formatos de ficheiros contêiner, para citar alguns:

  • 7zip
  • zip
  • ISO
  • IMG

Eles fazem isso para fazer seus payloads passarem pelos scanners de conteúdo de ficheiros, mas mais importante para evitar ter a flag Mark-Of-The-Web nos seus ficheiros. Existem vários motivos pelos quais os adversários não querem MOTW nos seus ficheiros: Protected View no Microsoft Office sempre foi um deles.

Se eles fornecerem um ficheiro contêiner às suas vítimas, uma base para desativar macros VBA em documentos do Office originados da Internet pode ser contornada.

Contexto

Em 7 de fevereiro, a Microsoft anunciou uma alteração de configuração padrão para bloquear macros VBA originadas da Internet. Este é um passo incrível para endurecer a configuração base da estação de trabalho do Utilizador e do software cliente instalado. Indiscutivelmente atrasado, mas um passo importante que afeta dramaticamente de forma positiva as configurações típicas de instalação do Windows+Office.

O comportamento implementado é explicado como funcionando ao diferenciar documentos do Office habilitados para macro com base na flag MOTW (Mark of the Web). Essa flag atua como um rótulo contaminado disponível para clientes de software (navegadores, clientes de e-mail, arquivadores de ficheiros, etc.) para marcar ficheiros originados de áreas não confiáveis como a Internet.

A Outflank trouxe mais luz sobre o MOTW, em 2020, ao indicar áreas onde a flag MOTW não é uniformemente propagada. Essas áreas servem como lacuna de defesa e são comumente abusadas por atores de ameaças há anos.

A pesquisa deles revelou que alguns formatos de ficheiros contêiner - nomeadamente ISO, VHD/VHDX - não propagam a flag de contaminação MOTW para os ficheiros internos ao montar ou extrair automaticamente. Além disso, o Windows 8+ é capaz de abrir esses formatos automaticamente ao clicar duas vezes, tornando-os notórios portadores de infeção, possivelmente desvalorizando o MOTW no seu papel de medida de segurança.

Demonstração - Como Atores de Ameaças Evitam MOTW e Contrabandeiam Macros

Vamos apresentar como a flag Mark of the Web se parece na prática:

1. Descarregue um ficheiro regular usando o seu Navegador

1.gif

Após descarregar um ficheiro, clique com o botão direito nele e reveja as suas propriedades.

Verá uma mensagem a solicitar que desbloqueie o ficheiro, porque ele é originado de uma zona não confiável:

motw

Essa informação é armazenada no NTFS ADS (Alternate Data Stream) chamado Zone.Identifier, que se parece com isto:

zone-identifier

O ZoneId=3 desempenha o papel de marcar o ficheiro como contaminado.

2. Empacote esse ficheiro num ISO

Usando PackMyPayload.py, coloque o ficheiro num disco Joliet ISO facilmente com o comando:

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

2.gif

3. Sirva o ficheiro com um Servidor HTTP Simples, descarregue, abra ISO, reveja MOTW

Depois de criar o ficheiro ISO, simule um servidor HTTP usando Python:

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

e depois descarregue o ficheiro ISO usando o seu Navegador.

3.gif

Quando rever as Propriedades desse ficheiro ISO, verá que está marcado com a flag MOTW.

marked

No entanto, o ficheiro EXE do instalador 7zip interno não está marcado com MOTW!

not-marked


Justificativa

Aproveitando a ocasião em que os olhos da Indústria estão voltados para a corajosa decisão da Microsoft de bloquear Macros VBA, nós, Profissionais de Segurança, levando em máxima consideração o aumento da resiliência das tecnologias mundiais contra o seu uso indevido, queremos acrescentar a seguinte perceção nas atuais TTPs dos Atores de Ameaças:

Os Atores de Ameaças estão bem conscientes do impacto que o MOTW tem nos seus payloads de phishing. Eles adaptaram-se há muito tempo e agora estão a contrabandear os seus programas maliciosos dentro de contêineres. Entre os mais comumente observados, podemos destacar ISO, IMG, CAB.

Estou agora a lançar esta ferramenta para aumentar o momentum construído na posição da Microsoft e ajudar a intensificar discussões sobre estas vias de evasão.

É aconselhável conter (e/ou bloquear) ficheiros com as extensões listadas acima sempre que forem originados de zonas não confiáveis e sempre que aplicável:

  • Proxies Web
  • Motores de verificação de Correio
  • Agentes de proteção de endpoints - EDRs, XDRs, AVs
  • Formulários e funcionalidades de carregamento de ficheiros

Espera-se que a ferramenta lançada permita que mais Equipas Vermelhas simulem os riscos discutidos e as ajude a identificar lacunas de deteção nas defesas dos seus Parceiros mais facilmente.


Recursos

Este script oferece as seguintes vantagens e mimos:

  • Empacota o ficheiro ou diretório de entrada no contêiner de saída
  • Pode adulterar (backdoor) contêineres existentes ou criar novos.
  • Fornece encriptação por palavra-passe para formatos suportados

Formatos suportados:

  • No caso ZIP, o MOTW pode ser removido quando CVE-2022-41091 é abusado. PackMyPayload por default marca os ficheiros ZIP internos como apenas leitura, a menos que --zip-noreadonly seja fornecido.

Instalação

  • Clone este repositório
  • Instale os requisitos:
root@kitploit:~
cmd> pip3 install -r requirements.txt

Exemplo de uso

  1. Empacotar um diretório com ficheiros num 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. Para empacotar ficheiros em VHD/VHDX, é necessário executar este script no Windows a partir de um contexto de utilizador elevado (por exemplo, Administrador Local). Isto deve-se ao DISKPART exigir acesso Admin aos objetos/namespace dos dispositivos físicos. A melhor experiência é obtida executando o script no Windows Terminal (wt) ou ConEmu, pois suportam cores ANSI. Caso contrário, se a saída parecer má, desative essas cores com a 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

Utilização completa

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

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

Problemas conhecidos

  • Não é possível criar diretórios ao copiar ficheiros para volumes montados VHD/VHDX.

A FAZER

  • Adicionar suporte para ficheiros MSI

  • Incorporar ficheiros em documentos do MS Office 2007+: word -> embeddings -> oleObject1.bin (fluxo OLE) + ajustar

  • Considerar adicionar suporte para outros formatos de arquivo exóticos (não lidam realmente com MOTW ou suportados nativamente pelo Windows):

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

Curiosidades

Peço gentilmente que leia a seguinte linha em voz alta e o mais rápido que conseguir em frente a um espelho:

root@kitploit:~
py Pack My Payload dot py

Alguns dizem que o feitiço invoca o antigo DAEMON e Ovelhas ( ͡~ ͜ʖ ͡°)


Contribuidores

Aplausos e agradecimentos aos seguintes contribuidores que ajudaram a melhorar esta ferramenta:

  • @ChoiSG (@_choisec) - adicionou a flag --hide para ocultar ficheiros em contêineres ISO/IMG
  • Daniel Hauenstein (@dhauenstein) - corrigiu um problema com a flag --hide

☕ Mostre Apoio ☕

Este e outros projetos são o resultado de noites sem dormir e muito trabalho duro. Se gosta do que faço e aprecia o facto de eu estar sempre a retribuir à comunidade, Considere comprar-me um café (ou melhor uma cerveja) só para dizer obrigado! 💪


root@kitploit:~
Mariusz Banach / mgeeky, (@mariuszbit)
<mb [at] binary-offensive.com>
Baixar ferramenta
FormatoRemove MOTW?Suporte nativo do Windows?Requer elevação?Observações
ZipNão/Sim*SimNão(MOTW removido com CVE-2022-41091)
7zipParcialmenteNãoNãoMOTW removido apenas na extração manual de ficheiros
ISOSimSimNão
IMGSimSimNão
PDF?SimNãoDepende do suporte a Javascript no leitor de PDF
CABNãoSimNãoRequer alguns cliques adicionais do lado da vítima
VHDSimSimSimEste script atualmente não consegue criar diretórios
VHDXSimSimSimEste script atualmente não consegue criar diretórios
  • lha
  • WinZip Pro também suporta a extração dos seguintes formatos - talvez valha a pena adicioná-los também:

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