Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
PackMyPayload — Ein PoC, der Payloads in Ausgabecontainer verpackt, um das Mark-of-the-Web-Flag zu umgehen und die Risiken im Zusammenhang mit Container-Dateiformaten aufzuzeigen. Unterstützt: ZIP, 7zip, PDF, ISO, IMG, CAB, VHD, VHDX | Kitploit
Tools/GitHubGitHub/mgeeky/packmypayload
Phishing-ToolsContainer-SicherheitExploit-FrameworksPayload-GenerierungRed TeamingPayload-Entwicklung
GitHubmgeeky/packmypayload

PackMyPayload

Ein PoC, der Payloads in Ausgabecontainer verpackt, um das Mark-of-the-Web-Flag zu umgehen und die Risiken im Zusammenhang mit Container-Dateiformaten aufzuzeigen. Unterstützt: ZIP, 7zip, PDF, ISO, IMG, CAB, VHD, VHDX

Repository anzeigen
1.2k1715vor 2 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

PackMyPayload – Aufkommende Bedrohung durch containerisierte Schadsoftware

Weiter zu unterstützte Formate

Dieses Tool nimmt eine Datei oder ein Verzeichnis als Eingabe und bettet sie in eine Ausgabedatei ein, die als Archiv/Container fungiert. Es kann als Proof-of-Concept für das aufkommende Risiko von Container-Dateiformaten mit eingebetteter Schadsoftware dienen, sowie als Helfer für professionelle Red-Team-Operatoren zur Schärfung ihrer Initial-Access-Manöver.

Gegenwärtig ist bekannt, dass Bedrohungsakteure ihre Schadsoftware in verschiedenen Container-Dateiformaten schmuggeln, um nur einige zu nennen:

  • 7zip
  • zip
  • ISO
  • IMG

Sie tun dies, um ihre Payloads an Datei-Inhaltscannern vorbeizuschmuggeln, aber vor allem, um das Mark-of-the-Web-Flag auf ihren Dateien zu vermeiden. Es gibt verschiedene Motive, warum Gegner kein MOTW auf ihren Dateien haben wollen: Geschützte Ansicht in Microsoft Office war schon immer eines davon.

Sollten sie ihren Opfern eine Container-Datei bereitstellen, könnte eine Grundlage für die Deaktivierung von VBA-Makros in aus dem Internet stammenden Office-Dokumenten umgangen werden.

Hintergrund

Am 7. Februar gab Microsoft eine Standardkonfigurationsänderung bekannt, um VBA-Makros aus dem Internet zu blockieren. Dies ist ein unglaublicher Schritt zur Härtung der Basiskonfiguration des Benutzer-Arbeitsplatzes und der darin installierten Client-Software. Zugegebenermaßen überfällig, aber ein wichtiger Schritt, der die typischen Windows+Office-Installationen drastisch positiv beeinflusst.

Das implementierte Verhalten wird dadurch erklärt, dass Makro-fähige Office-Dokumente anhand des MOTW-Flags (Mark of the Web) unterschieden werden. Dieses Flag fungiert als kontaminierter Label, der Software-Clients (Browser, Mail-Clients, Dateiarchivierer usw.) zur Verfügung steht, um Dateien aus nicht vertrauenswürdigen Bereichen wie dem Internet zu kennzeichnen.

Outflank hat bereits 2020 mehr Licht auf MOTW geworfen, indem sie Bereiche aufzeigten, in denen das MOTW-Flag nicht einheitlich weitergegeben wird. Diese Bereiche dienen als Sicherheitslücke und werden seit Jahren von Bedrohungsakteuren missbraucht.

Ihre Forschung ergab, dass einige Container-Dateiformate – nämlich ISO, VHD/VHDX – das MOTW-Kontaminierungs-Flag beim automatischen Mounten oder Extrahieren nicht auf innere Dateien übertragen. Darüber hinaus kann Windows 8+ diese Formate beim Doppelklick automatisch öffnen, was sie zu berüchtigten Infektionsüberträgern macht, die möglicherweise die Rolle von MOTW als Sicherheitsmaßnahme entwerten.

