Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
blenny — Un système de livraison de payloads qui les intègre dans le fichier d'icône d'un exécutable ! | Kitploit
Outils/GitHubGitHub/frank2/blenny
Génération de PayloadsStéganographieRed TeamingDéveloppement de Charges UtilesAttaque Adversariale
GitHubfrank2/blenny

blenny

Un système de livraison de payloads qui les intègre dans le fichier d'icône d'un exécutable !

Voir le dépôt
7410il y a 2 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

BLENNY!

Blenny est un outil de preuve de concept d'obfuscation de payload pour Windows qui cache les données du payload exécutable dans l'icône de l'exécutable. Il doit son nom au blennie à dents de sabre, qui imite le comportement et l'apparence des poissons nettoyeurs pour piéger des poissons sans méfiance.

Pourquoi ?

Je ne me souviens plus exactement comment l'histoire s'est déroulée, mais un hacker nommé retr0id (@DavidBuchanan314) a soulevé l'idée de cacher un payload dans l'icône d'un exécutable. En raison de diverses particularités des fichiers PNG-- et parce que les fichiers d'icônes Windows peuvent contenir des données PNG-- j'ai réalisé que je pouvais implémenter cette idée assez facilement, il faudrait juste un peu d'huile de coude. J'ai créé la bibliothèque Facade-- une bibliothèque ayant pour but spécifique de générer des payloads dans des fichiers PNG-- à cette fin précise.

Le résultat final est un fichier de payload compact et un système de build qui peuvent être utilisés pour personnaliser un payload de base de type dropper/exécuteur pour Windows.

Acquisition

Blenny utilise la bibliothèque Facade pour créer des payloads à partir de fichiers d'icônes. Ainsi, lors du clonage du dépôt, le sous-module (et ses sous-modules) doit être initialisé :

root@kitploit:~
$ git clone https://github.com/frank2/blenny.git
$ cd blenny
$ git submodule update --init --recursive

C'est tout ce dont vous avez besoin pour initialiser le dépôt en vue de la compilation.

Compilation

Ce projet a littéralement été conçu avec CMake à l'esprit. Avant de compiler ce projet, il est absolument indispensable d'acquérir et installer CMake. Cela ne fonctionnera probablement pas autrement (à moins d'être vraiment déterminé à définir manuellement toutes les définitions CMake vous-même). Vous aurez également besoin d'une copie de Visual Studio pour compiler le projet.

Ce projet utilise de nombreuses variables CMake pour configurer le processus de compilation. Pour obtenir un payload de démonstration de base, dans lequel un adorable ami mouton se posera sur votre bureau, vous pouvez exécuter les commandes suivantes dans le répertoire principal du projet :

root@kitploit:~
$ mkdir build
$ cd build
$ cmake -D BLENNY_ZTEXT_PAYLOAD=ON ../
$ cmake --build ./ --config Release
$ ./Release/blenny.exe

Par défaut, cela extrait un exécutable nommé « blenny.exe » de l'icône de l'exécutable vers le répertoire temporaire de l'utilisateur courant, puis l'exécute. Le payload par défaut est le DesktopPet de @AdrianoTiger, une reconstruction dédiée du classique esheep.exe des années 90.

Toutes les variables qui permettent cela sont personnalisables ! Une variable de payload (BLENNY_TRAILING_PAYLOAD, BLENNY_TEXT_PAYLOAD, BLENNY_ZTEXT_PAYLOAD ou BLENNY_STEGO_PAYLOAD) doit être définie. Cela contrôle la manière dont le payload est finalement inséré dans l'icône. Voir la bibliothèque Facade pour plus de détails sur ces techniques. Par exemple, pour utiliser votre propre payload, faites ceci :

root@kitploit:~
$ cmake -D BLENNY_PAYLOAD_FILE="path/to/your/payload.exe" -D BLENNY_ZTEXT_PAYLOAD=ON ../
$ cmake --build ./ --config Release

Voici un tableau de toutes les différentes options de configuration que vous pouvez définir, leurs valeurs par défaut et leur rôle.

Télécharger l’outil
OptionTypeValeur par défautBut
BLENNY_PAYLOAD_FILEString"${PROJECT_SOURCE_DIR}/res/defaultpayload.exe"Le payload à intégrer dans le fichier d'icône. Remarque : Étant donné que la technique d'exécution finale est ShellExecuteA, il peut s'agir de n'importe quel fichier pouvant être lancé depuis l'Explorateur, comme un script batch !
BLENNY_ICON_FILEString"${PROJECT_SOURCE_DIR}/res/defaulticon.ico"L'icône à utiliser pour l'exécutable et dans laquelle intégrer le payload. Remarque : Toutes les icônes ne fonctionneront pas ! Une section PNG doit être présente dans le fichier d'icône. Vérifiez les données de l'icône cible dans un éditeur hexadécimal pour voir si une image PNG est incluse !
BLENNY_TRAILING_PAYLOADBooleanOFFActiver un payload de données final dans le fichier PNG de l'icône.
BLENNY_TEXT_PAYLOADBooleanOFFActiver un payload de section tEXt dans le fichier PNG de l'icône.
BLENNY_ZTEXT_PAYLOADBooleanOFFActiver un payload de section zTXt dans le fichier PNG de l'icône, qui est un payload tEXt compressé.
BLENNY_STEGO_PAYLOADBooleanOFFActiver un payload stéganographique dans le fichier PNG de l'icône. Remarque : en raison de la taille d'image de la plupart des icônes limitée à 256x256, tous les payloads ne rentreront pas dans cette option !
BLENNY_PAYLOAD_KEYWORDString"blenny"Pour les payloads text/ztext, définir le mot-clé étiquetant les données du payload.
BLENNY_ADMINBooleanOFFActive le mot-clé runas pour exécuter le payload en tant qu'administrateur.
BLENNY_PATHString"%TEMP%"Le chemin où stocker le payload avant l'exécution. Les variables d'environnement sont développées au moment de l'exécution.
BLENNY_FILENAMEString"blenny"Le nom de fichier à donner au payload lors de l'extraction.
BLENNY_RANDOM_FILENAMEBooleanOFFActive la génération d'un nom de fichier aléatoire pour le payload lors de l'extraction.
BLENNY_RANDOM_FILENAME_LENGTHInteger8Ajuste la longueur du nom de fichier aléatoire.
BLENNY_RANDOM_FILENAME_RANDOM_LENGTHBooleanOFFDonne une longueur aléatoire au nom de fichier lors de l'extraction.
BLENNY_PAYLOAD_ARGSString""Les arguments à donner au fichier de payload lors de l'exécution.
BLENNY_FILE_ATTRIBUTESInteger0x80 (aka FILE_ATTRIBUTE_NORMAL)Les attributs de fichier à donner au fichier lors de sa création.
BLENNY_CMD_SHOWInteger5 (aka SW_SHOW)La disposition visuelle du fichier de payload lors de l'exécution. Un autre exemple est SW_HIDE, qui vaut 0.