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
restler-fuzzer — RESTler es la primera herramienta de fuzzing de API REST con estado para probar automáticamente servicios en la nube a través de sus API REST y encontrar fallos de seguridad y fiabilidad en estos servicios. | Kitploit
Herramientas/GitHubGitHub/microsoft/restler-fuzzer
Escáneres de VulnerabilidadesPruebas de Seguridad de APIsSeguridad WebFuzzingSeguridad en la Nube
GitHubmicrosoft/restler-fuzzer

restler-fuzzer

RESTler es la primera herramienta de fuzzing de API REST con estado para probar automáticamente servicios en la nube a través de sus API REST y encontrar fallos de seguridad y fiabilidad en estos servicios.

Ver Repositorio
2.9k331hace 6 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

RESTler

¿Qué es RESTler?

RESTler es la primera herramienta de fuzzing de API REST con estado para probar automáticamente servicios en la nube a través de sus API REST y encontrar errores de seguridad y confiabilidad en estos servicios. Para un servicio en la nube dado con una especificación OpenAPI (anteriormente Swagger), RESTler analiza toda su especificación y luego genera y ejecuta pruebas que ejercitan el servicio a través de su API REST.

RESTler infiere inteligentemente dependencias productor-consumidor entre tipos de solicitudes a partir de la definición OpenAPI. Durante las pruebas, verifica clases específicas de errores y aprende dinámicamente cómo se comporta el servicio a partir de respuestas anteriores del servicio. Esta inteligencia permite a RESTler explorar estados de servicio más profundos alcanzables solo a través de secuencias de solicitudes específicas y encontrar más errores.

