Ir al contenido
Inicio / Servicios / Pentest de API
Pilar I · Offensive Security

Pentest de API REST, GraphQL y gRPC

El pentest de API es la prueba de intrusión de interfaces REST, GraphQL y gRPC que explota fallas de autorización (BOLA), autenticación, mass assignment, exposición de datos y ausencia de rate limiting, siguiendo el OWASP API Security Top 10, para probar con evidencias qué obtendría un atacante desde sus endpoints.

Qué es un pentest de API y en qué se diferencia del pentest web

El pentest de API es una prueba de seguridad de API realizada desde la óptica de un atacante que habla directamente con el backend, sin pasar por la interfaz gráfica. Mientras el pentest web tradicional sigue los flujos que expone el navegador, la prueba de API examina cada operación documentada — y las no documentadas — como un contrato: quién puede llamarla, con qué parámetros, sobre qué objetos y con qué frecuencia.

Esa diferencia importa porque las fallas más comunes en APIs no son inyecciones clásicas, sino errores de lógica de autorización: un endpoint que devuelve el pedido de otro cliente al cambiar un identificador, un campo interno aceptado en el cuerpo de un PUT, una mutation GraphQL sin verificación de rol. Los scanners rara vez las encuentran, porque exigen entender el modelo de negocio detrás de cada recurso. Por eso Berghem combina automatización para inventario y cobertura con explotación manual para autorización, lógica y encadenamiento de vulnerabilidades.

El pentest de API puede contratarse de forma aislada o como parte del Ethical Hacking Test (EHT), cuando la aplicación web o móvil que consume la API también está en el alcance.

Qué incluye

•APIs REST, GraphQL, gRPC, SOAP y webhooks
•OWASP API Security Top 10 (2023) como base
•BOLA/IDOR, BFLA y autorización por propiedad
•OAuth 2.0, OpenID Connect, JWT, API keys y mTLS
•Rate limiting, abuso de flujos y consumo de recursos
•Inventario de endpoints, versiones antiguas y shadow APIs
•Informe con PoC reproducible, CVSS y retest
Superficie de ataque

Qué probamos: las diez categorías del OWASP API Security Top 10

Cada categoría del OWASP API Security Top 10 se convierte en un conjunto de casos de prueba ejecutados en todos los endpoints del alcance, con todos los perfiles de acceso disponibles.

API1 · BOLA

Broken Object Level Authorization

Intercambiamos identificadores de objetos (pedidos, cuentas, documentos, usuarios) entre sesiones de clientes distintos y verificamos si el backend valida la propiedad del recurso. Es la falla más frecuente en APIs y la que más expone datos personales a escala.

API2 · Autenticación

Broken Authentication

Evaluamos emisión y validación de tokens JWT (algoritmo, firma, expiración, claims), flujos OAuth 2.0 y OIDC, API keys estáticas, refresh tokens, recuperación de contraseña y protección contra credential stuffing y fuerza bruta en los endpoints de login.

API3 · Propiedades

Autorización por propiedad y mass assignment

Probamos si el cliente puede leer o escribir campos que no debería: el precio de un pedido, el rol de un usuario, el estado de una aprobación. El mass assignment ocurre cuando el backend mapea el cuerpo de la petición directo al modelo sin lista de campos permitidos.

API4 · Recursos

Consumo de recursos y rate limiting

Medimos límites de peticiones por cliente, tamaño de payload, paginación, uploads y operaciones costosas. Sin rate limiting, un atacante enumera datos, fuerza OTPs cortos y genera costos de infraestructura o de servicios de terceros pagados por llamada.

API5 · BFLA

Broken Function Level Authorization

Invocamos operaciones administrativas y de otros perfiles (aprobar, reembolsar, exportar, eliminar) con credenciales comunes, alterando método HTTP, ruta o parámetros de versión para verificar si el control de acceso se aplica por función y no solo en la interfaz.

API6 · Flujos

Acceso irrestricto a flujos sensibles

Analizamos flujos de negocio que pueden abusarse al automatizarse — compra, registro, cupón, reserva, referidos — y verificamos si existen controles contra bots y uso masivo, además de protección de la secuencia esperada entre etapas.

API7 · SSRF

Server-Side Request Forgery

Donde la API recibe URLs (webhooks, importación, generación de previews), verificamos si el servidor puede ser inducido a acceder a redes internas, metadatos de nube o servicios no expuestos, un vector recurrente de escalamiento en entornos cloud.