Demo – Wie Bedrohungsakteure MOTW umgehen und Makros einschmuggeln

Lassen Sie uns zeigen, wie das Mark of the Web-Flag in der Praxis aussieht:

1. Laden Sie eine normale Datei mit Ihrem Browser herunter

1.gif

Nach dem Herunterladen einer Datei klicken Sie mit der rechten Maustaste darauf und überprüfen Sie ihre Eigenschaften.

Sie sehen eine Meldung, die Sie auffordert, die Datei zu entsperren, da sie aus einer nicht vertrauenswürdigen Zone stammt:

motw

Diese Information wird im NTFS-ADS (Alternate Data Stream) namens Zone.Identifier gespeichert, der wie folgt aussieht:

zone-identifier

Die ZoneId=3 spielt die Rolle der Markierung einer Datei als kontaminiert.

2. Packen Sie diese Datei in ein ISO

Mit PackMyPayload.py platzieren Sie die Datei einfach mit einem Befehl in ein ISO-Joliet-Disk:

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

2.gif

3. Stellen Sie die Datei mit einem einfachen HTTP-Server bereit, laden Sie sie herunter, öffnen Sie das ISO, überprüfen Sie MOTW

Nachdem Sie die ISO-Datei erstellt haben, imitieren Sie einen HTTP-Server mit Python:

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

und laden Sie dann die ISO-Datei mit Ihrem Browser herunter.

3.gif

Wenn Sie die Eigenschaften dieser ISO-Datei überprüfen, sehen Sie, dass sie mit dem MOTW-Flag markiert ist.

marked

Allerdings ist die innere 7zip-Installer-EXE-Datei nicht MOTW-markiert!

not-marked


Begründung

Wir nutzen die Gelegenheit, dass die Aufmerksamkeit der Branche auf die mutige Entscheidung von Microsoft gerichtet ist, VBA-Makros zu blockieren. Als professionelle Sicherheitsforscher, die größten Wert auf die Erhöhung der Widerstandsfähigkeit der Technologien der Welt gegen ihren Missbrauch legen, möchten wir folgende Einsicht in die aktuellen TTPs von Bedrohungsakteuren einbringen:

Bedrohungsakteure sind sich der Auswirkungen von MOTW auf ihre Phishing-Payloads sehr bewusst. Sie haben sich schon vor langer Zeit angepasst und schmuggeln jetzt ihre bösartigen Programme in Containern. Zu den am häufigsten beobachteten gehören ISO, IMG, CAB.

Ich veröffentliche dieses Tool jetzt, um die Dynamik zu erhöhen, die durch Microsofts Position aufgebaut wurde, und um die Diskussion über diese Umgehungswege zu intensivieren.

Es wird empfohlen, Dateien mit den oben aufgeführten Erweiterungen zu isolieren (und/oder zu blockieren), wenn sie aus nicht vertrauenswürdigen Zonen stammen und wo immer anwendbar:

  • Web-Proxies
  • Mail-Scanning-Engines
  • Endpunktschutz-Agenten – EDRs, XDRs, AVs
  • Datei-Upload-Formulare und -Funktionen

Das veröffentlichte Tool wird hoffentlich mehr Red Teams in die Lage versetzen, die diskutierten Risiken zu simulieren und ihnen helfen, Erkennungslücken in den Abwehrsystemen ihrer Partner leichter zu identifizieren.


Funktionen

Dieses Skript bietet folgende Leckereien und Goodies:

  • Packt eine Eingabedatei oder ein -verzeichnis in einen Ausgabecontainer
  • Kann bestehende Container backdoorn oder neue erstellen.
  • Bietet Passwortverschlüsselung für unterstützte Formate

