
"Bob the Smuggler" : Un outil qui exploite l'attaque HTML Smuggling Attack et vous permet de créer des fichiers HTML avec des archives 7z/zip intégrées. L'outil compresse votre binaire (EXE/DLL) au format 7z/zip, puis chiffre l'archive avec XOR et la cache dans un format d'image PNG/GIF (Image Polyglots).

15 janvier 2024 - Le support de la compression multi-fichiers a été ajouté. Si vous avez plusieurs fichiers générés pour votre payload final (par ex., fichiers de DLL-Sideloading ou fichiers de livraison multi-étapes), vous pouvez désormais utiliser l'option '-i' pour spécifier le chemin du répertoire. Si un chemin de répertoire est fourni, BobTheSmuggler archivera automatiquement tous les fichiers de ce répertoire, chiffrera l'archive avec XOR et l'intégrera dans un PNG/GIF.
Consultez mon blog pour une compréhension approfondie de l'utilisation de cet outil : BobTheSmuggler : Votre couteau suisse cybernétique furtif pour la livraison de payloads indétectables.
"Bob the Smuggler" est un outil qui exploite l'attaque de contrebande HTML (HTML Smuggling Attack) et vous permet de créer des fichiers HTML avec des archives 7z/zip intégrées. L'outil compresse votre binaire (EXE/DLL) au format 7z/zip, puis chiffre l'archive avec XOR et la cache dans un format de fichier image PNG/GIF (Image Polyglots). Le JavaScript intégré dans le HTML téléchargera le fichier PNG/GIF et le stockera dans le cache. Ensuite, le JavaScript extraira les données intégrées dans le PNG/GIF, les assemblera, effectuera un déchiffrement XOR, puis les stockera sous forme de blob en mémoire.

Cet outil prend actuellement en charge les chaînes de livraison de payload suivantes :
Avant d'exécuter l'outil, vous avez besoin des prérequis suivants :
pip install python-magic py7zr pyminizip
Remarque : Pour installer python-magic, vous devez installer la bibliothèque libmagic sur votre système. Suivez cette URL pour installer la bibliothèque libmagic : https://pypi.org/project/python-magic/
Une fois les bibliothèques requises installées, vous pouvez procéder à l'installation de l'outil à l'aide des commandes suivantes :
git clone https://github.com/TheCyb3rAlpha/BobTheSmuggler.git
cd BobTheSmuggler
Une fois installé, vous pouvez utiliser l'outil en exécutant la commande suivante :
python3 BobTheSmuggler.py -h

======================================================================
██████╗ ██████╗ ██████╗ ████████╗██╗ ██╗███████╗
██╔══██╗██╔═══██╗██╔══██╗ ╚══██╔══╝██║ ██║██╔════╝
██████╔╝██║ ██║██████╔╝ ██║ ███████║█████╗
██╔══██╗██║ ██║██╔══██╗ ██║ ██╔══██║██╔══╝
██████╔╝╚██████╔╝██████╔╝ ██║ ██║ ██║███████╗
╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝╚══════╝
███████╗███╗ ███╗██╗ ██╗ ██████╗ ██████╗ ██╗ ███████╗██████╗
██╔════╝████╗ ████║██║ ██║██╔════╝ ██╔════╝ ██║ ██╔════╝██╔══██╗
███████╗██╔████╔██║██║ ██║██║ ███╗██║ ███╗██║ █████╗ ██████╔╝
╚════██║██║╚██╔╝██║██║ ██║██║ ██║██║ ██║██║ ██╔══╝ ██╔══██╗
███████║██║ ╚═╝ ██║╚██████╔╝╚██████╔╝╚██████╔╝███████╗███████╗██║ ██║
╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝╚══════╝╚═╝ ╚═╝
======================================================================
usage: BobTheSmuggler.py [-h] -i EXE_FILE [-p PASSWORD] -f OUTPUT_HTML -o OUTPUT_FILENAME -t {html,svg,png,gif} [-c {7z,zip}] [-u PNG_URL] [-png PNG_FILE] [-gif GIF_FILE] [-e CUSTOM_FILE] [-v]
Cache un fichier EXE/DLL dans un fichier HTML/SVG.
optional arguments:
-h, --help show this help message and exit
-i EXE_FILE Chemin vers le fichier EXE/DLL.
-p PASSWORD Mot de passe pour la compression.
-f OUTPUT_HTML Fichier HTML smuggled (.html)
-o OUTPUT_FILENAME Nom du fichier téléchargé (votre payload se trouve dans ce fichier.)
-t {html,svg,png,gif} Type de modèle intégré.
-c {7z,zip} Format de compression : 7z ou zip (par défaut : zip)
-u PNG_URL URL pour l'image PNG intégrée.
-png PNG_FILE Chemin vers le fichier PNG pour intégrer EXE/DLL.
-gif GIF_FILE Chemin vers le fichier GIF pour intégrer EXE/DLL.
-e CUSTOM_FILE Fichier HTML à cloner comme modèle.
-v, --verbose Activer la journalisation détaillée.
Si vous souhaitez compresser SharpHound.exe au format 7z (protégé par mot de passe) et le stocker dans un fichier HTML, vous pouvez utiliser la commande suivante :
python3 BobTheSmuggler.py -i path/to/SharpHound.exe -p 123456 -c 7z -f SharpHound.html -o SharpHound.7z -t html

Pour créer un fichier HTML avec le payload intégré caché dans un fichier PNG, vous pouvez utiliser la commande suivante :
python3 BobTheSmuggler.py -i <chemin_du_fichier_entree> -p <mot_de_passe_pour_chiffrer> -f <nom_fichier_HTML_sortie> -o <Nom_fichier_7z/zip_sortie stocké dans le HTML> -t png test.png

REMARQUE : Assurez-vous d'héberger les fichiers PNG/GIF sur un CDN. (Recommandé : vous devez utiliser l'option -u pour fournir l'URL CDN où vous hébergerez le fichier PNG/GIF). À des fins de test, vous pouvez utiliser l'application flask (app.py) qui hébergera banner.gif et banner.png sur localhost:8000.