API8 · Configuración

Security Misconfiguration

Cubrimos CORS permisivo, mensajes de error detallados, métodos HTTP innecesarios, TLS débil, cabeceras ausentes, introspección GraphQL habilitada en producción, documentación Swagger expuesta y configuraciones por defecto de gateways y frameworks.

API9 · Inventario

Improper Inventory Management

Mapeamos versiones antiguas (/v1 aún activa), entornos de pruebas alcanzables, endpoints sin documentación e integraciones olvidadas. Las shadow APIs y zombie APIs suelen conservar fallas ya corregidas en la versión actual.

API10 · Terceros

Consumo inseguro de APIs

Verificamos cómo su API trata datos provenientes de socios y proveedores: validación, límites de redirección, confianza en respuestas no verificadas. Una integración comprometida no debe convertirse en un camino directo a su backend.

Por protocolo

Cómo cambia la prueba entre REST, GraphQL y gRPC

Las categorías de OWASP son las mismas, pero la forma de explotarlas depende del protocolo. Ajustamos herramientas, casos de prueba y criterios de cobertura para cada estilo de API presente en el alcance.

REST · OpenAPI

APIs REST

Partimos de la especificación OpenAPI/Swagger o de colecciones Postman para generar la matriz endpoint × método × perfil. El foco es BOLA/IDOR, mass assignment en PUT/PATCH, manipulación de verbos, versionado, caché de respuestas autenticadas y validación de contenido.

GraphQL · Schema

APIs GraphQL

Probamos introspección y schema expuesto, autorización por campo y por resolver, aliasing y batching para eludir rate limiting, consultas anidadas que agotan el servidor, mutations sin verificación de rol y fuga de datos por relaciones entre tipos.

gRPC · Protobuf

APIs gRPC

Evaluamos reflexión del servidor, definiciones .proto, autenticación por metadatos, uso de TLS y mTLS, autorización en streams bidireccionales y deserialización de mensajes. Las herramientas web comunes no cubren gRPC, por eso usamos tooling específico y casos manuales.

Webhooks · Eventos

Webhooks, SOAP y APIs de socios

Cubrimos firma y replay de webhooks, validación de origen, SOAP con WS-Security y XML, y APIs expuestas a socios y fintechs — incluidos los requisitos técnicos de Open Finance Brasil cuando aplican a su alcance.

Metodología

Cómo realizamos un pentest de API

Un pentest de API bien hecho es mayoritariamente manual y orientado por perfiles de acceso. Preferimos trabajar en modo grey-box, con documentación y credenciales de cada rol, porque así se encuentran fallas de autorización en profundidad.

Fase 01

Alcance y documentación

Relevamos endpoints, versiones, entornos, perfiles de usuario, tenants e integraciones. Recibimos OpenAPI, schemas GraphQL, archivos .proto o colecciones Postman y definimos ventanas de prueba, cuentas de prueba y canal para hallazgos críticos.

Fase 02

Reconocimiento e inventario

Comparamos lo documentado con lo que realmente responde: rutas ocultas, versiones anteriores, parámetros no listados, entornos de pruebas alcanzables. Aquí aparecen las shadow APIs que nadie recuerda.

Fase 03

Autenticación y sesión

Analizamos el ciclo de vida de las credenciales: emisión, alcance y validación de tokens, rotación de refresh tokens, revocación, políticas de contraseña y OTP, y el comportamiento de la API ante tokens expirados, alterados o de otro cliente.

Fase 04

Autorización y lógica de negocio

Ejecutamos la matriz completa de autorización horizontal (entre clientes) y vertical (entre roles) en cada operación, seguida de abuso de flujos, mass assignment, race conditions y encadenamiento de fallas para demostrar impacto real.

Fase 05

Informe y retest

Cada hallazgo incluye petición y respuesta reproducibles, CVSS, impacto de negocio y recomendación específica para el framework en uso. Tras la corrección, retesteamos los ítems y emitimos evidencia de cierre para auditoría o cliente final.

Inversión

Qué determina el costo y el plazo de un pentest de API

El esfuerzo de una prueba de seguridad de API se dimensiona por la superficie y por la complejidad del modelo de autorización, no por el número de sistemas. Estos son los factores que más influyen en la propuesta.

Factor 01

Cantidad de operaciones

