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/aflplusplus/libafl
Frameworks de Pruebas de PenetraciónAnálisis Dinámico (Sandboxing)Frameworks de ExploitsAnálisis de VulnerabilidadesFuzzingAnálisis de BinariosPapers e InvestigaciónAprendizaje y Educación
GitHubaflplusplus/libafl

LibAFL

Biblioteca avanzada de fuzzing - ¡Conecta tu Fuzzer en Rust! Escala entre núcleos y máquinas. Para Windows, Android, MacOS, Linux, no_std, ...

Ver Repositorio
2.6k4781hace 3 díasRevisado 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

LibAFL, la biblioteca de fuzzing

Logotipo de LibAFL

Biblioteca avanzada de fuzzing: ensamble sus propios fuzzers y amplíe sus funcionalidades usando Rust.

LibAFL es una colección de piezas reutilizables de fuzzers, escrita en Rust, que le brinda muchos de los beneficios de un fuzzer comercial, siendo completamente personalizable. Algunas características destacadas incluyen actualmente:

  • fast: Hacemos todo lo posible en tiempo de compilación, minimizando la sobrecarga en tiempo de ejecución. Los usuarios alcanzan 120k ejecuciones/seg en modo frida en un teléfono (usando todos los núcleos).
  • scalable: El paso de mensajes de bajo nivel, o LLMP para abreviar, permite que LibAFL escale casi linealmente entre núcleos, y a través de TCP a múltiples máquinas.
  • adaptable: Puede reemplazar cada parte de LibAFL. Por ejemplo, BytesInput es solo un posible formulario de entrada: siéntase libre de agregar una entrada basada en AST para fuzzing estructurado, y más.
  • multi plataforma: LibAFL funciona en Windows, macOS, iOS, Linux y Android, y más. LibAFL se puede compilar en modo no_std para inyectar LibAFL en objetivos oscuros como dispositivos embebidos e hipervisores.
  • traiga su propio objetivo: Admitimos modos solo binarios, como el modo Frida, así como múltiples pasos de compilación para instrumentación basada en código fuente. Por supuesto, es fácil agregar backends de instrumentación personalizados.

Conceptos principales

LibAFL es rápido, multiplataforma, compatible con no_std y escala entre núcleos y máquinas. Ofrece un crate principal que proporciona bloques de construcción para fuzzers personalizados, libafl, una biblioteca que contiene código común que se puede usar para la instrumentación de objetivos, libafl_targets, y una biblioteca que proporciona facilidades para envolver compiladores, libafl_cc. Ofrece integraciones con marcos de instrumentación populares. Actualmente, los backends compatibles son:

  • SanitizerCoverage, en libafl_targets
  • Frida, en libafl_frida
  • QEMU modo usuario y modo sistema, incluidos hooks para emulación, en libafl_qemu
  • TinyInst, en libafl_tinyinst por elbiazo

Compilación e instalación

Instalar las dependencias

  • El lenguaje de desarrollo Rust
    • Recomendamos encarecidamente no usar, por ejemplo, el paquete de su distribución Linux, ya que probablemente esté desactualizado. Por lo tanto, instale Rust directamente, las instrucciones se pueden encontrar aquí.

    • La versión mínima de Rust compatible está definida. Siempre puede verificar la versión requerida actualmente en el Cargo.toml de LibAFL:

      Si su versión instalada de Rust es anterior a la que aparece en Cargo.toml, actualice al último toolchain estable:

      root@kitploit:~
      rustup update stable
      
  • Herramientas LLVM
    • Las herramientas LLVM (incluyendo clang, clang++) son necesarias (más nuevas que LLVM 15.0.0 hasta LLVM 18.1.3) Si usa Debian/Ubuntu, nuevamente, recomendamos encarecidamente que instale el paquete desde aquí
  • Just:
    • Usamos just para compilar los fuzzers en el directorio fuzzers/. Puede encontrar instrucciones para instalarlo en su entorno en el Manual del programador de Just.

Clone el repositorio de LibAFL con

root@kitploit:~
git clone https://github.com/AFLplusplus/LibAFL

Compile la biblioteca usando

root@kitploit:~
cargo build --release

Compile la documentación de la API con

root@kitploit:~
cargo doc

Navegue por el libro de LibAFL (¡en proceso!) con (requiere mdbook)

root@kitploit:~
cd docs && mdbook serve

Comenzando

Recopilamos todos los fuzzers de ejemplo en ./fuzzers. Asegúrese de leer su documentación (y código fuente), ¡esta es la forma natural de empezar!

root@kitploit:~
just run

Puede ejecutar cada fuzzer de ejemplo con este comando, siempre que el directorio del fuzzer tenga un archivo Justfile. El fuzzer mejor probado es ./fuzzers/inprocess/libfuzzer_libpng, un fuzzer multinúcleo similar a libfuzzer que usa LibAFL para un harness de libpng.

Recursos

  • Guía de instalación
  • Documentación en línea de la API
  • El libro de LibAFL (en proceso) en línea o en el repositorio
  • Nuestro artículo de investigación
  • Nuestra charla en RC3 explicando los conceptos centrales
  • Nuestra charla en Fuzzcon Europe con una discusión paso a paso (un poco pero no tan desactualizada) sobre cómo construir algunos fuzzers de ejemplo
  • Las soluciones de Fuzzing101 y la serie de publicaciones de blog por epi
  • Publicación de blog sobre fuzzing solo binario libaf_qemu, Hacking TMNF - Fuzzing del servidor del juego, por RickdeJager.
  • Un taller introductorio de LibAFL, por Jordan Whitehead

Contribuyentes

LibAFL está escrito y mantenido por

  • Andrea Fioraldi [email protected]
  • Dominik Maier [email protected]
  • s1341 [email protected]
  • Dongjia Zhang [email protected]
  • Addison Crump [email protected]
  • Romain Malmain [email protected]

Contribuir

Consulte CONTRIBUTING.md para la guía de contribución.

Depuración

¿Su fuzzer no funciona como esperaba? Intente leer DEBUGGING.md para entender cómo depurar sus problemas.

Citar

Si usa LibAFL para su trabajo académico, cite el siguiente artículo:

root@kitploit:~
@inproceedings{libafl,
 author       = {Andrea Fioraldi and Dominik Maier and Dongjia Zhang and Davide Balzarotti},
 title        = {{LibAFL: A Framework to Build Modular and Reusable Fuzzers}},
 booktitle    = {Proceedings of the 29th ACM conference on Computer and communications security (CCS)},
 series       = {CCS '22},
 year         = {2022},
 month        = {November},
 location     = {Los Angeles, U.S.A.},
 publisher    = {ACM},
}

Licencia

Licenciado bajo Licencia Apache, Versión 2.0 o licencia MIT a su elección.
A menos que indique explícitamente lo contrario, cualquier contribución enviada intencionalmente para su inclusión en este crate por usted, según lo definido en la licencia Apache-2.0, tendrá una licencia dual como se indica arriba, sin términos ni condiciones adicionales.
Descargar herramienta