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
Herramientas/GitHubGitHub/caoweiquan322/notenough
Forensia de MemoriaAnálisis de VulnerabilidadesExplotaciónIngeniería InversaFuzzingExplotación de Binarios
GitHubcaoweiquan322/notenough

NotEnough

Esta herramienta calcula el complicado histograma Huffman canónico para CVE-2023-4863.

Ver Repositorio
2532hace 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

Herramienta de hackeo de tablas de Huffman

Esta herramienta calcula un histograma de Huffman canónico engañoso, capaz de provocar una escritura OOB (fuera de los límites) en la biblioteca libwebp vulnerable (es decir, libwebp <= 1.3.1). Esta vulnerabilidad se conoce como CVE-2023-4863 o CVE-2023-41064. Podemos desbordar la tabla de Huffman preasignada en un máximo de 132 entradas.

La lógica es que libwebp asume que el histograma de Huffman contenido en cada imagen webp está bien formado. Es decir, el árbol de decodificación debe ser un árbol completo. Con esta suposición, el grupo de libwebp aprovechó una herramienta enough para estimar el tamaño máximo de memoria necesario para construir la tabla de Huffman de decodificación (una estructura potente para decodificar rápidamente los códigos Huffman canónicos). Sin embargo, los atacantes pueden construir un árbol incompleto para superar este límite de memoria y, de este modo, desbordar la memoria preasignada.

Esta herramienta de hackeo se creó ajustando enough para admitir árboles incompletos.

Compila el código con el siguiente comando:

root@kitploit:~
gcc -o NotEnough ./main.c

Para una tabla de Huffman con 40 símbolos, una tabla raíz de 8 bits y una profundidad máxima de 15, el número máximo de entradas de la tabla es 410. Sin embargo, al construir un árbol incompleto, el número de entradas de la tabla podría ser 542. Prueba el siguiente comando:

root@kitploit:~
./NotEnough 40 8 15

Un ejemplo de estos árboles es el siguiente:

Árbol inválido

Nota: hemos podado las ramas sin hojas para mayor brevedad.

Después puedes usar la herramienta craft para construir una imagen webp eficaz que desborde la herramienta dwebp (versión <= 1.3.1). Cambia el histograma de códigos Huffman code_lengths_counts[4] a {0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 5, 9, 17, 1, 1, 3} en consecuencia y recompila la herramienta:

root@kitploit:~
vim craft.c    # Change huffman code histogram accordingly, i.e. about line 495.
gcc -o craft craft.c
./craft -o bad_542.webp

Consulta el blog de @benhawkes para hacerte una mejor idea de CVE-2023-4863.

Descargar herramienta