Endpoints × métodos en REST, queries y mutations en GraphQL, servicios y métodos en gRPC. Cada operación debe probarse con todos los perfiles, así que el número de operaciones es el principal multiplicador de horas.

Factor 02

Perfiles, tenants y roles

Cuantos más roles (cliente, operador, administrador, socio) y más aislamiento entre tenants exige el negocio, mayor es la matriz de autorización a recorrer — y mayor la probabilidad de encontrar BOLA y BFLA relevantes.

Factor 03

Protocolos y autenticación

Mezclar REST, GraphQL y gRPC en el mismo alcance, o usar flujos OAuth complejos con múltiples proveedores de identidad, aumenta la preparación y el tooling necesario. mTLS y firma de mensajes también exigen configuración dedicada.

Factor 04

Documentación y modalidad

Grey-box con especificación actualizada y credenciales por perfil es más eficiente y profundo que black-box, que gasta horas en descubrimiento. La inclusión de retest y la integración con pipeline DevSecOps también entran en el dimensionamiento.

Conformidad

Cuándo un pentest de API es exigido o esperado

Las APIs concentran los datos que la regulación protege. En varios sectores, la prueba de intrusión en APIs dejó de ser buena práctica y pasó a ser evidencia esperada por auditores, reguladores y clientes corporativos.

En el ecosistema de pagos, PCI DSS exige pruebas de intrusión periódicas sobre el entorno de datos de tarjeta, y las APIs que procesan o transmiten esos datos forman parte de ese alcance. La LGPD brasileña, a su vez, exige medidas técnicas aptas para proteger datos personales — y un pentest de API es la forma más directa de demostrar que los endpoints que exponen esos datos no permiten acceso indebido.

Para instituciones financieras en Brasil, las resoluciones del BACEN/CMN sobre seguridad cibernética, incluida la 4.893, establecen la política de seguridad y los controles esperados, mientras Open Finance Brasil define requisitos técnicos específicos para las APIs compartidas entre participantes. Vea nuestra página de seguridad en Open Finance para ese ecosistema.

Las APIs también son el canal por el cual agentes de IA y aplicaciones con LLM ejecutan acciones. Cuando un agente llama a su API con credenciales delegadas, las fallas de autorización ganan un nuevo vector de abuso — tratamos ese escenario en seguridad en agentes de IA.

Preguntas frecuentes

Preguntas frecuentes sobre pentest de API

¿Cuál es la diferencia entre pentest de API y pentest web?
El pentest web sigue los flujos que expone el navegador; el pentest de API habla directamente con el backend, probando cada operación con todos los perfiles de acceso, incluso endpoints que la interfaz no usa. El foco es autorización, lógica de negocio y rate limiting, no solo inyecciones.
¿Necesito entregar documentación y credenciales para el pentest de API?
No es obligatorio, pero es muy recomendable. Con OpenAPI, schema GraphQL o archivos .proto y credenciales de cada perfil, la prueba cubre la matriz de autorización en profundidad en menos horas. En black-box, parte del esfuerzo se va en descubrimiento, lo que reduce la cobertura de lógica.
¿El pentest de API cubre GraphQL y gRPC o solo REST?
Cubre los tres, además de SOAP y webhooks. Cada protocolo tiene casos de prueba propios: introspección, batching y consultas anidadas en GraphQL; reflexión, metadatos y mTLS en gRPC; verbos, versionado y mass assignment en REST. El tooling se ajusta al alcance.
¿Cuánto tiempo toma un pentest de API?
Depende de la cantidad de operaciones, perfiles de acceso y protocolos en el alcance. Una API con pocas decenas de endpoints y dos perfiles es un proyecto corto; plataformas multi-tenant con cientos de operaciones requieren semanas. Definimos el plazo en la propuesta, tras el relevamiento inicial.
¿El pentest de API sirve como evidencia para PCI DSS, BACEN o LGPD?
Sí. El informe incluye metodología, alcance, hallazgos con CVSS, evidencias reproducibles y resultado del retest, en el formato que auditores y QSAs esperan. Para alcances regulados, alineamos los casos de prueba al requisito específico antes de empezar, evitando retrabajo en la auditoría.

¿Quiere saber qué entrega su API a un atacante?

En una conversación de 30 minutos mapeamos endpoints, perfiles y protocolos de su alcance y proponemos el formato de pentest de API más eficiente para su caso.

Contáctenos