RESTler está descrito en estos artículos de investigación revisados por pares:

  1. RESTler: Fuzzing de API REST con Estado (ICSE'2019)
  2. Verificación de Propiedades de Seguridad de API REST de Servicios en la Nube (ICST'2020)
  3. Pruebas de Regresión Diferencial para API REST (ISSTA'2020)
  4. Fuzzing Inteligente de Datos de API REST (FSE'2020)

Si usas RESTler en tu investigación, por favor cita el artículo (por defecto) de ICSE'2019 (BibTeX).

RESTler incluye múltiples estrategias de generación de pruebas. Para obtener una visión comparativa completa con respecto a (i) eficiencia (es decir, qué tan rápido puede RESTler encontrar fallos) y (ii) efectividad (es decir, cuántos fallos puede encontrar RESTler en un período de tiempo dado), recomendamos comparar todos los fuzzing_mode(s) documentados, ya que cada uno proporciona un equilibrio diferente entre amplitud y profundidad de exploración del espacio de estados. También recomendamos ejecutar el modo test antes de cualquier fuzzing, como se describe a continuación, para descubrir y solucionar problemas de configuración (por ejemplo, agregar valores de parámetros de requisitos previos al diccionario) antes del fuzzing.

RESTler fue creado en Microsoft Research y aún está en desarrollo activo.

Para una visión general y demostración sobre cómo comenzar, consulta Webinar - Fuzzing para Mejorar la Seguridad y Confiabilidad de los Servicios en la Nube.

Arquitectura de RESTler

Estado de compilación

Build Status

Configuración de RESTler

RESTler fue diseñado para ejecutarse en máquinas de 64 bits con Windows o Linux. También se ha habilitado soporte experimental para macOS.

Instrucciones de compilación

Docker

En la raíz de este repositorio, ejecuta

root@kitploit:~
docker build -t restler .

El contenedor docker resultante tendrá RESTler disponible en el directorio /RESTler/restler con el binario principal Restler.

Luego puedes usar esta imagen docker como base para agregar la aplicación bajo prueba y ejecutar fuzzing dentro de contenedores docker aislados.

Local

Requisitos previos: Instala Python 3.12.8 y .NET 8.0, para tu sistema operativo correspondiente.

Crea un directorio donde quieras colocar los binarios de RESTler:

mkdir restler_bin

Cambia al directorio raíz del repositorio y ejecuta el siguiente script de Python:

python ./build-restler.py --dest_dir <full path to restler_bin above>

Nota: si obtienes el error de nuget NU1403 al compilar, una solución rápida es limpiar tu caché con este comando

dotnet nuget locals all --clear

Uso de RESTler

RESTler se ejecuta en 4 modos principales (en orden):

  1. Compilar: a partir de una definición OpenAPI JSON o YAML (y opcionalmente ejemplos), genera una gramática de RESTler. Consulta Compilación.
  2. Probar: ejecuta rápidamente todos los puntos finales+métodos en una gramática compilada de RESTler para depurar la configuración de prueba y calcular qué partes de la definición OpenAPI están cubiertas. Este modo también se llama smoketest. Consulta Pruebas. Para usar configuraciones personalizadas del motor de pruebas, consulta Configuraciones del Motor de Pruebas.
  3. Fuzz-lean: ejecuta una vez cada punto final+método en una gramática compilada de RESTler con un conjunto predeterminado de verificadores (checkers) para ver si se pueden encontrar errores rápidamente. Consulta Fuzzing.
  4. Fuzz: caza de errores: explora una gramática de fuzzing de RESTler en modo inteligente de búsqueda en amplitud (modo de búsqueda más profunda) para encontrar más errores. Advertencia: Este tipo de fuzzing es más agresivo y puede causar interrupciones en el servicio bajo prueba si el servicio está mal implementado (por ejemplo, el fuzzing podría crear fugas de recursos, degradación de rendimiento, corrupción de backend, etc.). Consulta Fuzzing.

Inicio rápido

Para una introducción rápida con ejemplos simples, consulta este Tutorial.

Para probar rápidamente RESTler en tu API, consulta Inicio rápido.

Errores encontrados por RESTler

Actualmente hay dos categorías de errores encontrados por RESTler.

  • Código de error: actualmente, cada vez que se recibe una respuesta con código de estado 500 ("Error interno del servidor"), se reporta un error.
  • Verificadores (Checkers): cada verificador intenta desencadenar errores específicos ejecutando solicitudes adicionales dirigidas o secuencias de solicitudes en ciertos puntos durante el fuzzing, determinados por el contexto. Algunos verificadores intentan encontrar 500 adicionales, mientras que otros intentan encontrar errores lógicos específicos como fugas de recursos o violaciones de jerarquía. Para una descripción completa de los verificadores, consulta Verificadores.

Cuando se encuentra un error, RESTler reporta los errores clasificados en cubos de errores (bug buckets) y proporciona un registro de reproducción que se puede usar para reproducir el error (consulta Reproducción).

Temas avanzados

Para consejos sobre cómo usar RESTler de manera efectiva, consulta Mejores prácticas y Mejora de la cobertura de API.

Consulta también estas Preguntas frecuentes.

Si estás interesado en usar RESTler a escala como parte de tu canalización CI/CD, consulta el servicio autoalojado de pruebas de fuzzing de API REST.

Preguntas

Si tienes una solicitud/sugerencia/pregunta, por favor crea un issue. Consulta Contributing.md para instrucciones.

Contribuciones

Este proyecto acepta contribuciones y sugerencias. La mayoría de las contribuciones requieren que aceptes un Acuerdo de Licencia para Contribuyentes (CLA) que declare que tienes el derecho, y de hecho lo haces, de otorgarnos los derechos para usar tu contribución. Para más detalles, visita https://cla.microsoft.com.

Cuando envías una solicitud de extracción (pull request), un CLA-bot determinará automáticamente si necesitas proporcionar un CLA y decorará el PR adecuadamente (por ejemplo, etiqueta, comentario). Simplemente sigue las instrucciones proporcionadas por el bot. Solo necesitarás hacer esto una vez en todos los repositorios que usen nuestro CLA.

Este proyecto ha adoptado el Código de Conducta de Código Abierto de Microsoft. Para obtener más información, consulta las Preguntas frecuentes sobre el Código de Conducta o contacta a [email protected] con cualquier pregunta o comentario adicional.

Para más información, consulta Contributing.md.

Marcas comerciales

Este proyecto puede contener marcas comerciales o logotipos de proyectos, productos o servicios. El uso autorizado de marcas comerciales o logotipos de Microsoft está sujeto y debe seguir las Directrices de Marcas Comerciales y Marca de Microsoft. El uso de marcas comerciales o logotipos de Microsoft en versiones modificadas de este proyecto no debe causar confusión ni implicar patrocinio de Microsoft. Cualquier uso de marcas comerciales o logotipos de terceros está sujeto a las políticas de esos terceros.

Recopilación de datos

El software puede recopilar información sobre ti y sobre tu uso del software y enviarla a Microsoft. Microsoft puede usar esta información para proporcionar servicios y mejorar nuestros productos y servicios. Puedes desactivar la telemetría como se describe en el repositorio. También hay algunas características en el software que pueden permitirte a ti y a Microsoft recopilar datos de los usuarios de tus aplicaciones. Si usas estas características, debes cumplir con la ley aplicable, incluida la provisión de avisos apropiados a los usuarios de tus aplicaciones junto con una copia de la declaración de privacidad de Microsoft. Nuestra declaración de privacidad se encuentra en https://go.microsoft.com/fwlink/?LinkID=824704. Puedes obtener más información sobre la recopilación y el uso de datos en la documentación de ayuda y en nuestra declaración de privacidad. Tu uso del software constituye tu consentimiento a estas prácticas.

Para más información, consulta Telemetry.md.

Reporte de problemas de seguridad

Los problemas de seguridad y los errores deben informarse de forma privada, por correo electrónico, al Centro de Respuesta de Seguridad de Microsoft (MSRC) en [email protected]. Deberías recibir una respuesta dentro de las 24 horas. Si por alguna razón no lo haces, por favor haz un seguimiento por correo electrónico para asegurarte de que recibimos tu mensaje original. Más información, incluida la clave MSRC PGP, se puede encontrar en el Security TechCenter.

Para más detalles, consulta Security.md.

Privacidad y cookies

https://go.microsoft.com/fwlink/?LinkId=521839

Descargar herramienta