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
LibPNG_OSS-Fuzz — Proyecto de investigación en seguridad sobre fuzzing de libpng con OSS-Fuzz. Incluye análisis del corpus de semillas, fuzzers personalizados de lectura/escritura y un exploit de prueba de concepto para CVE-2014-9495. | Kitploit
Herramientas/GitHubGitHub/enessar/libpng_oss-fuzz
Análisis de VulnerabilidadesAnálisis de CódigoExplotaciónFuzzingAnálisis de BinariosAprendizaje y Educación
GitHubenessar/libpng_oss-fuzz

LibPNG_OSS-Fuzz

Proyecto de investigación en seguridad sobre fuzzing de libpng con OSS-Fuzz. Incluye análisis del corpus de semillas, fuzzers personalizados de lectura/escritura y un exploit de prueba de concepto para CVE-2014-9495.

Ver Repositorio
1hace 9 mesesAún no revisado

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

Fuzzing y Análisis de Vulnerabilidades de libpng

Proyecto de Investigación en Seguridad Grupal

Acerca del Fuzzing: El fuzzing es una técnica automatizada de pruebas de software que proporciona datos inválidos, inesperados o aleatorios como entrada a un programa para descubrir errores y vulnerabilidades. El fuzzing guiado por cobertura utiliza la retroalimentación de cobertura de código para explorar inteligentemente diferentes caminos de ejecución.

Acerca de OSS-Fuzz: OSS-Fuzz es el servicio continuo de fuzzing de Google para software de código abierto. Utiliza LibFuzzer y otros motores de fuzzing para probar automáticamente proyectos críticos de código abierto e informar vulnerabilidades.

Este proyecto demuestra fuzzing guiado por cobertura, análisis de cobertura de código y explotación de vulnerabilidades utilizando el marco OSS-Fuzz de Google en la librería libpng.

Objetivo: libpng v1.6.48 (fuzzing), v1.5.20 (explotación)

Para metodología detallada e informe completo: Ver report.pdf
Para instrucciones completas: Ver Instructions.md


Resumen de Resultados

Parte 1: Análisis del Impacto del Corpus de Semillas

coverage comparaison

Parte 3: Mejoras del Fuzzer Personalizado

Mejora 1 - Fuzzer de Lectura Mejorado (submit_improve1)

  • Cobertura de Líneas: 33.02% → 34.08% (+1.06%)
  • Se añadieron llamadas a la API de transformación PNG y pruebas de casos límite
  • +74 líneas en pngread.c, +73 líneas en pngtrans.c

Mejora 2 - Fuzzer de Escritura (submit_improve2)

  • Se creó un nuevo fuzzer para la codificación PNG (operaciones de escritura)
  • Funciones de escritura: 0% → 30-50% de cobertura
  • +1,270 líneas de código previamente no probado cubiertas

coverage comparaison2

Parte 4: Explotación de CVE-2014-9495

Se explotó con éxito un desbordamiento de búfer en el heap en libpng v1.5.20:

  • Desbordamiento de entero en el procesamiento de PNG entrelazado Adam7
  • El PoC desencadena la detección de AddressSanitizer
  • Script: part4/run.poc.sh

Logros

  • Impacto del corpus de semillas: +17% de mejora en cobertura
  • Fuzzers personalizados: 2 nuevas variantes (fuzzer de lectura mejorado + fuzzer de escritura)
  • Cobertura novedosa: +1,270 líneas de código previamente no probado
  • Explotación de CVE: PoC exitoso para CVE-2014-9495

Estructura del Proyecto

root@kitploit:~
├── part1/               # Seed corpus impact analysis
│   ├── run.w_corpus.sh         # Run with seed corpus
│   ├── run.w_o_corpus.sh       # Run without seed corpus
│   └── report/                 # Coverage reports
├── part3/               # Custom fuzzer improvements
│   ├── improve1/               # Enhanced read fuzzer
│   └── improve2/               # New write fuzzer
└── part4/               # CVE-2014-9495 exploitation
    ├── run.poc.sh              # Run exploit
    └── write_exploit.c         # PoC code

Inicio Rápido

root@kitploit:~
# Part 1: Fuzzing experiments (4 hours each)
cd part1
./run.w_corpus.sh    # or ./run.w_o_corpus.sh

# Part 3: Test improvements (4 hours each)
cd part3/improve1 && ./run.improve1.sh
cd part3/improve2 && ./run.improve2.sh

# Part 4: Exploit CVE
cd part4 && ./run.poc.sh

Ver informes de cobertura:

root@kitploit:~
firefox part1/report/w_corpus/linux/index.html

Miembros del Grupo

Este proyecto de investigación en seguridad fue completado en colaboración por:

  • Mahdi Atallah
  • Rassene M'Sadaa
  • Yannik Krone
  • Yonathan Lanzmann
Descargar herramienta
MétricaCON CorpusSIN CorpusMejora
Cobertura de Líneas41.83%24.76%+17.07%
Cobertura de Ramas35.49%21.03%+14.46%
Cobertura de Funciones50.75%34.75%+16.00%