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
debloat — Una herramienta GUI y CLI para eliminar el bloat de los ejecutables | Kitploit
Herramientas/GitHubGitHub/squiblydoo/debloat
Ingeniería InversaAnálisis de MalwareForensia DigitalAnálisis de Binarios
GitHubsquiblydoo/debloat

debloat

Una herramienta GUI y CLI para eliminar el bloat de los ejecutables

Ver Repositorio
45337hace 2 mesesRevisado 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

debloat

Debloat

Debloat es una herramienta GUI y CLI para eliminar la basura excesiva de ejecutables inflados.

Con "basura excesiva" me refiero a 100 - 800 MB de bytes basura añadidos a un binario para evitar que entre en un sandbox. Este método de añadir basura se llama "inflar" o "bombear" un binario. Debloat actualmente maneja las 10 tácticas de inflado más comunes.

Al estar construida con Python, la aplicación se puede aprovechar fácilmente en otros flujos de trabajo. Actualmente, debloat es utilizada por AssemblyLine de CCCS y MWDB de CERT Polska.

El programa puede compilarse para Windows, MacOS y Linux. La GUI y la CLI tienen opciones mínimas: se pretende que sea lo más simple posible y la lógica dentro del programa maneja los diferentes casos de uso automáticamente.

Los binarios compilados ya están incluidos en los Releases.

Debloat se puede instalar usando pip install debloat. Usa debloat para lanzar la CLI y debloat-gui para lanzar la GUI.

Para usuarios avanzados, Debloat también se puede importar en otros scripts y las funciones de procesamiento se pueden llamar individualmente.

¿Cómo usar la GUI?

La GUI de Debloat pretende ser lo más intuitiva posible. Al iniciarla, puedes arrastrar y soltar un archivo inflado en la barra de texto y pulsar el botón "Procesar archivo". Alguna información técnica se imprimirá en el cuadro de texto desplazable y el archivo sin inflado se escribirá en el directorio del que se tomó el archivo. ¿Suena fácil? ¡Lo es!

Procesar archivos tomará unos segundos.
image

¿Cómo usar la CLI?

Después de instalar con pip install debloat usa el comando debloat.
debloat puede aceptar dos argumentos. El primer argumento es obligatorio: el archivo a debloat. El segundo argumento es opcional: la ubicación de salida. Cuando no se proporciona una salida, se escribirá en el mismo directorio que el archivo original.

La GUI también se puede lanzar desde la CLI usando el comando debloat-gui.

¿Siempre funciona?

Aún no. Según mi análisis reciente, debloat es capaz de eliminar la basura de archivos inflados el 97.8% de las veces.

En versiones anteriores, debloat podía eliminar accidentalmente demasiado del binario. Eso ya no ocurre a menos que uses la opción "--last-ditch". Si alguna vez necesitas esta opción, considera compartir la muestra para un análisis adicional. Esta opción se ha añadido ahora a la GUI. Funcionalmente, lo que hace la función es eliminar todo el overlay, si lo hay. En algunos casos esto es necesario ya que no se encontró ningún patrón para la basura---esto es más común en muestras que no comprimen bien.

Casos de uso (Imágenes de Malcat)

Soporte completo

  • Inflado añadido al final de un PE firmado.
    En la imagen de abajo, el inflado se ha añadido al final del ejecutable.
    Screenshot 2023-02-11 at 3 32 36 PM

  • Ejecutable empaquetado firmado o sin firmar.
    En la imagen de abajo, el inflado se ha añadido al ejecutable después del empaquetado.
    Screenshot 2023-02-11 at 3 44 10 PM

  • Ejecutable firmado incluye inflado en la sección .rsrc del PE.
    En la imagen de abajo, el inflado se identifica en la sección .rsrc y se elimina del PE.
    Screenshot 2023-02-11 at 3 35 21 PM

  • Casos donde el inflado se añade dentro de una sección del PE.
    En la imagen de abajo, el inflado se ha incluido en una sección del PE llamada [0].
    Screenshot 2023-02-11 at 3 26 52 PM

  • Casos donde el ejecutable es un ejecutable Nullsoft Scriptable Installer System (NSIS, también conocido como Nullsoft) Estos exe son instaladores que pueden contener uno o más archivos. Los archivos contenidos pueden ser maliciosos o no. (A veces los actores añaden archivos simplemente para aumentar el tamaño del archivo.) Todos los archivos dentro del instalador se extraen a un nuevo directorio. El directorio también contiene el script del instalador, que se puede consultar para determinar qué archivos pueden ser maliciosos. En la imagen de abajo, Malcat ha identificado el ejecutable como un instalador NSIS.

Soporte parcial

  • Casos donde la basura es demasiado aleatoria y la entropía es demasiado alta. En estos casos, una opción/interruptor llamado "--last-ditch"

Otros casos de uso

Hay casos de uso donde la herramienta no funciona. Sin embargo, planeo resolverlos antes de publicar demasiado sobre ellos.

¿Por qué?

Parece haber un número limitado de herramientas para procesar fácilmente ejecutables inflados. Las dos herramientas que más he visto son “foremost”, que está pensada para recuperar binarios de una imagen de disco, y “pecheck”.

Foremost funciona mejor en casos donde los bytes basura son nulos (0x00) y tiene dificultades cuando el binario tiene una firma falsa o real. Su uso para eliminar inflado de archivos no es su propósito original.

Pecheck se ha desarrollado durante más de 14 años y tiene algunas opciones de línea de comandos confusas. Eliminar contenido inflado no es la función principal del script. Pecheck debe combinarse con otra herramienta (disitool) para manejar ejecutables firmados. En mi experiencia, hay otras ocasiones en las que pecheck puede confundirse y devolver un ejecutable del doble de tamaño que el ejecutable inflado original. Todos estos factores parecen aceptables si manejas un número pequeño de binarios, pero a medida que aumentan el número de binarios y métodos, se necesita una herramienta específica para eliminar inflado.

Binary Refinery es una herramienta increíble. Fue escrita con la intención de ser un CyberChef de la línea de comandos. Aunque ambas herramientas son increíbles, ambas tienen una limitación que requiere que el usuario sepa qué fórmulas deben aplicarse.

Existen buenos métodos manuales sólidos para eliminar el inflado de los binarios, pero estos métodos pueden ser tediosos y no todos los analistas tienen las habilidades para hacerlo. Esta herramienta elimina la carga de tener que saber cómo quitar el inflado manualmente. Además, permite una mejor escala. Los principios utilizados en el script permiten una mejor escala si se desea automatización.

¿Cómo compilar?

Sigue los comandos de compilación apropiados para tu plataforma. La principal diferencia entre los comandos de compilación es el formato del icono.
MacOS
pyinstaller --onefile --noconsole --additional-hooks-dir=./hook --icon=debloat.icns gui.py

Windows
pyinstaller --onefile --noconsole --additional-hooks-dir=./hook --icon=debloat.ico gui.py

Linux
pyinstaller --onefile --noconsole --icon=debloat.ico --collect-all tkinterdnd2 gui.py

¿Quieres discutir?

Considera unirte al Discord de debloat.

Créditos

Un gran reconocimiento a Jesko Hüttenhain, creador de Binary Refinery. La extracción de NSIS se basa en su ingeniería inversa del formato de archivo NSIS. Echa un vistazo a Binary Refinery si no lo has hecho.

¿Hacia dónde va este proyecto a continuación?

Procesamiento por lotes: procesar todos los archivos de un directorio y producir un informe.

Mejor soporte para usar métodos de procesamiento fuera de debloat.

Soporte para debloat sin descomprimir.

Descargar herramienta
image