Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
blenny — Un sistema de entrega de payloads que incrusta payloads en el archivo de icono de un ejecutable. | Kitploit
Herramientas/GitHubGitHub/frank2/blenny
Generación de PayloadsEsteganografíaRed TeamingDesarrollo de PayloadsAtaque Adversario
GitHubfrank2/blenny

blenny

Un sistema de entrega de payloads que incrusta payloads en el archivo de icono de un ejecutable.

Ver Repositorio
7410hace 2 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

BLENNY!

Blenny es una herramienta de prueba de concepto de ofuscación de payloads para Windows que oculta datos de payload ejecutables dentro del icono del ejecutable. Debe su nombre al pez blenio de dientes de sable, que imita el comportamiento y la apariencia de los peces limpiadores para cazar a peces desprevenidos.

¿Por qué?

No recuerdo exactamente cómo va la historia, pero un hacker llamado retr0id (@DavidBuchanan314) propuso la idea de ocultar un payload dentro del icono de un ejecutable. Debido a varias peculiaridades de los archivos PNG—y a que los archivos de icono de Windows pueden contener datos PNG en su interior—me di cuenta de que podía implementar esta idea con bastante facilidad; solo requeriría un poco de esfuerzo. Creé la biblioteca Facade—una biblioteca con el propósito específico de generar payloads en archivos PNG—para este mismo fin.

El resultado final es un archivo de payload compacto y un sistema de compilación que se puede utilizar para personalizar un payload básico de tipo dropper/ejecutor para Windows.

Adquisición

Blenny utiliza la biblioteca Facade para crear payloads a partir de archivos de icono, por lo que al clonar el repositorio, es necesario inicializar el submódulo (y sus submódulos):

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

Esto debería ser todo lo que necesitas para inicializar el repositorio para la compilación.

Compilación

Este proyecto fue diseñado literalmente pensando en CMake, por lo que antes de compilar este proyecto, es un requisito absoluto obtener e instalar CMake. Probablemente no funcionará de otra manera (a menos que estés realmente empeñado en configurar manualmente todas las definiciones de CMake por ti mismo). También necesitarás una copia de Visual Studio para compilar el proyecto.

Este proyecto utiliza numerosas variables de CMake para configurar el proceso de compilación. Para obtener un payload de demostración básico, en el que una adorable oveja aterrizará en tu escritorio, puedes ejecutar lo siguiente en el directorio principal del proyecto:

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

Por defecto, esto extrae un ejecutable llamado "blenny.exe" del icono del ejecutable al directorio temporal del usuario actual y luego lo ejecuta. El payload predeterminado es el DesktopPet de @AdrianoTiger, una reconstrucción dedicada del clásico esheep.exe de los años 90.

¡Todas las variables que hacen posible esto son personalizables! Es necesario establecer una variable de payload (BLENNY_TRAILING_PAYLOAD, BLENNY_TEXT_PAYLOAD, BLENNY_ZTEXT_PAYLOAD o BLENNY_STEGO_PAYLOAD). Esto controla cómo se introduce finalmente el payload en el icono. Consulta la biblioteca Facade para obtener detalles sobre estas técnicas. Por ejemplo, para usar tu propio payload, haz lo siguiente:

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

Aquí tienes una tabla de todas las diferentes opciones de configuración que puedes establecer, sus valores predeterminados y qué hacen.

Descargar herramienta
OpciónTipoValor predeterminadoPropósito
BLENNY_PAYLOAD_FILECadena"${PROJECT_SOURCE_DIR}/res/defaultpayload.exe"El payload que se incrustará en el archivo de icono. Nota: Debido a que la técnica de ejecución final es ShellExecuteA, este puede ser cualquier archivo que pueda lanzarse desde Explorer, ¡como un script por lotes!
BLENNY_ICON_FILECadena"${PROJECT_SOURCE_DIR}/res/defaulticon.ico"El icono que se usará para el ejecutable y en el que se incrustará el payload. Nota: ¡No todos los iconos funcionan! El archivo de icono debe contener una sección PNG. ¡Comprueba los datos del icono de destino en un editor hexadecimal para ver si se incluye una imagen PNG!
BLENNY_TRAILING_PAYLOADBooleanoOFFHabilita un payload de datos al final dentro del archivo PNG del icono.
BLENNY_TEXT_PAYLOADBooleanoOFFHabilita un payload en la sección tEXt dentro del archivo PNG del icono.
BLENNY_ZTEXT_PAYLOADBooleanoOFFHabilita un payload en la sección zTXt dentro del archivo PNG del icono, que es un payload tEXt comprimido.
BLENNY_STEGO_PAYLOADBooleanoOFFHabilita un payload esteganográfico dentro del archivo PNG del icono. Nota: debido a que el tamaño de imagen de la mayoría de los iconos está limitado a 256x256, ¡no todos los payloads cabrán en esta opción!
BLENNY_PAYLOAD_KEYWORDCadena"blenny"Para payloads de texto/ztext, establece la palabra clave que etiqueta los datos del payload.
BLENNY_ADMINBooleanoOFFHabilita la palabra clave runas para ejecutar el payload como administrador.
BLENNY_PATHCadena"%TEMP%"La ruta donde se almacena el payload antes de ejecutarlo. Las variables de entorno se expanden en el momento de la ejecución.
BLENNY_FILENAMECadena"blenny"El nombre de archivo que se le dará al payload al extraerlo.
BLENNY_RANDOM_FILENAMEBooleanoOFFHabilita la generación de un nombre de archivo aleatorio para el payload al extraerlo.
BLENNY_RANDOM_FILENAME_LENGTHEntero8Ajusta la longitud del nombre de archivo aleatorio.
BLENNY_RANDOM_FILENAME_RANDOM_LENGTHBooleanoOFFAsigna una longitud aleatoria al nombre de archivo al extraerlo.
BLENNY_PAYLOAD_ARGSCadena""Los argumentos que se le pasarán al archivo de payload al ejecutarlo.
BLENNY_FILE_ATTRIBUTESEntero0x80 (también conocido como FILE_ATTRIBUTE_NORMAL)Los atributos de archivo que se asignarán al archivo al crearlo.
BLENNY_CMD_SHOWEntero5 (también conocido como SW_SHOW)El modo de visualización del archivo de payload al ejecutarse. Otro ejemplo es SW_HIDE, que es 0.