Unterstützte Formate:

  • Bei ZIP kann MOTW entfernt werden, wenn CVE-2022-41091 ausgenutzt wird. PackMyPayload markiert innere ZIP-Dateien standardmäßig als schreibgeschützt, es sei denn, --zip-noreadonly wird angegeben.

Installation

  • Klonen Sie dieses Repository
  • Installieren Sie die Abhängigkeiten:
root@kitploit:~
cmd> pip3 install -r requirements.txt

Beispielverwendung

  1. Packen Sie ein Verzeichnis mit Dateien in ein 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. Zum Packen von Dateien in VHD/VHDX muss dieses Skript unter Windows in einem erhöhten Benutzerkontext (z.B. Lokaler Administrator) ausgeführt werden. Dies liegt daran, dass DISKPART Administratorzugriff auf physische Geräteobjekte/Namensräume benötigt. Die beste Erfahrung erzielt man, wenn man das Skript in Windows Terminal (wt) oder ConEmu ausführt, da diese ANSI-Farben unterstützen. Andernfalls, falls die Ausgabe schlecht aussieht, deaktivieren Sie diese Farben mit der -N-Flagge:
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

Vollständige Nutzung

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

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

Bekannte Probleme

  • Beim Kopieren von Dateien auf VHD/VHDX-gemountete Volumes können keine Verzeichnisse erstellt werden.

TODO

  • Unterstützung für MSI-Dateien hinzufügen

  • Einbetten von Dateien in MS Office 2007+-Dokumente: word -> embeddings -> oleObject1.bin (OLE-Stream) + anpassen

  • Unterstützung für andere exotische Archivformate in Betracht ziehen (nicht wirklich mit MOTW kompatibel oder von Windows standardmäßig unterstützt):

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

Trivia

Ich bitte Sie höflich, die folgende Zeile laut und so schnell wie möglich vor einem Spiegel zu lesen:

root@kitploit:~
py Pack My Payload dot py

Manche sagen, der Spruch beschwört uralte DAEMONen und Schafe ( ͡~ ͜ʖ ͡°)


Mitwirkende

Ein Applaus und Dankeschön an die folgenden Mitwirkenden, die zur Verbesserung dieses Tools beigetragen haben:

  • @ChoiSG (@_choisec) – --hide-Flag zum Verstecken von Dateien in ISO/IMG-Containern hinzugefügt
  • Daniel Hauenstein (@dhauenstein) – Problem mit dem --hide-Flag behoben

☕ Unterstützung zeigen ☕

Dieses und andere Projekte sind das Ergebnis schlafloser Nächte und viel harter Arbeit. Wenn Ihnen gefällt, was ich tue, und Sie schätzen, dass ich immer etwas an die Community zurückgebe, Erwägen Sie, mir einen Kaffee zu kaufen (oder besser ein Bier) um einfach Danke zu sagen! 💪


root@kitploit:~
Mariusz Banach / mgeeky, (@mariuszbit)
<mb [at] binary-offensive.com>
Tool herunterladen
FormatEntfernt MOTW?Windows-Standardunterstützung?Erhöhte Rechte erforderlich?Anmerkungen
ZipNein/Ja*JaNein(MOTW entfernt mit CVE-2022-41091)
7zipTeilweiseNeinNeinMOTW nur bei manueller Dateiextraktion entfernt
ISOJaJaNein
IMGJaJaNein
PDF?JaNeinHängt von der JavaScript-Unterstützung im PDF-Reader ab
CABNeinJaNeinErfordert einige zusätzliche Klicks auf der Opferseite
VHDJaJaJaDieses Skript kann derzeit keine Verzeichnisse erstellen
VHDXJaJaJaDieses Skript kann derzeit keine Verzeichnisse erstellen
  • lha
  • WinZip Pro unterstützt auch die Extraktion der folgenden Formate – möglicherweise lohnt es sich, auch diese hinzuzufügen:

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